RBAC ve Hizmet Hesapları
Küme erişimini sıkılaştırma.
RBAC ve Hizmet Hesapları, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 2. 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.
RBAC Her Şeyi Denetler
Rol Tabanlı Erişim Denetimi (RBAC), bir kümede hangi kimliklerin hangi kaynaklar üzerinde hangi eylemleri gerçekleştirebileceğine karar verir. Her API çağrısı RBAC'a göre yetkilendirilir. Yanlış yapılandırılmış RBAC, küme içi yetki yükseltmenin başlıca nedenidir.
- Özneler: kullanıcılar, gruplar, hizmet hesapları.
- Roller, fiilleri kaynaklara bağlar.
- Bağlamalar, özneleri rollere bağlar.
Roller ve ClusterRoles Karşılaştırması
İki kapsam vardır.
- Rol + RoleBinding: ad alanı kapsamındaki izinler.
- ClusterRole + ClusterRoleBinding: küme genelindeki izinler.
cluster-admin için bir ClusterRoleBinding tam denetim sağlar. Bunu bir hizmet hesabına vermek sık rastlanan ve tehlikeli bir hatadır.
Hizmet Hesabı Belirteçleri
Her pod bir hizmet hesabı olarak çalışır ve varsayılan olarak kendi belirtecini bağlar. Bu belirteç, hesabın RBAC yetkilerini taşıyan bir taşıyıcı kimlik bilgisidir. Pod ele geçirilirse belirteç de ele geçirilmiş olur.
Modern kümeler kısa ömürlü, hedef kitleye bağlı yansıtılmış belirteçler verir; ancak eski, uzun ömürlü gizli belirteçler hâlâ ortalıkta bulunur.
# Inspect which service account a pod uses
kubectl get pod web -o jsonpath='{.spec.serviceAccountName}'İzinlerinizi Listeleme
Bir belirteci ele geçirdikten sonraki ilk adım, bu belirteçle neler yapılabileceğini öğrenmektir. Kubernetes, bunun için bir öz-denetim API'si sağlar.
# What can this token do?
kubectl auth can-i --list
# Specific checks
kubectl auth can-i create pods
kubectl auth can-i create clusterrolebindingsTehlikeli İzin Birleşimleri
Bazı fiiller, cluster-admin olmadan bile yetki yükseltme araçlarıdır.
create pods: kaçmak için ayrıcalıklı veya hostPath kullanan bir pod zamanlayın.create pods/exec: mevcut pod'larda komut çalıştırın.get/list secrets: küme genelindeki kimlik bilgilerini okuyun.create rolebindings/clusterrolebindings: kendinizi yöneticiye bağlayın.escalate/bindfiilleri: sahip olmadığınız hakları verin.- Kimliğe bürünme: daha ayrıcalıklı başka bir özne gibi davranın.
Pod Oluşturarak Yetki Yükseltme
Bir hizmet hesabı pod oluşturabiliyorsa çoğu zaman düğümün denetimini ele geçirebilir. Saldırgan, ana bilgisayar dosya sistemini bağlayan veya ayrıcalıklı olarak çalışan bir pod zamanlar; ardından düğüm kimlik bilgilerini okur ya da kaçar.
# Pod spec snippet that mounts the host root
# volumes: hostPath path: / ; container mounts it at /host
kubectl apply -f evil-pod.yaml
kubectl exec -it evil -- chroot /host bashBağlama Yoluyla Yetki Yükseltme
Rol veya küme rolü bağlamaları oluşturabiliyorsanız hizmet hesabınızı doğrudan cluster-admin'e bağlayabilirsiniz. Kubernetes bunu bind/escalate fiilleriyle korur, ancak yanlış yapılandırılmış roller bazen buna izin verir.
# Bind a service account to cluster-admin (if permitted)
kubectl create clusterrolebinding pwn \
--clusterrole=cluster-admin \
--serviceaccount=default:webKimliğe Bürünmenin Kötüye Kullanımı
impersonate fiili, bir öznenin herhangi bir kullanıcı, grup veya hizmet hesabı gibi davranmasına olanak tanır. Geniş kapsamlı kimliğe bürünme yetkisine sahip bir kimlik, fiilen kümedeki tüm izinlere sahiptir.
# Act as a privileged user via impersonation
kubectl get secrets --as=admin-user --as-group=system:mastersRBAC Denetimi
Savunmacılar, riskli yetki tanımlamalarını bulmak için RBAC'ı sürekli gözden geçirmelidir.
- cluster-admin'e bağlanmış özneleri bulun.
- Joker karakter kullanan fiilleri/kaynakları (
*) işaretleyin. - Yönetici olmayan hesaplara verilen gizli bilgi okuma ve pod oluşturma yetkilerini tespit edin.
# Tools to audit RBAC
kubectl-who-can create pods
rbac-tool analysis
rakkess --as=system:serviceaccount:default:webHizmet Hesaplarını Güçlendirme
Kimliklere en az ayrıcalık ilkesini uygulayın.
- Pod'un API erişimine gerek olmadığı yerlerde
automountServiceAccountToken: falseayarını yapın. - Her iş yüküne kendine ait ve kapsamı en aza indirilmiş bir hizmet hesabı verin.
- Gerçek iş yükleri için
defaulthizmet hesabını kullanmaktan kaçının. - Hedef kitleleri belirtilmiş kısa ömürlü yansıtılmış belirteçler kullanın; bunları yenileyin ve bağlayın.
- İş yüklerini hiçbir zaman cluster-admin'e bağlamayın.
RBAC'ı Etik Olarak Sınama
RBAC'ı değerlendirirken üretimde gerçekten cluster-admin bağlamaları oluşturmaktansa, yıkıcı olmayan kontrolleri (auth can-i, deneme çalıştırması) tercih edin. Yetki yükseltmeyi kanıtlamanız gerekiyorsa kapsamı bir sınama ad alanıyla sınırlayın ve oluşturduğunuz tüm bağlamaları veya pod'ları kaldırın.
Güçlendirilebilmeleri için yetki yükseltmeyi mümkün kılan kesin rolleri ve bağlamaları bildirin.
Hızlı Kontrol
RBAC anlayışınızı doğrulayın.
Özet
RBAC'ın ve hizmet hesaplarının küme erişimini nasıl yönettiğini ve tehdit oluşturduğunu öğrendiniz.
- RBAC, özneleri kaynaklar üzerindeki fiillere bağlar; cluster-admin tam denetimdir.
- Pod'lar SA belirteçlerini bağlar;
auth can-ibu belirteçlerin erişim kapsamını gösterir. - Pod oluşturma, bağlama, gizli bilgi okuma ve kimliğe bürünme, yetki yükseltme araçlarıdır.
- En az ayrıcalıklı hesaplar ve devre dışı bırakılmış otomatik bağlama, kümeyi güçlendirir.
Sıradaki konu: pod güvenliği ve ağ ilkeleri.
Sıkça Sorulan Sorular
“RBAC ve Hizmet Hesapları” dersi ücretsiz mi?
Evet — “RBAC ve Hizmet Hesapları” 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.
“RBAC ve Hizmet Hesapları” dersinde ne öğreneceğim?
Küme erişimini sıkılaştırma. 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 2. dersidir.
“RBAC ve Hizmet Hesapları” 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