Docker Container Güvenliği: Üretim Görselleri İçin Pratik Kontrol Listesi
Docker Container Güvenliği: Üretim Görselleri İçin Pratik Kontrol Listesi
Container'lar mini sanal makine değildir. Bir container host kernel'ini paylaşır; bu yüzden görseldeki ve runtime'daki her sıkılaştırma kararı, bir breakout'un etki alanına doğrudan yansır. Bu rehber, CIS Docker Benchmark kontrollerini ve Docker'ın kendi güvenlik dokümantasyonunu bir mühendislik ekibinin her görselin yayınından önce uygulayabileceği bir kontrol listesine çevirir.
1. Minimal ve Destekli Bir Base Image Seçin
Üretimde latest etiketini build anında çekip digest ile sabitleyin. Uygulamada kurallar şunlardır:
- Tam dağıtım görseli yerine minimal bir base (Alpine, distroless veya slim) tercih edin; görseldeki her paket saldırı yüzeyidir.
- Base image'leri en az haftada bir yenileyip rebuild edin. Base image CVE'leri, "güvenli" bir görselin sessizce istismar edilebilir hale gelmesinin en yaygın yoludur.
- Çok aşamalı build kullanın: derleyiciler, paket yöneticileri ve build-time secret'lar runtime görseline hiç girmemelidir.
2. Non-Root Çalışın ve Capability'leri Kısıtlayın
CIS Benchmark iki kontrolde açıktır:
- Container'ı root olmayan bir kullanıcı ile çalıştırın. UID eşlemeli bir container işlemi host'a kaçtığında, süreç root olarak çalışıyorsa çok daha yüksek yetkiyle varır.
- Linux capability'lerini düşürün (
--cap-drop=ALL) ve sadece sürecin ihtiyaç duyduğu kadarını geri ekleyin. Privileged mod (--privileged) açık bir güvenlik istisnası olarak ele alınmalıdır; runtime'ın sağladığı izolasyonun çoğunu devre dışı bırakır.
Buna --read-only ve yazılabilir yollar için copy-on-write mount, --no-new-privileges bayraklarını ekleyin; böylece alt süreçler setuid ikili dosyalarıyla yetki kazanmaz.
3. Digest ile Sabitleyin, İmzalayın, Deploy'da Doğrulayın
- Üretim manifestlerinde
image@sha256:<digest>referansları kullanın; bir registry etiketini ele geçiren saldırgan, dağıtılan artefaktı hareket ettiremez. - Görselleri imzalayın (Cosign/Sigstore veya registry native imzalama) ve imzaları admission yolunda doğrulayın. Docker image imzalama akışı ve Sigstore belgeleri mekanikleri anlatır.
- CI'da bir registry taraması bulundurun; base image'de yeni açıklanan bir CVE, üretimde hayata geçmeden önce promosyonu engellesin.
4. Görselleri Tarayın — Yeni CVE'leri Takip Edin
Görsel tarama araçları bilinen CVE'leri yakalar; kendi yanlış yapılandırmalarınızı yakalayamaz (root kullanıcı, yazılabilir filesystem, katmanlarda secret). Tarama ile IaC-benzeri kontrolleri birlikte kullanın: bir Dockerfile lint'i ve runtime yapılandırma kontrol listesi kod incelemesinde. Bir tarayıcı High CVE raporlar ama uygulama katmanı temizse, base image en olası hareketli parçadır — rebuild ve repin yapın.
5. Secret ve Log'ları Kontrol Altına Alın
- Secret'ları image katmanlarına kesinlikle gömme-
yeyin. Runtime secret mount'ları (Docker secrets, Kubernetes Secret volume'ları veya vault entegrasyonu) kullanın; build secret'larını multi-stage build ile temizleyin. - Container'lardaki log ve crash dump'lar düzenli olarak log toplayıcılara akar; authorization header'ı içeren bir debug log, aranabilir bir kimlik bilgisi sızıntısıdır.
İlk 30 Gününüz
Gerçekçi bir dağıtım dört adımda ilerler. Birinci hafta: En kritik üç serviste non-root kullanıcıyı ve --cap-drop=ALL ayarını etkinleştirin, regresyonları izleyin. İkinci hafta: Üretim manifestlerinde görselleri digest ile sabitleyin, CI'da Critical CVE'leri engelleyen bir registry tarama kapısı kurun. Üçüncü hafta: Admission yolunda imza doğrulama ekleyin. Dördüncü hafta: Her privileged container incelemesini sahip ve emeklilik tarihiyle açık bir güvenlik istisnası olarak takvimleyin. Yukarıdaki CI kontrolleri, yayınladıkça varsayılan şablon haline gelsin.
Eresus Container Riskini Nasıl Değerlendirir
İncelemelerimiz container'ları uygulama ile host kernel arasındaki güven sınırları olarak ele alır. Değerlendirme; registry ve tedarik zinciri hijyeni, runtime izolasyonu, yetki ve capability yapılandırması ve ele geçirilen bir container'dan host seviyesinde etkilenmeye giden yolu kapsar, bulguları elde edilen yetki kanıtıyla iş etkisine çevirir.
Kaynaklar
AI Security Başlangıç Eğitimi
Prompt injection, RAG veri sızıntısı, MCP riskleri ve model dosyası güvenliği için pratik kontrol listesini e-posta ile isteyin.
İlgili Hizmetler
Kapsam Tahmini
Kapsam görüşmesinden önce tahmini çalışma büyüklüğünü öğrenin.
- Bu derinlik neyi kapsar
- Kapsamdaki hedefler için OWASP test planının tam uygulaması: kırık erişim kontrolü, enjeksiyon, kimlik doğrulama ve yetkilendirme kusurları, iş kuralı kötüye kullanımı, yeniden üretim adımlarıyla bulgular.
- Neyi kapsamaz
- Haftalar süren rakip simülasyonu, fiziksel ve oltalama vektörleri, özel istismar geliştirmesi, kaynak kod incelemesi.
Tahmini efor
~5 testci-günü
Bu bir tahmindir, teklif değil. Yukarıdaki üç faktörle ölçeklenir; hedeflerin test penceresi içinde erişilebilir olduğunu ve test hesaplarının sağlandığını varsayar.