Her şey FROM satırıyla başlıyor
Bir Dockerfile’ın ilk satırı genelde FROM node:22 ya da FROM python:3.13 gibi bir şey. Senin imajın bu temel imajın (base image) üstüne kuruluyor. İçindeki her paket de sana geçiyor. Yaygın temel imajlar rahatlık için hazırlanmış: shell, paket yöneticisi, curl, derleme araçları, uygulamanın hiç kullanmadığı kütüphaneler. Trivy yazımızda anlattığımız gibi bir tarayıcı bunların her birini sayıyor. Saldırgan da içeri girdiğinde bu araçları kullanabiliyor.
Videonun ana fikri şu: Konteyner güvenliği aslında bir tedarik zinciri sorunu. Temelde bir açık varsa, üstüne kurduğun her imaj onu otomatik olarak miras alıyor.
Hardened image ne demek?
“Sertleştirilmiş” imaj, uygulamayı çalıştırmak için gerekenden fazlasını taşımayan imaj demek. Docker’ın belgelerine göre Docker Hardened Images (DHI) şöyle:
- Distroless: Shell ve paket yöneticisi gibi gerekli olmayan parçalar çıkarılmış. Docker’a göre imajlar %95’e varan oranda daha küçük.
- Root değil: Çalışma imajları varsayılan olarak yetkisiz bir kullanıcıyla açılıyor.
- Tanıdık temel: Debian ve Alpine üzerine kurulu. Yani yabancı bir dağıtıma geçmiyorsun.
- Kanıtlarıyla geliyor: Her imajda imzalı bir SBOM (içindeki bütün paketlerin listesi), SLSA Build Level 3 düzeyinde derleme kaydı (imajın nerede, nasıl derlendiğinin doğrulanabilir izi), kriptografik imza ve VEX bilgisi var. VEX, listedeki bir CVE’nin bu imajda gerçekten sömürülebilir olup olmadığını söylüyor. Docker, CVE listesini gizlemeden olduğu gibi yayımladığını yazıyor.
DHI Mayıs 2025’te ücretli bir ürün olarak çıkmıştı. 17 Aralık 2025’te Docker, 1.000’den fazla imajı ve Helm chart’ı herkese ücretsiz ve Apache 2.0 lisansıyla açtı. Ücretli kalanlar şunlar: kritik açıklar için yedi günden kısa sürede yama garantisi (SLA), FIPS ve STIG uyumlu imajlar, özelleştirme ve desteği bitmiş sürümler için beş yıla kadar ek yama (ELS).
Nasıl kullanılır?
docker login dhi.io ile Docker hesabınla giriş yapıp FROM dhi.io/python:3.13 yazıyorsun. docker scout compare ile eski imajınla yenisini karşılaştırabilirsin. Videoya göre çoğu projede değişen tek şey bu satır. Ama bazı şeyler kırılabilir:
RUN apt-get installçalışmaz. Çalışma imajında paket yöneticisi yok. Belgelerin önerdiği çözüm multi-stage build: Derlemeyi shell ve paket yöneticisi olan-devvaryantında yap, sadece çıkan dosyaları son imaja kopyala.- Düşük portlar. Root olmadığı için Kubernetes’te 1024’ün altındaki portlara bağlanamayabilir. Uygulamanı daha yüksek bir portta dinlet.
- İçine girip bakamazsın. Shell yok. Hata ayıklamak için belgeler Docker Debug’ı öneriyor.
Videoya göre bu sorunlar genelde çalışma anında değil, imaj derlenirken çıkıyor. Bu da düzeltmeyi kolaylaştırıyor.
Sınırı bil: Küçük bir temel, işletim sistemi tarafındaki açıkları azaltır. Senin kodun ve npm, pip bağımlılıkların yine senin sorumluluğunda. Konteynerin kendisinin ne kadar güvenli bir duvar olduğu da ayrı bir konu, onu konteyner güvenlik sınırı yazımızda anlattık.
Sonra ne oldu?
Docker’ın sürüm notlarına göre bugün üç katman var: ücretsiz Community, repo başına 5.000 dolardan başlayan Select ve Enterprise. Mart 2026’da tek tek sertleştirilmiş Alpine paketlerinden oluşan Hardened System Packages duyuruldu (8.000’den fazla paket, Enterprise’a dahil). Nisan ile Eylül arasında bu paketlere Debian desteği, bir Terraform sağlayıcısı ve DHI için uzak bir MCP sunucusu geldi. Ekim 2026 itibarıyla AB’de veri saklama seçeneği erken erişimde.
Düşün
- Üretimdeki imajlarının içinde shell ve paket yöneticisine gerçekten ihtiyaç var mı?
- Bir imajın içinde ne olduğunu sorsalar, SBOM’u kaç dakikada gösterebilirsin?
Videoyu izle
Kaynaklar (10, İngilizce)
- Better Stack: Docker’s Best Security Feature Is Now FREE (video) (yeni sekmede açılır)
- Docker Blog: Docker Hardened Images for every developer (yeni sekmede açılır)
- Docker: Hardened Images (yeni sekmede açılır)
- Docker Docs: Docker Hardened Images (yeni sekmede açılır)
- Docker Docs: What are hardened images? (yeni sekmede açılır)
- Docker Docs: Get started with DHI (yeni sekmede açılır)
- Docker Docs: Use a Docker Hardened Image (yeni sekmede açılır)
- Docker Docs: Troubleshoot Docker Hardened Images (yeni sekmede açılır)
- Docker Docs: DHI release notes (yeni sekmede açılır)
- Docker Blog: Announcing Docker Hardened System Packages (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.