Ein Security-Audit fand in unserem Produktions-Container 47 bekannte Schwachstellen. 12 davon kritisch.

Wie es dazu kam:

  • Base-Image: node:14 (nicht gepinnt)
  • Image vor 18 Monaten gebaut
  • Nie neu gebaut
  • Kein Vulnerability Scanning
  • Volle Debian-Basis (1,2 GB Image)

Die CVE-Aufschlüsselung:

  • 12 Critical (Remote Code Execution)
  • 18 High (Privilege Escalation)
  • 17 Medium
  • Alle in Base-Image-Paketen, die wir gar nicht nutzten

Was wir behoben haben:

  • Umstieg auf node:22-alpine (~130 MB statt 1,2 GB) — Node 22 ist die aktive LTS-Linie; Achtung: Ein Sprung über Node-Major-Versionen ist eine echte Migration (OpenSSL 3, entfernte APIs), nicht bloß ein Base-Image-Tausch, und hat uns einen Sprint an Tests gekostet
  • Trivy-Scanning in die CI-Pipeline aufgenommen
  • Deploys mit Critical/High-CVEs werden blockiert
  • Wöchentliche automatisierte Image-Rebuilds
  • Base-Image-Versionen gepinnt

Ergebnis: Null Critical/High-Findings zum Scan-Zeitpunkt und rund 90% kleinere Images. Zwischen den Rebuilds landen weiterhin neue CVEs — genau dafür sind der wöchentliche Rebuild und das CI-Gate da.

Lektion: Wenn Sie Ihre Container nicht scannen, gehen Sie davon aus, dass sie verwundbar sind. Container-Image-Hygiene ist eine der ersten Kontrollen, die wir in SecOps-Engagements umsetzen, weil sie günstig und automatisierbar ist und echte Angriffsfläche schließt.


← Zurück zu Lessons Learned

Incidents wie dieser sind vermeidbar. Unser Team für AWS Managed Services überwacht Kundenumgebungen 24/7 mit KI-gestütztem Monitoring und Senior Engineers am Pager — damit Geschichten wie diese im Archiv bleiben.