Sicherheit in der Pipeline, nicht danach.
Code, Abhängigkeiten und Bilder bei jedem Commit scannen, ohne Entwickler zu nerven.
Code, Abhängigkeiten und Bilder bei jedem Commit scannen, ohne Entwickler zu nerven.

Lange Zeit funktionierte die Sicherheit so: Das Team baute etwas monatelang auf, dann fand kurz vor dem Start eine Sicherheitsüberprüfung oder ein Penetrationstest statt, fand eine Liste von Problemen und alle gerieten in Panik. Am Ende zu reparieren ist langsam, teuer und stressig.
"Links verschieben" bedeutet, Sicherheitsprüfungen früher in den Workflow des Entwicklers und die CI-Pipeline zu verschieben. Probleme werden Minuten nach ihrer Einführung gefunden, wenn sie am billigsten zu beheben sind. Das ist das Herzstück von DevSecOps.
Es gibt eine Alphabetensuppe von Sicherheitsscan. Hier ist, was jeder von ihnen tut:
Man braucht keine teuren Werkzeuge, um anzufangen. Ausgezeichnete Open-Source-Optionen:
| Typ | Open-Source-Tools | Anmerkungen |
|---|---|---|
| SAST | Semgrep, CodeQL | CodeQL ist für öffentliche Repos auf GitHub kostenlos |
| SCA | Trivy, Grype, OSV-Scanner, Dependabot, das ist ein sehr guter Ort. | Dependabot ist in GitHub integriert |
| Geheimnisse | Gitleaks, TruffleHog, GitHub Schaltschutz | Scannen Sie einmal den Verlauf, dann jeden Schub. |
| Die | Checkov, Trivy, KICS, die sind nicht mehr in der Lage. | Trivy umfasst Bilder, Abbildungen und IaC in einem Werkzeug |
| Bilder | Trivy, Grype, ich bin nicht hier. | Scan in CI und kontinuierlich im Register |
| DAST | OWASP ZAP | Ausführen gegen Staging- oder Vorschaumedien |
Kommerzielle Plattformen (Snyk, GitHub Advanced Security, GitLab Ultimate, Wiz, Aikido und viele andere) bündeln diese mit Dashboards, Priorisierung und Fixvorschlägen.
Ein vernünftiges Layout:
Allein Trivy deckt eine überraschende Menge ab:
trivy fs --scanners vuln,secret,misconfig .
trivy image --severity HIGH,CRITICAL --ignore-unfixed registry.example.com/shop-api:1.4.2
Sicherheitsbefunde sind wie Wanzen. Je früher man sie findet, desto billiger sind sie und desto weniger Panik.
Hier scheitern die meisten DevSecOps-Bemühungen. Schalten Sie fünf Scanner mit Standard-Einstellungen ein, und die Entwickler ertrinken in Hunderten von Erkenntnissen. Viele sind risikoarm, unerreichbar oder falsch positiv. Nach einer Woche ignorieren die Leute sie alle.
Was hilft:
.trivyignore oder Kommentare in der Linie).Sollten die Sicherheitsbefunde die Pipeline versagen?
Meine Herangehensweise:
Geben Sie den Entwicklern auch eine Möglichkeit, ein Risiko vorübergehend zu akzeptieren, mit einem Grund und einem Ablaufdatum. Ein Block ohne Flucht führt dazu, dass die Leute den Scanner deaktivieren.
Werkzeuge sind die Hälfte der Geschichte. Die andere Hälfte:
Fügen Sie geheime Scannen mit Push-Schutz, Trivy für Abhängigkeiten und Bilder und Semgrep oder CodeQL für Code hinzu. Berichten Sie zunächst nur über hohe und kritische Probleme. Sobald der Lärm unter Kontrolle ist, fangen Sie an, die wichtigsten zu blockieren.
Meine Meinung: Sicherheit funktioniert am besten, wenn es nur ein weiterer Check in der Pipeline ist, so normal wie ein fehlgeschlagener Test, und genauso schnell zu reparieren.
Desly