Одитът за сигурност откри, че нашият production контейнер има 47 известни уязвимости. 12 бяха критични.

Как се случи:

  • Базов образ: node:14 (без фиксирана версия)
  • Образът е създаден преди 18 месеца
  • Никога не е преизграждан
  • Без сканиране за уязвимости
  • Пълна Debian база (1.2GB образ)

Разбивка на CVE:

  • 12 критични (отдалечено изпълнение на код)
  • 18 високи (ескалация на привилегии)
  • 17 средни
  • Всички в пакети от базовия образ, които не използвахме

Какво поправихме:

  • Преминахме към node:20-alpine (50MB вместо 1.2GB)
  • Добавихме Trivy сканиране в CI pipeline
  • Блокираме внедрявания с критични/високи CVE
  • Седмично автоматично преизграждане на образите
  • Фиксирани версии на базовите образи

Резултат: 47 CVE → 0. Размерът на образа намален с 96%.

Урок: Ако не сканирате контейнерите си, приемете че са уязвими.


← Назад към Научени Уроци