0Pricing
Security+ Academy · Lektion

DevSecOps: Sicherheit in Pipelines nach links verlagern

Integrieren Sie SAST, DAST, Container-Scans und IaC-Sicherheitsprüfungen in CI/CD-Pipelines, damit Sicherheits-Gates bei jedem Commit automatisch durchgesetzt werden.

DevSecOps: Sicherheit in Pipelines nach links verlagern ist eine kostenlose Security+ Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Security+ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Security+ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was bedeutet „Security nach links verschieben“?

Security nach links zu verschieben bedeutet, Sicherheitsaktivitäten früher im Softwareentwicklungslebenszyklus zu integrieren – in der IDE der Entwickler, bei Code-Reviews und in der CI/CD-Pipeline –, statt die Sicherheit erst als letzte Hürde vor dem Deployment zu prüfen. Traditionelle Sicherheitsprüfungen fanden am Ende des Entwicklungszyklus statt, wodurch die Behebung teuer und zeitaufwendig wurde. Das Erkennen einer Schwachstelle während der Entwicklung kostet für ihre Behebung ungefähr 100-mal weniger, als wenn sie erst nach einem Sicherheitsvorfall in der Produktion entdeckt wird.

Was ist DevSecOps?

DevSecOps erweitert das DevOps-Modell, indem Sicherheit während des gesamten SDLC als gemeinsame Verantwortung von Entwicklungs-, Betriebs- und Sicherheitsteams integriert wird. Ziel ist es, Sicherheitstests zu automatisieren, sodass sie in jeder Phase ausgeführt werden, ohne die Bereitstellung zu verlangsamen. Sicherheit wird dadurch zu einer kontinuierlichen Eigenschaft der Pipeline statt zu einer einmaligen Prüfstufe. In ausgereiften DevSecOps-Programmen erhalten Entwickler innerhalb von Sekunden nach dem Schreiben von Code Sicherheitsfeedback und nicht erst Wochen später nach einer manuellen Prüfung.

SAST: Statische Anwendungssicherheitstests

SAST (Static Application Security Testing) analysiert Quellcode, Bytecode oder Binärdateien, ohne die Anwendung auszuführen. SAST-Tools suchen nach Mustern, die auf Schwachstellen hinweisen: SQL-Konkatenation, nicht bereinigte Ausgaben, die Verwendung gesperrter Funktionen, fest codierte Zugangsdaten und unsichere kryptografische Verfahren. SAST wird in der CI-Pipeline bei jedem Commit ausgeführt und erkennt Probleme, bevor sie die Qualitätssicherung oder die Produktion erreichen. Zu den verbreiteten Tools gehören Semgrep, SonarQube, Checkmarx und Veracode.

# Semgrep SAST rule example:
# Detect raw SQL string concatenation (SQL injection risk):
# rules:
#   - id: sql-injection-string-concat
#     pattern: |
#       $QUERY = '...' + $USER_INPUT
#       $DB.execute($QUERY)
#     message: 'SQL injection risk: use parameterized queries'
#     severity: ERROR
#     languages: [python]

# Running Semgrep in CI:
# semgrep --config auto --error src/
# -> Fails build if ERROR severity findings found

DAST: Dynamische Anwendungssicherheitstests

DAST (Dynamic Application Security Testing) testet eine laufende Anwendung, indem schädliche Payloads gesendet und die Antworten beobachtet werden – dabei wird das Verhalten echter Angreifer simuliert. Im Gegensatz zu SAST findet DAST Schwachstellen, die erst zur Laufzeit auftreten: Fehler bei der Authentifizierung, Probleme bei der Sitzungsverwaltung, Fehler in der Geschäftslogik und Injection-Schwachstellen in komplexen Datenflüssen. Zu den verbreiteten DAST-Tools gehören OWASP ZAP (kostenlos), Burp Suite Enterprise und Acunetix. DAST wird in der Pipeline gegen eine Staging-Umgebung ausgeführt.

# OWASP ZAP automated DAST in CI pipeline:
# docker run -t owasp/zap2docker-stable zap-baseline.py \
#   -t https://staging.myapp.com \
#   -r zap-report.html \
#   -I  (do not fail on alerts, report only)

# For blocking builds on high findings:
# zap-full-scan.py -t https://staging.myapp.com \
#   -l HIGH   (fail if HIGH or CRITICAL alerts found)

# ZAP tests for:
# SQL injection, XSS, CSRF, insecure headers,
# path traversal, broken authentication, open redirects

Scannen von Container-Images

