Zephyrnet Logosu

Görüntü Güvenliğini Artırmak için Docker Güvenlik Özelliklerinden Nasıl Yararlanılır?

Tarih:

Docker, konteynerleri ve konteynerleştirmeyi düşündüğümüzde aklımıza gelen şeydir. Docker, herhangi bir yere konuşlandırılabildiği için kapsayıcılarla eşanlamlı hale geldi. Ancak, bu kendi özelliği, onu güvenlik açıklarına eğilimli yapan şeydir.

Bu makalede, ana bilgisayarlar, kapsayıcılar ve ortamlar için bazı güvenlik özelliklerine ve en yüksek düzeyde güvenlik elde etmek için sisteminize dahil edebileceğiniz bazı en iyi uygulamalara bakacağız.

Pek çok kılavuz ve makale, güvenlik duruşunu iyileştirmek için birden çok yol sağlar, ancak bunların çoğuna atıfta bulunulması yalnızca gürültüyü artırır ve kafa karışıklığı yaratır. Bu kılavuz, bu tür pek çok makale araştırıldıktan ve yalnızca sizin için en iyi olan makaleler seçildikten sonra derlenmiştir. Docker görüntü güvenliği.

Docker Güvenliği İhtiyacı


Kaynak

Tipik sanal makineler ile Docker arasındaki çizgi, ilkinin yalnızca bir hipervizör olması, ikincisinin ise işletim sistemi çekirdeği. Bu, Docker'ı katlanarak verimli ve farklı bilgi işlem ortamlarında tutarlı hale getirir.

Docker kapsayıcıları varsayılan olarak güvenlidir. Ancak, olası güvenlik açıkları doğrudan kapsayıcıyı hedeflemeyebilir, ancak diğer yollardan saldırabilir. Bu nedenle, güvenliği sıfırdan inşa etmek ve tüm boşlukları doldurmak önemlidir.

Docker Güvenlik Özellikleri

Docker, kapsayıcıların ana bilgisayar sisteminden ve ayrıca birbirlerinden izole edilmesini sağlamak için kullanıma hazır güvenlik özellikleri sağlar.

İzolasyon sürecidir konteynerleflme kapları birbirinden yalıtır ve yapılandırmaları, dosyaları ve bağımlılıkları arasındaki müdahaleyi önleyerek hiçbir verinin bozulmamasını sağlar. Bunu daha da geliştirmek için kuruluşlar/yöneticiler şunları seçebilir: kullanıcı ad alanları farklı kullanıcıların farklı kapsayıcılara eşlenebileceği yer. Bu aşağı yukarı bir ACL (erişim kontrol listesi) farklı kullanıcıların yetkilerini tanımlar. Bu, ek bir güvenlik katmanı sağlar ve yanlışlıkla artan saldırıları önlemeye yardımcı olur.

Sonra, biri kullanabilir yeteneklerle birlikte seccomp Docker ortamındaki güvenlik duruşuna ince ayar yapmak için.

Docker'daki Seccomp veya güvenli bilgi işlem modu, bir kapsayıcının yapabileceği bir dizi sistem çağrısını kısıtlamaya yönelik bir metodolojidir. Bu, bir işlem için mevcut olan sistem çağrılarını kısıtlayan bir Linux çekirdeğindeki seccomp'a benzer.

Seccomp profilleri bir JSON biçiminde yazılır ve kullanılarak kapsayıcıya uygulanabilir. --secutiy-opt seccomp emretmek. Ayrıca, Docker yetenekleri, kapsayıcılara sistem yöneticisi ayrıcalıklarının bir alt kümesini vermenin bir yoludur.

The --cap-add ve --cap-drop seçenekler, bir kapsayıcıdan yetenekler eklemek ve kaldırmak için Docker tarafından desteklenir. Örneğin, içeren bir kapsayıcı NET_ADMIN yeteneği, ağ arayüzlerini değiştirebilirken, SYS_ADMIN yetenek, çeşitli sistem yönetimi görevlerini yerine getirebilir.

Docker, kapsayıcıları varsayılan olarak önceden ayarlanmış bir seccomp profili ve kısıtlı bir dizi yetenekle çalıştırır. Ancak yöneticiler, bu değişkenleri gereksinimlerine uyacak şekilde değiştirebilir. Örneğin, bir konteynerin bu yeteneği gerektiren belirli bir görevi gerçekleştirmesi gerekiyorsa, yönetici bu yeteneği konteynere eklemeye karar verebilir. Ayrıca, bir kabın gerektirdiği herhangi bir ekstra sistem çağrısına izin vermek için seccomp profilini değiştirebilirler. Bununla birlikte, seccomp ve yetenek özelleştirmesi, kabın saldırı yüzeyini genişletebileceğinden dikkatli yapılmalıdır.

