İstenmeyen modüllerin yüklenmesini önleyerek bir Kubernetes kümesini koruma

Konteynerleri emniyete alma yolu uzun ve dolambaçlıdır. Bu yolculuğa çıkmanız gereken bir durak, Linux kaplarınızdaki gereksiz çekirdek modüllerini boşaltmaktır.

<a href = "https://tr1.cbsistatic.com/hub/i/r/2020/03/05/8532e87c-d24d-40db-b1b2-0687a868a7b9/resize/770x/56ee7c286c2f288eb73750e174f7ba01/security" "hedef" _blank "data-component =" modalEnlargeImage "data-headline ="

"data-credit =" Resim: iStockphoto / BigNazik "rel =" noopener noreferrer nofollow ">Kürek mavi dijital arka plan üzerinde. güvenlik kavramları

Resim: iStockphoto / BigNazik

Kubernetes inanılmaz bir konteyner yönetim sistemidir. Ancak bu güç ile geliştiriciler ve yöneticiler adına büyük bir sorumluluk gelir. Güvenli kümelere güvenli kaplar dağıtmıyorsanız, en başından beri kaybettiğiniz bir savaşta savaşıyorsunuz demektir.

Neyse ki, bu bahsettiğimiz Linux, bu yüzden dağıtımlarınızın güvenliğini sağlamak için yapabileceğiniz çok şey var.

Üstlenebileceğiniz çok önemli bir görev, istenmeyen çekirdek modüllerinin kaplarınıza yüklenmesini önlemektir. Açılışta kaç modül yüklendiğine şaşıracaksınız – birçoğu muhtemelen kaplarınızda kullanmanıza gerek yok.

Ama onların yüklenmesini nasıl önlersiniz? Size göstereceğim.

GÖRMEK: Windows 10 güvenliği: İş dünyası liderleri için kılavuz (TechRepublic Premium)

Gerekenler

Bunu en son Ubuntu Server görüntüsüne dayanan bir kap kullanarak göstereceğim. Bunu şu şekilde yapacağım multipass aracı. Multipass'ı yükleme ve kullanma hakkında daha fazla bilgi için eğiticime göz atın: Sanal makineleri başlatmak için yeni bir araç olan Multipass nasıl kullanılır.

Multipass kullanmıyorsanız, konteynerleriniz Linux tabanlı olduğu sürece, hangi konteyner teknolojisini kullandığınıza bakılmaksızın yine de bununla ilgilenebilirsiniz.

Ubuntu kapsayıcısı nasıl dağıtılır ve erişilir

Önce Multipass ile yeni bir kap dağıtalım. Ubuntu Daily 20.04'ü şu komutla dağıtacağız:

multipass launch daily:20.04

Kapsayıcı başlatıldıktan sonra, dağıtım için rastgele oluşturulmuş bir ad sunulur. Bu adı kaçırırsanız, şu komutla görüntüleyebilirsiniz:

multipass list

Kapsayıcı dağıtıldığına göre, kabuğuna şu komutla erişin:

multipass shell NAME

Burada NAME, kap için rastgele oluşturulan addır.

Modülleri kaldırma ve kara listeye alma

Yapacağımız şey, konteynerlerimize yüklemek istemediğimiz modüllerin kara listesidir. Bunu yapmak için önce hangi modüllerin yüklendiğini bilmelisiniz. Yüklü olan tüm modülleri listelemek için şu komutu verin:

lsmod

Şu anda çekirdeğe yüklenmiş olan her modülle karşılaşacaksınız (Şekil A).

Şekil A

<a href = "https://tr4.cbsistatic.com/hub/i/r/2020/04/09/38de798f-4938-4253-9665-af1cd53e31c1/resize/770x/3adbd6188379043d9ff3bd6e32dda048/modules-loaded.jpg target" = "_ boş" data-component = "modalEnlargeImage" data-headline = "

Şu anda yüklü modüller Ubuntu 20.04'te.

"data-credit =" http://www.techrepublic.com/ "rel =" noopener noreferrer nofollow ">modules-loaded.jpg "data-original =" https://tr4.cbsistatic.com/hub/i/r/2020/04/09/38de798f-4938-4253-9665-af1cd53e31c1/resize/770x/3adbd6188379043d9ff3bd6e32dda048/modules -loaded.jpg

Şu anda yüklü modüller Ubuntu 20.04'te.

Bu listeyi tarayın ve kapsayıcınızın çekirdeğine yüklemek istemediğiniz tüm modülleri bulun. Konteynerlerin genellikle çok özel bir amacı vardır, muhtemelen kara listeye alabileceğimiz birkaç tane var.

Aslında, önyükleme sırasında yüklemek istemediğimiz bir modül kara listesi oluşturmadan önce, bunları kaldırmamız gerekir. Neden? Bu bir kapsayıcıdır, sanal bir makine veya standart bir işletim sistemi değildir, bu nedenle yeniden başlatamazsınız. Bu yüzden modülleri manuel olarak boşaltmamız gerekiyor.

Çalışan bir modülü manuel olarak kaldırmak için şu komutu verin:

sudo modprobe -r MODULENAME

Burada MODULENAME modülün adıdır.

Lsmod komutunu verirseniz, modülün artık çekirdeğe yüklenmediğini görmelisiniz.

Listenizi derledikten sonra, kara liste dosyasını düzenleme için şu komutla açın:

sudo nano /etc/modprobe.d/blacklist.conf

Bu dosyaya yüklenmesini önlemek istediğiniz tüm modülleri şu şekilde ekleyeceksiniz:

blacklist MODULENAME

Burada MODULENAME modülün adıdır. Örneğin, disket çekirdek modülünün yüklenmesini önlemek istediğinizi varsayalım. Bunu yapmak için giriş:

blacklist floppy

Not: İşletim sisteminin çalışması veya konteynerinizin bağlı olduğu her şey için çok önemli olan modülleri kara listeye almamaya dikkat etmek istiyorsunuz. Bu nedenle, bir modülü kara listeye almadan önce, modülün ne yaptığına dair biraz araştırma yaptığınızdan emin olun.

Bu noktada, yüklenmesini istemediğiniz tüm çekirdek modüllerini el ile kaldırdınız ve yüklenmelerini önlemek için bir kara liste oluşturdunuz. Kapsayıcıyı durdurup başlatabilmeniz ve kara listeye alınmış modüllerin artık yüklenmediğini görebilmeniz gerekir.

Ancak, modüllerin hala yüklenmekte olduğunu görürseniz, görüntünün hala değişikliğinizi içermeyen initramfs'ın eski kopyasını kullandığı anlamına gelir. İnitramfs komutuyla yeniden oluşturun:

sudo update-initramfs -u

Kapsayı bir sonraki durdurup başlattığınızda, kara listeye alınan modüllerin kesinlikle yüklenmeyeceğini göreceksiniz.

Herkese uygun tek beden değil

Bu, Kubernetes kapsayıcılarınız için tek boyutlu bir güvenlik önlemi değildir. Bununla birlikte, bir Linux kapsayıcısına bağlı uygulamalarınızı ve hizmetlerinizi geliştirirken göz önünde bulundurmanız gereken bir şeydir. Bir konteynır üzerinde çalışan ve minimum minimum düzeyde olabilecek yabancı – ve bazen güvensiz – modüller istemezsiniz.

Bu işlemi, gerçekten güvenli kaplar yerleştirmek için geçmeniz gereken birçok basamak taşından biri olarak düşünün.

Ayrıca bakınız

Source link

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*