Container-Images werden aus Basis-Images erstellt, die Betriebssystempakete, Sprachlaufzeiten und Anwendungsabhängigkeiten enthalten – alles potenzielle Quellen bekannter Schwachstellen. Tools zum Scannen von Container-Images analysieren die Image-Layer und identifizieren verwundbare Pakete. Trivy (kostenlos und schnell), Grype (Anchore) und Clair werden häufig eingesetzt. Die Scans werden als Teil der Image-Build-Pipeline ausgeführt und verhindern, dass Images mit kritischen CVEs in die Produktions-Registries übertragen werden.

# Trivy container scan in CI pipeline:
# trivy image --severity HIGH,CRITICAL \
#             --exit-code 1 \
#             myapp:latest

# Output example:
# library/python:3.9-slim (debian 11.6)
# ===================================
# CVE-2023-1234  CRITICAL  openssl 1.1.1n-0+deb11u3 -> 1.1.1t
# CVE-2023-5678  HIGH      libssl  1.1.1n            -> 1.1.1t

# --exit-code 1 causes pipeline to fail
# on any HIGH or CRITICAL finding -> blocks push to registry

Sicherheits-Scanning für Infrastructure as Code (IaC)

IaC-Sicherheits-Scanning analysiert Terraform, CloudFormation, Kubernetes-Manifeste und Helm-Charts auf unsichere Fehlkonfigurationen, bevor sie angewendet werden. Tools wie Checkov und tfsec prüfen beispielsweise auf Verstöße wie: S3-Buckets ohne serverseitige Verschlüsselung, Security Groups, die sämtlichen eingehenden Datenverkehr zulassen, IAM-Rollen mit Wildcard-Berechtigungen und Kubernetes-Pods, die als Root ausgeführt werden. IaC-Scanning verhindert Fehlkonfigurationen der Cloud, bevor sie eine Umgebung erreichen.

# Checkov IaC scan example:
# checkov -d ./terraform/ --compact

# Findings example:
# FAILED: CKV_AWS_20: S3 Bucket has an ACL defined which allows public access
#   File: /terraform/s3.tf, Line: 15

# FAILED: CKV_AWS_57: S3 Bucket has server access logging disabled
#   File: /terraform/s3.tf, Line: 15

# FAILED: CKV_AWS_24: Ensure no security groups allow all ingress traffic
#   File: /terraform/sg.tf, Line: 8

# Passed checks: 47, Failed: 3, Skipped: 0

Secret-Scanning in Pipelines

Secret-Scanning-Tools prüfen Quellcode und Commits auf versehentlich enthaltene Zugangsdaten. Tools wie truffleHog, GitLeaks und detect-secrets durchsuchen die Git-Historie und neue Commits nach Mustern, die API-Schlüsseln, Verbindungszeichenfolgen, privaten Schlüsseln und JWT-Tokens entsprechen. Als Pre-Commit-Hook verhindert Secret-Scanning Commits, die Zugangsdaten enthalten. Als CI-Gate scannt es bei jedem Push alle Dateien im Repository und lässt den Build fehlschlagen, wenn Secrets erkannt werden.

# GitLeaks pre-commit hook configuration:
# .gitleaks.toml:
# [allowlist]
#   description = 'Known false positives'
#   paths = ['test/fixtures/fake_key.txt']

# Install as pre-commit hook:
# gitleaks protect --staged
# (scans staged files before commit is created)

# In CI pipeline:
# gitleaks detect --source=. --report-format=json \
#   --report-path=gitleaks-report.json
# exit code 1 = secrets found -> blocks pipeline

Threat Modeling im SDLC

Threat Modeling ist ein strukturierter Prozess, um Sicherheitsanforderungen und Entwurfsfehler zu identifizieren, bevor Code geschrieben wird. Das STRIDE-Modell (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) hilft Teams, Bedrohungen für das Datenflussdiagramm eines Systems systematisch zu erfassen. Threat-Modeling-Sitzungen finden während des Entwurfs statt. Dabei entsteht eine priorisierte Liste von Bedrohungen, die Sicherheitsanforderungen festlegt und die Auswahl von SAST-/DAST-Regeln beeinflusst.

# STRIDE threat categories applied to a web login API:
# S - Spoofing:       Attacker impersonates valid user
#     Control: Strong authentication, MFA
# T - Tampering:      Attacker modifies login request
#     Control: TLS, HMAC, input validation
# R - Repudiation:    User denies actions taken
#     Control: Audit logging with tamper-evident storage
# I - Info Disclosure: Password exposed in logs
#     Control: Never log sensitive fields
# D - Denial of Service: Flood login endpoint
#     Control: Rate limiting, CAPTCHA
# E - Elevation of Privilege: Bypass authorization
#     Control: Server-side authorization checks

