Kubernetes Tehdit Modeli
Kümelerin nerelerden saldırıya uğrayabildiği.
Kubernetes Tehdit Modeli, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Kubernetes Neden Hedef
Kubernetes, konteynerleri birçok düğüm arasında düzenler. Gizli bilgileri, ağı ve işlem kaynaklarını merkezileştirdiğinden, kümenin ele geçirilmesi çalıştırdığı her iş yükünün ele geçirilmesi anlamına gelebilir.
- Tek bir API sunucusu tüm kümeyi denetler.
- Düğümler, birden çok kiracının iş yüklerini yan yana çalıştırır.
- Yanlış yapılandırma, temel CVE'lerden çok daha yaygındır.
Küme Mimarisi Özeti
Tehdit modellemesi yapabilmek için bileşenleri bilin.
- Denetim düzlemi: API sunucusu, etcd, zamanlayıcı, denetleyici yöneticisi.
- Düğümler: kubelet, konteyner çalışma zamanı, kube-proxy, pod'lar.
- etcd, tüm küme durumunu ve gizli bilgileri saklar.
API sunucusu tek giriş noktasıdır; etcd ise en değerli veri varlığıdır.
Saldırı Yüzeyi Haritası
Saldırılar farklı katmanları hedef alır.
- Harici: açığa çıkmış API sunucusu, gösterge panoları, giriş noktaları.
- İş yükü: bir pod içindeki ele geçirilmiş uygulama.
- Kimlik: hizmet hesabı belirteçleri ve RBAC.
- Düğüm: kubelet API'si, konteynerden ana bilgisayara kaçış.
- Tedarik zinciri: kötü amaçlı imajlar ve bağımlılıklar.
Açığa Çıkmış Denetim Düzlemi
İnternetten erişilebilen bir API sunucusu veya zayıf kimlik doğrulamaya sahip kubelet, kümenin doğrudan ele geçirilmesini sağlar.
- API sunucusunda anonim erişim etkin.
- kubelet okuma/yazma API'si (10250 numaralı bağlantı noktası) açığa çıkmış.
- Yönetici bağlamasına sahip açık bir Kubernetes gösterge panosu.
# Probe an exposed kubelet for running pods
curl -sk https://NODE_IP:10250/pods
# Test anonymous API access
kubectl --insecure-skip-tls-verify --server https://API:6443 get podsPod İçindeki İlk Tutuş Noktası
En yaygın başlangıç noktası, bir pod içinde çalışan uygulamadaki RCE'dir. Saldırganlar pod'un içinden şunları bulur:
/var/run/secrets/...konumunda bağlanmış bir hizmet hesabı belirteci.- Erişilebilir iç hizmetler (ağ ilkesi yok).
- Çoğu zaman
kubernetes.defaultolarak çözümlenebilen API sunucusu.
# From inside a pod: read the mounted SA token
cat /var/run/secrets/kubernetes.io/serviceaccount/token
# Use it against the API
curl -sk -H "Authorization: Bearer $(cat .../token)" https://kubernetes.default/api/v1/namespaces/default/podsKonteynerden Kaçış
Bir konteynerden düğüme kaçmak, o ana bilgisayardaki tüm iş yüklerine erişim sağlar.
- Ayrıcalıklı konteynerler, ana bilgisayar aygıtlarına erişebilir ve kaçabilir.
- hostPID/hostNetwork/hostPath bağlamaları etki alanını genişletir.
- Bağlanmış bir Docker soketi, ayrıcalıklı bir konteyner başlatmanıza olanak tanır.
- Tehlikeli yetenekler (
SYS_ADMIN) kaçışı mümkün kılar.
# A privileged pod can mount the host filesystem and chroot to it
mount /dev/sda1 /mnt && chroot /mnt shetcd: Gizli Bilgi Deposu
etcd, varsayılan olarak yalnızca base64 ile kodlanan Gizli Bilgiler de dâhil olmak üzere tüm küme durumunu tutar. Doğrudan etcd erişimi (yanlış yapılandırılmış kümelerde çoğu zaman kimlik doğrulamasızdır) tüm gizli bilgileri açığa çıkarır.
# Read all secrets from an exposed etcd
etcdctl --endpoints=https://NODE:2379 get / --prefix --keys-onlyKümelerde Yanal Hareket
Saldırganlar içeri girdikten sonra küme kimliğini ve ağ iletişimini kullanarak sıçrama yapar.
- Fazla izinli bir hizmet hesabı, ayrıcalıklı pod'lar oluşturmanıza olanak tanır.
- Düz pod ağları (NetworkPolicy yok), herhangi bir hizmete ulaşılmasına izin verir.
- Bir pod'u hedef düğümde zamanlamak, düğümün ele geçirilmesini sağlar.
Pod'lardan Bulut Meta Verileri
Yönetilen kümelerde (EKS/GKE/AKS), pod'lar düğümün bulut meta veri hizmetine ulaşabilir ve düğümün IAM/rol kimlik bilgilerini çalabilir. Böylece kümenin ele geçirilmesi bulut hesabına taşınır.
Savunmalar arasında IMDSv2 kullanmak, ağ katmanında meta veri erişimini engellemek ve düğüm rolleri yerine iş yükü kimliği kullanmak bulunur.
Araçlarla Haritalama
Araçlar, küme tehdit değerlendirmesini otomatikleştirir.
- kube-hunter, açığa çıkmış bileşenleri yoklar.
- kube-bench, CIS karşılaştırma ölçütüne uygunluğu denetler.
- Peirates / kubeletctl, küme içindeki saldırı yollarını sınar.
# Assess attack surface
kube-hunter --remote API_IP
# CIS benchmark check on a node
kube-bench run --targets nodeSavunma Öncelikleri
Tehdit modeli, açık savunma önceliklerine işaret eder: API sunucusunu kilitleyin, RBAC'ı kısıtlayın, pod'ları yalıtın, düğümleri güçlendirin ve tedarik zincirini güvenceye alın. Sonraki derslerde her biri ayrıntılı olarak ele alınır.
Sınama yaparken yalnızca yetkiniz olan kümelere saldırın ve üretim iş yüklerinin dengesini bozmaktan kaçının.
Hızlı Kontrol
Kubernetes tehdit modellemesinin temellerini doğrulayın.
Özet
Kubernetes kümelerinin nerelerden saldırıya uğradığını haritaladınız.
- API sunucusu ve etcd, merkezi ve en değerli hedeflerdir.
- Pod içindeki ilk tutunma noktaları, bağlanmış SA belirteçlerinden ve düz ağlardan yararlanır.
- Ayrıcalıklı/hostPath pod'ları, konteynerden düğüme kaçışı mümkün kılar.
- Yönetilen kümeler, meta verilere dayalı olarak buluta sıçrama riski taşır.
Sıradaki konu: RBAC ve hizmet hesapları.
Sıkça Sorulan Sorular
“Kubernetes Tehdit Modeli” dersi ücretsiz mi?
Evet — “Kubernetes Tehdit Modeli” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Kubernetes Tehdit Modeli” dersinde ne öğreneceğim?
Kümelerin nerelerden saldırıya uğrayabildiği. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Kubernetes Tehdit Modeli” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kubernetes Tehdit Modeli
- RBAC ve Hizmet Hesapları
- Pod Güvenliği ve Ağ İlkeleri
- Tedarik Zincirini ve Gizli Bilgileri Güvenceye Alma