- Uygulamaları Docker imajı olarak oluşturup dağıtırken, ağır bir temel imaj kullanıldığı için tek seferde indirme uzun sürebilir veya hassas veriler içerdiği için güvenlik sorunları ortaya çıkabilir
- Docker imajlarını daha hafif ve daha güvenli hale getirmenin yolları
- İmaj boyutunu küçültme
- Docker imajı hafifledikçe uygulama derleme ve dağıtım hızı artar
- Bu sayede daha sık ve daha fazla dağıtım yapılabilir, geliştirici verimliliği yükselir
- Yöntemler
- Multi-stage tekniği: Birden fazla stage oluşturup her birini ayrı ayrı derledikten sonra sonuçları en hafif imajda birleştirme yöntemi
RUN komutunu mümkün olduğunca az kullanma: RUN komutu ayrı katmanlar oluşturur. Bunu en aza indirmek için tek bir RUN komutunda mümkün olduğunca çok script çalıştırılır
.dockerignore ile gereksiz kaynak kodları kaldırma
README.md veya test kodları, gerçek uygulamayı derlerken gerekli değildir
- API kimlik doğrulama token'ı gibi hassas bilgiler içeren
.env dosyaları, .pem private key dosyaları ve Git commit geçmişini içeren .git dizini Docker imajına dahil edilmemelidir
- Bu tür dosyaların Docker imajına dahil edilmemesi için
.dockerignore dosyası oluşturulur
- Güvenli imaj oluşturma
- Docker imajı root yetkisine sahipse, saldırıya uğradığında riskli olabilir
- Yöntemler
- Belirli bir imaj sürümü kullanma: Sürüm belirtilmezse otomatik olarak
latest sürümü çekilir ve duruma göre çalışan ortam değişebilir
/etc için yazma iznini kaldırma: /etc, sistem yapılandırma dosyaları ve script'lerin bulunduğu dizindir. Uygulamanın genellikle bunu değiştirmesi gerekmez, bu yüzden yazma iznini kaldırmak faydalıdır
- Tüm çalıştırılabilir dosyaları silme: Go'da tek bir binary ile çalıştırma mümkün olduğundan, potansiyel risk taşıyan diğer çalıştırılabilir dosyalar silinir
- Normal kullanıcıya geçme: Root hesabı sistemdeki her şeyi değiştirebilir ve kontrol edebilir. En az yetkiye sahip bir kullanıcı oluşturulup uygulamanın yalnızca bu kullanıcıyla çalışması sağlanır
- Hafif Docker imajları, CI/CD pipeline'ı ile çevik metodolojinin buluştuğu noktada sinerji yaratır
- Güvenli Docker imajlarıyla işi korumak ve riskleri önceden engellemek mümkündür
Henüz yorum yok.