Docker Güvenlik Özelliklerinden Yararlanmaya Yönelik En İyi Uygulamalar

Mevcut sayısız seçenek arasında güvenli bir Docker ortamı için hangi uygulamalardan gerçekten yararlanılmalıdır? Peki, bunu değerlendirmek için uygulamanın altyapısına ve gereksinimlerine bakmanız gerekir: Uygulamayı çalışır durumda tutmak için gereken minimum kaynaklar nelerdir? Ölçeklenebilirliği nasıl ele alacaksınız? Açık kaynaklı kapsayıcı havuzlarını kullanırken, güvenli bir kapsayıcı kullandığınızdan nasıl emin olacaksınız?

Genel Docker güvenliğini iyileştiren bazı yaygın ve kusursuz güvenlik özelliklerine göz atalım.

Docker ve bileşenlerini güncel tutun tıpkı uygulamalar, yazılımlar, kitaplıklar ve bağımlılıklarda yaptığınız gibi. Yeni güncellemeler her zaman gösterişli UI veya geliştirilmiş UX ile ilgili değildir. Her güncellemede kritik güvenlik açıkları belirlenir ve düzeltilir.

Bir görüntü oluşturmaya başlarken, bir basit temel görüntü saldırı yüzeyini azaltmak için. Kullanılmayan paketleri ve yapılandırmaları temel görüntüden kaldırmak, saldırı yüzeyini azaltabilir. Varsayılan olarak Docker, ayrıcalık yükseltme saldırılarına neden olabilecek kapsayıcıları kökte çalıştırır. Çalışan dizinin kök olmayan bir düzeye güncellenmesi bu tür saldırıların azaltılmasına yardımcı olabilir.

Kullan COPY yerine komuta ADD dosyaları kaba kopyalarken. bu ADD komutun arşivleri çıkarma ve URL'lerden dosya ekleme yeteneği, saldırı yüzeyini genişletebilir. Kullanılırken yalnızca ana sistemdeki dosyalar kapsayıcıya kopyalanır. COPY. Ek bir akıl sağlığı adımı olarak, güvenlik açıklarını kontrol etmek için düzenli olarak Docker görüntü güvenlik taramaları gerçekleştirin. Bu, görüntünün kullanımının güvenli olduğunu garanti eder.

Dağıtım aşamasında, tavsiye edilir çok aşamalı yapılar kullanın, çünkü bu, gereksiz derleme bağımlılıklarını ve görüntünün boyutunu ortadan kaldırarak kapsayıcının daha hızlı performansını destekler. Ayrıca, size ayrıca tavsiye edilir kullan --security-opt bir kapsayıcı dağıtırken gibi güvenlik ayarlarını uygulamak için seccomp ve yetenekler. Örneğin, --security-opt seccomp=profile.json seçeneği, kaba özel bir seccomp profili uygulamak için kullanılabilir.

Artırılmış bir güvenlik katmanı olarak, ayrıca kök dosya sistemini yalnızca hazır olacak şekilde güncelleyin. Bu, bilgisayar korsanlarının sisteme yeni dosyaları güncellemesini veya enjekte etmesini önler. Bu, basitçe geçirilerek yapılabilir. --ready-only dağıtırken komut.

Kapsayıcılar dağıtıldıktan ve ağda yayınlandıktan sonra, ana sistem yapılandırmasından ağ güvenlik ayarlarına kadar dikkatle ele alınması gereken farklı zorluklar vardır. Sağlam bir ağ güvenliği duruşu uygulamak için, Docker'ın ağ güvenliği özellikleri kullanılabilir. ağ bölümlemesini ve erişim kontrolünü uygulayın. Ağ ilkeleri, kapsayıcılar arasındaki ve kapsayıcılar ile ana bilgisayar sistemi arasındaki trafiği kısıtlamak için geçersiz kılınabilir.

Bir saldırgan, hizmet reddine neden olan ağlara saldırabilir (DDoS) saldırı. liman işçisi kaynak limitleri özelliği CPU ve bellek kullanımı gibi kapsayıcı kaynaklarına sınırlar koyar.

Güvenliğin bir kısmı çeşitli tekniklerin uygulanmasını içerirken, diğer kısmı aktif olarak günlükleri izleme. Günlük dosyalarının düzenli olarak incelenmesi, kişinin şüpheli etkinlikleri, hataları ve anormallikleri önceden görmesini ve uygun önlemleri almasını sağlayabilir.

Günlük izlemenin yanı sıra, çalışan kapsayıcı sağlık denetimleri kapsayıcıların düzgün çalıştığını ve güvenliğinin ihlal edilmediğini doğrulamak için eşit derecede önemlidir. Bir sağlık kontrolü, sorunları tespit etmeye ve düzeltmeye yardımcı olabilir.


Kaynak

