Penetrační test odhalil zranitelnosti, které byly v kódu měsíce. „Security review” jednou za kvartál nestačí. DevSecOps integruje security do každého commitu.
Security v CI/CD pipeline¶
Každý stage pipeline přidává security kontrolu:
- Pre-commit: secrets detection (git-secrets, detect-secrets)
- Build: SAST — SonarQube, Checkmarx pro statickou analýzu kódu
- Dependencies: OWASP Dependency-Check, Snyk pro known vulnerabilities
- Docker: Trivy, Clair pro image scanning
- Deploy: OPA/Gatekeeper pro policy enforcement
- Runtime: DAST — OWASP ZAP pro dynamické testování
Trivy — image scanning, který funguje¶
$ trivy image registry.core.cz/api-server:latest
api-server:latest
Total: 12 (CRITICAL: 2, HIGH: 3, MEDIUM: 5, LOW: 2)
CVE-2019-5736 CRITICAL runc < 1.0-rc6
CVE-2019-3462 CRITICAL apt < 1.4.9
Trivy je rychlý, jednoduchý a má dobrou databázi CVE. Integrovali jsme ho do Jenkins pipeline — build selže při CRITICAL zranitelnosti.
Compliance as Code¶
OPA (Open Policy Agent) s Gatekeeper v Kubernetes: žádný kontejner jako root, žádný privileged mode, povinné resource limits, povinné labels. Políky definované v Rego, enforced na API server úrovni.
Kulturní změna¶
Nejdůležitější: security není jen zodpovědnost security týmu. Vývojáři dostávají feedback o zranitelnostech přímo v PR. Security training je součást onboardingu.
Shift left — security od prvního řádku¶
Čím dříve najdete zranitelnost, tím levnější je ji opravit. DevSecOps není extra práce — je to investice, která šetří čas a peníze.