30 puan yazan ironlung 2023-10-31 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 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.

Henüz yorum yok.