Kubernetes Hardening
Bir küme analiz etmek için araçlar
Kubescape, çoklu bulut K8s tek bir pencere sunan, risk analizi, güvenlik uyumluluğu, RBAC görselleştirici ve görüntü zafiyet taraması sağlayan bir K8s açık kaynaklı araçtır. Kubescape, K8s kümelerini, YAML dosyalarını ve HELM grafiklerini tarar, çoklu çerçevelere (örneğin NSA-CISA, MITRE ATT&CK®) göre yanlış yapılandırmaları, yazılım zafiyetlerini ve RBAC (rol-tabanlı erişim kontrolü) ihlallerini CI/CD boru hattının erken aşamalarında tespit eder, risk puanını anında hesaplar ve zaman içindeki risk eğilimlerini gösterir.
kube-bench aracı, CIS Kubernetes Benchmark belgelerinde belirtilen kontrolleri çalıştırarak Kubernetes'in güvenli bir şekilde dağıtılıp dağıtılmadığını kontrol eden bir araçtır. Aşağıdaki seçeneklerden birini seçebilirsiniz:
kube-bench'i bir konteyner içinden çalıştırabilirsiniz (ana bilgisayarla PID alanını paylaşır)
ana bilgisayara kube-bench'i yükleyen bir konteyner çalıştırabilir ve ardından kube-bench'i doğrudan ana bilgisayarda çalıştırabilirsiniz
Yayınlar sayfasından en son ikili dosyaları yükleyebilirsiniz,
kaynak kodundan derleyebilirsiniz.
kubeaudit aracı, çeşitli güvenlik endişeleri için Kubernetes kümelerini denetlemek için bir komut satırı aracı ve Go paketidir.
Kubeaudit, bir kümedeki bir konteyner içinde çalıştırılıp çalıştırılmadığını tespit edebilir. Eğer öyleyse, kümedeki tüm Kubernetes kaynaklarını denetlemeye çalışacaktır:
Bu araç ayrıca tespit edilen sorunları otomatik olarak düzeltmek için autofix
argümanına sahiptir.
kube-hunter aracı, Kubernetes kümesindeki güvenlik zayıflıklarını arar. Araç, Kubernetes ortamlarındaki güvenlik sorunlarına yönelik farkındalığı ve görünürlüğü artırmak amacıyla geliştirilmiştir.
Kubei, kubernetes kümelerinin doğru ve hızlı bir şekilde risk değerlendirmesini yapabilen bir zafiyet tarama ve CIS Docker benchmark aracıdır. Kubei, uygulama podları ve sistem podları dahil olmak üzere bir Kubernetes kümesinde kullanılan tüm görüntüleri tarar.
KubiScan, Kubernetes kümesini Kubernetes'in Rol tabanlı erişim kontrolü (RBAC) yetkilendirme modelinde riskli izinler açısından tarayan bir araçtır.
IaC Kodunu Denetleme
Popeye, canlı bir Kubernetes kümesini tarayan ve dağıtılan kaynaklar ve yapılandırmalarla ilgili potansiyel sorunları raporlayan bir yardımcı programdır. Diskte bulunanlara değil, dağıtılanlara dayanarak kümenizi temizler. Kümenizi tarayarak yanlış yapılandırmaları tespit eder ve en iyi uygulamaların yerine getirilmesini sağlar, böylece gelecekteki baş ağrılarını önler. Vahşi doğada bir Kubernetes kümesini işletirken karşılaşılan bilişsel yükü azaltmayı amaçlar. Ayrıca, kümeniz bir ölçüm sunucusu kullanıyorsa, potansiyel kaynak aşırı/eksik tahsislerini raporlar ve kümenizin kapasitesi tükendiğinde sizi uyarır.
KICS, aşağıdaki Altyapı olarak Kod çözümlerinde güvenlik açıkları, uyumluluk sorunları ve altyapı yanlı yapılandırmalarını bulur: Terraform, Kubernetes, Docker, AWS CloudFormation, Ansible, Helm, Microsoft ARM ve OpenAPI 3.0 özellikleri
Checkov, altyapı olarak kod için bir statik kod analizi aracıdır.
Terraform, Terraform plan, Cloudformation, AWS SAM, Kubernetes, Dockerfile, Serverless veya ARM Şablonları kullanarak oluşturulan bulut altyapısını tarar ve graf tabanlı tarama kullanarak güvenlik ve uyumluluk yanlı yapılandırmalarını tespit eder.
kube-score, Kubernetes nesne tanımlarınızın statik kod analizini gerçekleştiren bir araçtır.
Kurulum için:
Dağıtım | Komut / Bağlantı |
---|---|
macOS, Linux ve Windows için derlenmiş ikili dosyalar | |
Docker |
|
Homebrew (macOS ve Linux) |
|
Krew (macOS ve Linux) |
|
İpuçları
Kubernetes PodSecurityContext ve SecurityContext
PodSecurityContext ile Pod'ların güvenlik bağlamını ve SecurityContext ile çalıştırılacak olan konteynerlerin güvenlik bağlamını yapılandırabilirsiniz. Daha fazla bilgi için okuyun:
Kubernetes SecurityContext(s)Kubernetes API Sıkılaştırma
Kötü niyetli bir aktör yeterli yetkilere sahipse, Kubernetes Api Sunucusuna erişimi korumak çok önemlidir ve çevreye birçok şekilde zarar verebilir. Erişimi (API Sunucusuna erişimi olan kaynakları beyaz listeye almak ve diğer bağlantıları reddetmek) ve kimlik doğrulama (en az ayrıcalık ilkesini takip etmek) güvence altına almak önemlidir. Ve kesinlikle anonim isteklere izin vermemek.
Ortak İstek Süreci: Kullanıcı veya K8s ServiceAccount –> Kimlik doğrulama –> Yetkilendirme –> Kabul Kontrolü.
İpuçları:
Portları kapatın.
Anonim erişimi önleyin.
NodeRestriction; API'ye belirli düğümlerden erişimi engelleyin.
Temel olarak, kubeletlerin düğümlerini izolasyon amacıyla etiketlemek için yöneticilerin ayrıcalıklı olarak kullandığı bir etiket öneki olan node-restriction.kubernetes.io/ ile başlayan etiketleri eklemesini/çıkarmasını/güncellemesini engeller. Ve kubeletlerin bu etiketleri ve etiket öneklerini eklemesine/çıkarmasına/güncellemesine izin verir.
Etiketlerle güvenli iş yükü izolasyonunu sağlayın.
API erişimine özel podları engelleyin.
ApiServer'ın internete maruz kalmasını önleyin.
Yetkisiz erişimi RBAC ile engelleyin.
ApiServer portunu güvenlik duvarı ve IP beyaz listesi ile koruyun.
SecurityContext Sıkılaştırma
Varsayılan olarak, başka bir kullanıcı belirtilmediğinde bir Pod başlatıldığında kök kullanıcısı kullanılır. Aşağıdaki şablona benzer bir şablonda uygulamanızı daha güvenli bir bağlamda çalıştırabilirsiniz:
Genel Sıkılaştırma
Kubernetes ortamınızı, aşağıdaki gibi sık sık güncellemelisiniz:
Güncel bağımlılıklar.
Hata ve güvenlik yamaları.
Sürüm döngüleri: Her 3 ayda bir yeni bir küçük sürüm yayınlanır -- 1.20.3 = 1(Büyük).20(Küçük).3(yama)
Bir Kubernetes Kümesini güncellemenin en iyi yolu (buradan) buradan):
Master Düğüm bileşenlerini aşağıdaki sırayla güncelleyin:
etcd (tüm örnekler).
kube-apiserver (tüm kontrol düzlemi ana bilgisayarları).
kube-controller-manager.
kube-scheduler.
Bulut denetleyici yöneticisi, kullanıyorsanız.
kube-proxy, kubelet gibi Worker Düğüm bileşenlerini güncelleyin.
Last updated