Docker imajlarını hafif ve güvenli hale getirmek
(insight.infograb.net)- 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
RUNkomutunu mümkün olduğunca az kullanma:RUNkomutu ayrı katmanlar oluşturur. Bunu en aza indirmek için tek birRUNkomutunda mümkün olduğunca çok script çalıştırılır
.dockerignoreile gereksiz kaynak kodları kaldırmaREADME.mdveya test kodları, gerçek uygulamayı derlerken gerekli değildir- API kimlik doğrulama token'ı gibi hassas bilgiler içeren
.envdosyaları,.pemprivate key dosyaları ve Git commit geçmişini içeren.gitdizini Docker imajına dahil edilmemelidir - Bu tür dosyaların Docker imajına dahil edilmemesi için
.dockerignoredosyası 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
latestsürümü çekilir ve duruma göre çalışan ortam değişebilir /etciç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
- Belirli bir imaj sürümü kullanma: Sürüm belirtilmezse otomatik olarak
- 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.