Sicherheits-Gates: blockierend oder beratend

DevSecOps-Pipelines implementieren Sicherheitsprüfungen entweder als blockierende Gates (der Build schlägt fehl, die Bereitstellung wird verhindert) oder als beratende Prüfungen (Befunde werden gemeldet, die Bereitstellung kann fortgesetzt werden). Befunde mit kritischem und hohem Schweregrad aus SAST, Container-Scanning und Secret-Erkennung blockieren typischerweise den Prozess. Befunde mit mittlerem und niedrigem Schweregrad erzeugen Benachrichtigungen oder Tickets, ohne den Prozess zu blockieren. Dieses Gleichgewicht verhindert, dass Sicherheit die gesamte Bereitstellung stoppt, und stellt zugleich sicher, dass wirklich gefährliche Zustände nicht automatisch die Produktion erreichen.

Sicherheitsmetriken in DevSecOps

DevSecOps-Programme sollten anhand klarer Metriken gemessen werden. Zu den wichtigsten Metriken gehören: die Mean Time to Remediate (MTTR) für Befunde mit hohem Schweregrad, die Schwachstellendichte (Befunde pro 1.000 Codezeilen im Zeitverlauf), die Escape-Rate (Prozentsatz der nach dem Produktionsstart statt vor dem Produktionsstart gefundenen Schwachstellen) und die Erfolgsquote der Sicherheits-Gates in der Pipeline. Die Entwicklung dieser Metriken im Zeitverlauf zeigt die Wirksamkeit des Programms und unterstützt Investitionsentscheidungen für zusätzliche Tools oder Schulungen.

Kultur: Sicherheit als gemeinsame Verantwortung

Der schwierigste Teil von DevSecOps ist kultureller und nicht technischer Natur. Sicherheit muss zur Verantwortung jedes Entwicklers werden und darf nicht nur Aufgabe des Sicherheitsteams sein. Dafür sind erforderlich: Sicherheitsschulungen für Entwickler (Bewusstsein für sicheres Programmieren), in Entwicklungsteams integrierte Security Champions, blameless Post-Mortems, wenn Schwachstellen die Produktion erreichen (Fokus auf Prozessverbesserung statt Bestrafung), sowie die Unterstützung durch die Führungsebene, bei echtem Sicherheitsrisiko Kompromisse bei der Bereitstellungsgeschwindigkeit zuzulassen. Technologie ohne kulturellen Wandel führt zu Scanning-Tools, die Entwickler irgendwann ignorieren.

Kurze Überprüfung

Testen Sie Ihr Verständnis der Konzepte aus CompTIA Security+ (SY0-701) in dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: DevSecOps integriert SAST, DAST, Secret-Scanning, Container-Scanning und IaC-Scanning als automatisierte Pipeline-Gates; das Blockieren von Befunden mit hohem Schweregrad verhindert, dass gefährliche Zustände die Produktion erreichen; und das frühzeitige Einbinden von Sicherheit senkt die Behebungskosten drastisch, da Schwachstellen während der Entwicklung statt erst nach der Bereitstellung erkannt werden. Als Nächstes beschäftigen wir uns mit physischen Sicherheitskontrollen für Gebäude und Rechenzentren.

Häufig gestellte Fragen

Ist die Lektion „DevSecOps: Sicherheit in Pipelines nach links verlagern“ kostenlos?

Ja — der vollständige Text von „DevSecOps: Sicherheit in Pipelines nach links verlagern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Security+ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Security+ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „DevSecOps: Sicherheit in Pipelines nach links verlagern“?

Integrieren Sie SAST, DAST, Container-Scans und IaC-Sicherheitsprüfungen in CI/CD-Pipelines, damit Sicherheits-Gates bei jedem Commit automatisch durchgesetzt werden. Du übst Security+ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Security+ Academy zu starten?

Keine Vorkenntnisse erforderlich. Security+ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „DevSecOps: Sicherheit in Pipelines nach links verlagern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Security+ Academy-Lektion Code schreiben und ausführen?

Ja. Jede Security+ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Eingabevalidierung und Ausgabekodierung
  2. Sichere Verwaltung von Secrets und Umgebungsvariablen
  3. Abhängigkeitssicherheit und Software Composition Analysis
  4. DevSecOps: Sicherheit in Pipelines nach links verlagern
← Zurück zu Security+ Academy