Görüntü Güvenliği İçin Gelişmiş Teknikler

Yukarıdaki bölümde, amaçları ve yapı mimarisi ne olursa olsun çoğu kuruluşa fayda sağlayan, yaygın olarak kullanılan bazı en iyi uygulamaları gördük. Ancak, gerçekten en üst düzeyde bir güvenliğe sahip olmak için, genel uygulamaların ötesine geçmek ve bazı yakıcı soruları ele almak önemlidir.

Görüntü Orijinalliğini Zorlamak için Docker İçerik Güvenini Kullanma

Kapsayıcı görüntüleri dijital olarak imzalanır ve Docker içerik güvenini destekleyen bir kayıt defterinde yayınlanır. Bir itme veya çekme işlemi gerçekleştirildiğinde, imzalar doğrulanır ve böylece görüntü özgünlüğünde içerik güveni sağlanır.

Docker içerik güvenini görüntü orijinalliğini zorlamak üzere etkinleştirmek için önce Docker içerik güvenini etkinleştirin; DOCKER_CONTENT_TRUST env değişkenini 1 yapın veya ekleyin export DOCKER_CONTENT_TRUST = 1 kabuk profilinize. Bundan sonra, çalıştırarak bir imzalama anahtarı oluşturun. docker trust key generate.

Ardından, Docker kapsayıcı görüntülerinizi yürüterek imzalayın docker trust sign Bu, orijinalliği doğrulamak için kullanılacak bir dijital imza oluşturacaktır. Son olarak, çalıştırarak görüntüyü yayınlayın ve doğrulayın. docker trust inspect. Bu, imzalayan ve imzalama anahtarı dahil olmak üzere resim hakkındaki bilgileri gösterecektir.

Görüntülerdeki Güvenlik Açıklarını Tespit Etmek İçin Docker Güvenlik Taramasını Kullanma

Docker güvenlik tarama hizmetine abone olarak ve Docker kurulumunuza abonelik kimlik bilgileri ekleyerek, herhangi bir görüntüyü çalıştırarak tarayabilirsiniz. docker scan .

Tarama, görüntünün tüm ayrıntılarını içeren bir raporunu döndürür. Bilinen güvenlik açıklarını belirlemek ve düzeltmek için gerekli adımları atmak için bu raporu inceleyebilirsiniz. Bu, paketleri güncellemeyi, görüntüyü güncellenmiş bağımlılıklarla yeniden oluşturmayı veya ek güvenlik önlemleri uygulamayı içerebilir.

Görüntülerdeki Hassas Bilgileri Güvenli Bir Şekilde Depolamak için Docker Secrets Nasıl Kullanılır?

Docker Secrets, hassas bilgileri şifreler ve bunları bağlı bir dizindeki dosyalar olarak kapsayıcıların kullanımına sunar.

İlk olarak, kullanarak bir Docker Secret oluşturun. docker secret create emretmek. Sırrı bir kapsayıcıda kullanmak için onu bir dosya olarak bağlamanız gerekir. Bu, Docker run komutuyla –secret seçeneği kullanılarak gerçekleştirilebilir. Bir sır oluşturmak için tam komut aşağıdadır:

docker --run name --secret

Bu sır, '/run/secrets/' dizinindeki kapsayıcıya bir dosya olarak mevcuttur.

Sır, kaba bağlandıktan sonra, değerine bağlı dizinde bir dosya olarak erişebilirsiniz.

Görüntülerdeki hassas bilgileri güvenli bir şekilde depolamak için Docker Secrets'ı kullanarak kapsayıcılı uygulamalarınızın güvenliği tehlikeye atmadan ihtiyaç duydukları verilere erişmesini sağlayabilirsiniz. Bu, hassas verilere yetkisiz erişimi önleyerek ortamınızın genel güvenliğini artırabilir.

Sonuç

Yukarıdaki bölümlerde gördüğümüz gibi Docker güvenlik özellikleri, görüntü oluşturmadan çalışma zamanına kadar çeşitli aşamalarda güvenliği artırmanın farklı yollarını sunar. Öne çıkanlar arasında seccomp, kullanıcı ad alanları ve Docker yetenekleri bulunur.

Güvenlik göz ardı edilemeyecek bir husustur. Bulutta yerel bir mimariyi güvence altına almanın ilk adımı, her zaman temel bileşenlerinin zayıf yönlerini dikkate almaktır. Bu nedenle kuruluşlar, kaplara ve bunları destekleyen altyapıya odaklanan güçlü bir güvenlik profiline sahip olmalıdır.

Uçtan uca güvenliği uygulamanın birkaç yolu olsa da amaç her zaman zayıf alanları dikkate almak ve riskleri azaltan en iyi uygulamaları kullanmaktır.

spot_img

En Son İstihbarat

spot_img