Bewährte Sicherheitspraktiken in CI/CD
Verstehen Sie gängige Sicherheitslücken in Pipelines und bewährte Vorgehensweisen, um Risiken über den gesamten Entwicklungszyklus hinweg zu minimieren.
Bewährte Sicherheitspraktiken in CI/CD ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 1 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 CI/CD with GitHub Actions & DevOps Pipelines-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Warum CI/CD-Sicherheit wichtig ist
In der modernen Softwareentwicklung sind CI/CD-Pipelines unverzichtbar. Sie automatisieren das Erstellen, Testen und Bereitstellen Ihres Codes.
Mit großer Macht geht jedoch auch große Verantwortung einher! Die Absicherung dieser Pipelines ist entscheidend, um Ihren Code, Ihre Daten und Ihre Infrastruktur vor bösartigen Angriffen oder versehentlichen Schwachstellen zu schützen.
Schwachstellen in Pipelines erkennen
Bevor wir eine Absicherung vornehmen, müssen wir verstehen, wovor wir uns schützen. CI/CD-Pipelines können für verschiedene Angriffsarten anfällig sein:
- Gefährdete Zugangsdaten: Gestohlene API-Schlüssel oder Tokens.
- Schädliche Abhängigkeiten: Verwendung von Bibliotheken mit bekannten Sicherheitslücken.
- Unsichere Konfigurationen: Falsch konfigurierte Zugriffskontrollen oder Build-Schritte.
- Angriffe auf die Lieferkette: Manipulation des Build-Prozesses selbst.
Zugriff nach dem Prinzip der geringsten Berechtigungen
Das Prinzip der geringsten Berechtigungen (PoLP) bedeutet, Benutzern und automatisierten Prozessen, etwa CI/CD-Jobs, nur die mindestens erforderlichen Berechtigungen für ihre Aufgabe zu erteilen – und keine weiteren.
Dadurch wird der potenzielle Schaden begrenzt, falls Zugangsdaten oder ein Job kompromittiert werden. Definieren Sie für GitHub Actions für jeden Job spezifische Berechtigungen.
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read # Only read access to repo code
packages: write # Only write to package registry
id-token: write # Needed for OIDC authentication
steps:
- uses: actions/checkout@v4
- run: echo "Build logic here"Code und Abhängigkeiten schützen
Ihr Quellcode bildet das Herzstück Ihrer Anwendung. Stellen Sie sicher, dass er von Anfang an geschützt ist.
- Code-Reviews: Peer-Reviews helfen dabei, potenzielle Sicherheitslücken zu erkennen.
- Statische Analyse: Verwenden Sie Tools, um den Code auf Schwachstellen zu prüfen (dediziertes SAST wird in einer späteren Lektion behandelt).
- Prüfung von Abhängigkeiten: Überprüfen Sie regelmäßig Drittanbieterbibliotheken auf bekannte Schwachstellen.
Drittanbieterabhängigkeiten verwalten
Die meisten Projekte nutzen Open-Source-Bibliotheken. Diese sind zwar leistungsfähig, können bei unzureichender Verwaltung jedoch Schwachstellen einführen.
- Verwenden Sie einen Dependency-Scanner: Integrieren Sie Tools wie Dependabot, um automatisch nach bekannten Schwachstellen zu suchen.
- Abhängigkeiten festschreiben: Geben Sie exakte Versionen der Abhängigkeiten an, um unerwartete Änderungen zu vermeiden.
- Regelmäßige Aktualisierungen: Halten Sie Abhängigkeiten auf dem neuesten Stand, um von Sicherheitspatches zu profitieren.
Ihre Build-Umgebung härten
Die Umgebung, in der Ihr Code erstellt und getestet wird, sollte so sicher wie möglich sein. Stellen Sie sie sich als Reinraum für Ihre Software vor.
- Ephemere Runner: Verwenden Sie für jeden Job frische, isolierte Umgebungen. Von GitHub gehostete Runner sind standardmäßig ephemer.
- Minimale Werkzeuge: Installieren Sie nur die erforderlichen Werkzeuge, um die Angriffsfläche zu verkleinern.
- Sichere Basis-Images: Verwenden Sie bei Containern vertrauenswürdige, gehärtete Basis-Images.
Secrets niemals fest im Code hinterlegen
Sensible Informationen wie API-Schlüssel, Datenbankzugangsdaten oder private Tokens dürfen NIEMALS direkt in Ihrem Repository oder Ihren Workflow-Dateien fest im Code hinterlegt werden.
Verwenden Sie immer ein sicheres System zur Verwaltung von Secrets. Dadurch bleiben sensible Daten außerhalb der Versionsverwaltung und werden verschlüsselt gespeichert.
Workflow-Eingaben validieren
Wenn Ihr Workflow externe Eingaben akzeptiert, etwa über einen manuellen Trigger oder einen Kommentar zu einem Pull Request, müssen diese Eingaben validiert und bereinigt werden.
Nicht vertrauenswürdige Eingaben können als Angriffsvektor für Injection-Angriffe dienen – ähnlich wie Webanwendungen Benutzereingaben validieren.
on:
workflow_dispatch:
inputs:
deploy_env:
description: 'Environment to deploy to (e.g., staging, production)'
required: true
type: choice
options:
- 'staging'
- 'production'
version_tag:
description: 'Git tag for the release version'
required: true
type: stringPipeline-Aktivitäten protokollieren und überwachen
Transparenz über die Aktivitäten Ihrer Pipeline ist eine wichtige Sicherheitsmaßnahme. Eine gute Protokollierung hilft Ihnen, verdächtiges Verhalten schnell zu erkennen und darauf zu reagieren.
- Umfassende Protokollierung: Protokollieren Sie alle wichtigen Ereignisse und Aktionen innerhalb Ihrer Workflows.
- Auf Anomalien überwachen: Achten Sie auf fehlgeschlagene Sicherheitsprüfungen, unbefugte Zugriffsversuche oder ungewöhnliche Build-Zeiten.
- Alarmierung: Richten Sie Benachrichtigungen für kritische Sicherheitsereignisse ein.
Verständnis überprüfen
Testen wir Ihr Wissen über bewährte Praktiken für die CI/CD-Sicherheit.
Zusammenfassung der Lektion und nächste Schritte
Herzlichen Glückwunsch! Sie haben wesentliche bewährte Sicherheitspraktiken für Ihre CI/CD-Pipelines kennengelernt.
- Wenden Sie das Prinzip der geringsten Berechtigungen an.
- Schützen Sie Ihren Quellcode und verwalten Sie Ihre Abhängigkeiten.
- Härten Sie Ihre Build-Umgebungen.
- Hinterlegen Sie Secrets niemals fest im Code.
- Validieren Sie alle Workflow-Eingaben.
- Implementieren Sie eine umfassende Protokollierung und Überwachung.
Diese Praktiken bilden eine solide Grundlage für einen sicheren DevOps-Lebenszyklus. In den kommenden Lektionen werden wir uns eingehender mit bestimmten Tools und Techniken wie GitHub Secrets und SAST beschäftigen.
Häufig gestellte Fragen
Ist die Lektion „Bewährte Sicherheitspraktiken in CI/CD“ kostenlos?
Ja — der vollständige Text von „Bewährte Sicherheitspraktiken in CI/CD“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CI/CD with GitHub Actions & DevOps Pipelines-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Bewährte Sicherheitspraktiken in CI/CD“?
Verstehen Sie gängige Sicherheitslücken in Pipelines und bewährte Vorgehensweisen, um Risiken über den gesamten Entwicklungszyklus hinweg zu minimieren. Du übst CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines zu starten?
Keine Vorkenntnisse erforderlich. CI/CD with GitHub Actions & DevOps Pipelines 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 1 von 4.
Wie lange dauert die Lektion „Bewährte Sicherheitspraktiken in CI/CD“?
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 CI/CD with GitHub Actions & DevOps Pipelines-Lektion Code schreiben und ausführen?
Ja. Jede CI/CD with GitHub Actions & DevOps Pipelines-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
- Bewährte Sicherheitspraktiken in CI/CD
- Secret-Management mit GitHub
- Statische Anwendungssicherheitstests (SAST)
- Sicherheit von Abhängigkeiten und der Lieferkette (SCA)