Zum Hauptinhalt springen
  1. Tags/

DevSecOps

GitHub DevSecOps Teil 3: Software Composition Analysis mit Dependabot und CRDA

GitHub liefert kein Default-SCA-Tool wie GitLab. Du musst zwei Dinge kombinieren: das Plattform-Feature Dependabot und eine SCA-Action aus dem Marketplace. In Teil 3 der GitHub DevSecOps Serie verdrahten Patrick Steger und ich beides in unsere Pipeline — und merken auf die harte Tour, dass der Marketplace-Pfad nicht so glatt läuft, wie es die Slides suggerieren.

GitHub DevSecOps Teil 2: Ein einfaches Projekt und den ersten Workflow erstellen

Bevor wir Security-Tools an irgendetwas anschliessen, brauchen wir ein Repository, eine Pipeline und einen lauffähigen Build. In Teil 2 unserer GitHub DevSecOps Serie legen Patrick Steger und ich ein privates GitHub-Repo für einen kleinen Java-Spring-Boot-Service an, aktivieren GitHub Actions und verdrahten eine Pipeline aus zwei Workflows, die den Code kompiliert und die Unit Tests ausführt. Das ist das Skelett, an dem in der Serie alles Weitere hängt.

GitHub DevSecOps Teil 1: Was ist GitHub und warum Security nach links verschieben?

Nachdem wir die GitLab DevSecOps Serie abgeschlossen haben, hat Patrick den Job gewechselt — und sein neues Team arbeitet mit GitHub. Das Problem ist dasselbe: keine Security-Checks während der Entwicklung. Die Plattform ist eine andere. In Teil 1 unserer GitHub DevSecOps Serie zeigen wir, was GitHub ist, welches CI/CD-Vokabular man teilen muss, bevor irgendein Pipeline-Gespräch funktioniert, und wie die DevSecOps-Pipeline aussieht, die wir in den nächsten Sessions aufbauen werden.

Top DevOps-Trends und aufkommende Technologien im Blick

DevOps-Trends 2023 Wir werfen einen kurzen Blick auf meine Prognosen für 2021 und 2022, bevor wir uns den Schwierigkeiten zuwenden, mit denen Unternehmen bereits konfrontiert sind. Aufgrund von Silo-Organisationen findet zwischen den verschiedenen Organisationsbereichen kaum Koordination statt, und Unternehmen planen weiterhin Jahresprojekte statt Produkte. Daher müssen Unternehmen einige DevOps-Methoden oder -Trends übernehmen. DevOps ist ein Mindset, eine Kultur mit technischen Praktiken, die alle Menschen entlang des Value Streams ausrichtet, um dem Kunden kontinuierlich Wert zu liefern. Zu den Top-DevOps-Trends für 2023 gehören das Bauen von Produkten, der Betrieb des Produkts, die Sicherstellung der Produktqualität, die Überwachung des Produkts, die Organisation entlang des Value Streams, das Ermöglichen von DevOps in Produktteams und die Industrialisierung der gesamten Produktentwicklung.

Die Zukunft von DevOps: Top Trends für 2023

Zwei Jahre Trend-Prognosen später hat sich die DevOps-Diskussion verschoben. 2021 ging es um Adoption. 2022 haben wir die Trends auf den Adoption Lifecycle gelegt. 2023 ist die nützlichste Brille der Value Stream: wie Produkte gebaut, betrieben, qualitätsgesichert, monitort, organisiert, enabled und industrialisiert werden — End-to-End. Die meisten Organisationen leiden immer noch unter Silos und projektbasierter Jahresplanung. Die Trends 2023 schliessen genau diese Lücken.

GitLab DevSecOps Teil 12: Unsere Empfehlungen und Lessons Learned

Nach elf Sessions, in denen wir eine komplette DevSecOps-Pipeline mit GitLab aufgebaut haben — von Software Composition Analysis über Container Scanning, SAST, Secret Detection und DAST bis hin zu Merge Request Integration und Scheduled Pipelines — schliessen Patrick Steger und ich die Serie mit unseren Empfehlungen ab. Was funktioniert, wo es Stolpersteine gab und was wir jedem mitgeben würden, der heute die gleiche Pipeline aufbauen will.

GitLab DevSecOps Teil 11: Scheduled Pipelines für den Produktionscode

In zehn Sessions haben wir sechs Security-Tools in eine GitLab-Pipeline verdrahtet, die auf jedem Commit und jedem Merge Request feuert. Sind wir damit fertig? Nicht ganz. Code, der in Produktion läuft, bleibt dort Wochen oder Monate liegen, und in dieser Zeit finden Security-Researcher laufend neue CVEs in genau den Dependencies, die du längst ausgeliefert hast. In Teil 11 der GitLab DevSecOps Serie bauen Patrick Steger und ich eine Scheduled Pipeline, die den Production-Branch automatisch erneut scannt — ohne dass jemand pushen muss.

GitLab DevSecOps Teil 10: Wie man einen Merge Request richtig macht

In den vorherigen neun Sessions haben Patrick Steger und ich eine GitLab DevSecOps-Pipeline gebaut, die SAST, Secret Detection, Software Composition Analysis, Container Scanning und DAST ausführt. Nützlich — aber nur dann, wenn sie Probleme tatsächlich findet, bevor der Code im Default-Branch landet. In Teil 10 schliessen wir diesen Loop: Wir hängen die Pipeline an Merge Requests, sodass jede Änderung gescannt wird, die Deltas gegen den Default-Branch sichtbar sind, und Freigaben erforderlich werden, wenn neue High- oder Critical-Vulnerabilities auftauchen.

GitLab DevSecOps Teil 9: Vulnerability Management Herausforderungen meistern

Nach acht Sessions, in denen wir Scanner in unsere GitLab-Pipeline eingebaut haben — SAST, Secret Detection, SCA, License Compliance, Container Scanning, DAST — haben wir jetzt ein anderes Problem. Wir haben hunderte von Vulnerability-Findings. In Teil 9 schauen Patrick Steger und ich uns das eingebaute Vulnerability Management von GitLab an: was es liefert, wo es schwächelt und wie man Findings tatsächlich triagiert, ohne den Überblick zu verlieren.

GitLab DevSecOps Teil 8: Dynamic Application Security Testing (DAST)

Alles, was wir bisher in der GitLab DevSecOps Pipeline gemacht haben, war statisch — Analyse von Source Code, Dependencies, Containern und Konfiguration. In Teil 8 überschreiten Patrick Steger und ich die Linie zu Continuous Delivery und ergänzen Dynamic Application Security Testing. DAST heisst: Wir deployen die Anwendung, starten sie und greifen sie von aussen mit einem automatisierten Penetration-Testing-Tool an. GitLab liefert das Feature out of the box mit OWASP ZAP.

GitLab DevSecOps Teil 7: Secrets im eigenen Code finden mit Secret Detection

Hardcodierte Passwörter und API-Keys sind nach wie vor einer der häufigsten Wege, auf denen Credentials nach aussen gelangen. Sie werden versehentlich committet, bleiben für immer in der Git-History und tauchen meist erst dann auf, wenn sie schon ausgenutzt werden. In Teil 7 unserer GitLab DevSecOps Serie ergänzen Patrick Steger und ich die bestehende Pipeline um Secret Detection — eine Zeile YAML — und schauen dann ehrlich hin: Was findet GitLeaks tatsächlich, was übersieht es still, und was tun wir damit?