DevSecOps
Integration af sikkerhed i hele DevOps-livscyklussen, så sårbarhedsdetektering sker automatisk fra commit til produktion.
DevSecOps integrerer sikkerhed som en førsteklasses borger i hele DevOps-livscyklussen. I stedet for at sikkerhed er et separat gate i slutningen af udviklingen, automatiseres sikkerhedstjek på tværs af hele pipelinen. Mantret er "shift left": find og ret sikkerhedsproblemer så tidligt som muligt, hvor de er billigst at fikse.
Traditionel applikationssikkerhed fulgte en "gatekeeping"-model. Et sikkerhedsteam reviewede kode og infrastruktur kort før release. Problemerne var åbenlyse: reviewet kom for sent til at ændre arkitekturbeslutninger, det skabte en flaskehals der forsinkede releases, og det placerede alt sikkerhedsansvar hos en lille gruppe. DevSecOps distribuerer ansvaret og automatiserer det.
Static Application Security Testing (SAST) analyserer kildekode for kendte sårbarhedsmønstre. Tools som Semgrep, SonarQube og CodeQL scanner for SQL injection, XSS, hardcoded secrets og andre OWASP Top 10-sårbarheder. SAST integreres i CI-pipelinen og blokerer merge af kode med kritiske fund. Falske positiver er en udfordring, og tuning af reglerne er nødvendig for at undgå at udviklere ignorerer resultaterne.
Software Composition Analysis (SCA) scanner afhængigheder for kendte sårbarheder. De fleste moderne applikationer består af 80-90% tredjepartskode via open source-biblioteker. Snyk, Dependabot og Trivy tjekker afhængigheder mod CVE-databaser og foreslår opdateringer. Automatiserede pull requests med sikkerhedsopdateringer reducerer tiden fra sårbarhedsoffentliggørelse til patch.
Dynamic Application Security Testing (DAST) tester kørende applikationer udefra. Tools som OWASP ZAP og Burp Suite simulerer angreb mod staging-miljøer. DAST finder runtime-sårbarheder som SAST ikke kan detektere: fejlkonfigurerede HTTP-headers, manglende rate limiting, information disclosure i fejlmeddelelser. DAST kører typisk som et senere trin i CI/CD-pipelinen mod et deployment i et testmiljø.
Container-sikkerhed er kritisk i moderne infrastruktur. Image scanning (med Trivy, Grype eller Snyk Container) finder sårbarheder i base images og installerede pakker. Runtime-sikkerhed (Falco, Sysdig) overvåger containeradfærd og alerter på anomalier som uventet netværkstrafik eller filsystemændringer. Admission controllers i Kubernetes kan blokere deployment af images med kritiske sårbarheder.
Infrastructure as Code-sikkerhed scanner Terraform, CloudFormation og Kubernetes-manifester for fejlkonfigurationer. Checkov, tfsec og Kics finder problemer som offentligt tilgængelige S3-buckets, manglende kryptering, og for brede IAM-policies. Disse checks kører tidligt i pipelinen og fanger infrastruktur-sikkerhedsproblemer før de når cloud-miljøet.
Secrets management er fundamentalt. Hardcoded API-nøgler, database-passwords og tokens i kildekode er en af de hyppigste sikkerhedsfejl. Tools som git-secrets og TruffleHog scanner repositories for lækager. HashiCorp Vault, AWS Secrets Manager og GitHub Encrypted Secrets leverer sikker opbevaring og rotation af hemmeligheder. Pre-commit hooks der blokerer commits med secrets er et effektivt første forsvar.
Sikkerhedskultur er lige så vigtig som tooling. Security champions i hvert udviklingsteam fungerer som bindeled til sikkerhedsteamet. Threat modeling workshops identificerer risici tidligt i designfasen. Sikkerhedstræning (CTF-challenges, secure coding-kurser) opbygger kompetencer bredt. Målet er at sikkerhed bliver en naturlig del af hverdagen, ikke en efterkontrol der forsinker releases.