Files
hacktricks-cloud/src/pentesting-cloud/openshift-pentesting/openshift-scc.md

3.4 KiB
Raw Blame History

Openshift - SCC

Bu sayfanın orijinal yazarı Guillaume

Tanım

OpenShift bağlamında, SCC Güvenlik Bağlamı Kısıtlamaları anlamına gelir. Güvenlik Bağlamı Kısıtlamaları, OpenShift kümelerinde çalışan podlar için izinleri kontrol eden politikalardır. Bir podun çalışmasına izin verilen güvenlik parametrelerini tanımlar, hangi eylemleri gerçekleştirebileceği ve hangi kaynaklara erişebileceği dahil.

SCC'ler, yöneticilerin küme genelinde güvenlik politikalarını uygulamasına yardımcı olur, podların uygun izinlerle çalıştığından ve kurumsal güvenlik standartlarına uyduğundan emin olur. Bu kısıtlamalar, pod güvenliğinin çeşitli yönlerini belirtebilir, örneğin:

  1. Linux yetenekleri: Konteynerlere, ayrıcalıklı eylemleri gerçekleştirme yeteneği gibi mevcut yetenekleri sınırlama.
  2. SELinux bağlamı: Konteynerler için SELinux bağlamlarını uygulama, bu bağlamlar süreçlerin sistemdeki kaynaklarla nasıl etkileşime girdiğini tanımlar.
  3. Sadece okunabilir kök dosya sistemi: Konteynerlerin belirli dizinlerdeki dosyaları değiştirmesini önleme.
  4. İzin verilen ana bilgisayar dizinleri ve hacimleri: Bir podun hangi ana bilgisayar dizinlerini ve hacimlerini monte edebileceğini belirtme.
  5. UID/GID olarak çalıştırma: Konteyner sürecinin çalıştığı kullanıcı ve grup kimliklerini belirtme.
  6. Ağ politikaları: Podlar için ağ erişimini kontrol etme, örneğin çıkış trafiğini kısıtlama.

SCC'leri yapılandırarak, yöneticiler podların uygun güvenlik izolasyonu ve erişim kontrolleri ile çalıştığından emin olabilir, bu da küme içinde güvenlik açıkları veya yetkisiz erişim riskini azaltır.

Temelde, her seferinde bir pod dağıtımı talep edildiğinde, aşağıdaki gibi bir kabul süreci yürütülür:

Bu ek güvenlik katmanı varsayılan olarak ayrıcalıklı podların oluşturulmasını, ana bilgisayar dosya sisteminin monte edilmesini veya ayrıcalık yükselmesine yol açabilecek herhangi bir niteliğin ayarlanmasını yasaklar.

{{#ref}} ../kubernetes-security/abusing-roles-clusterroles-in-kubernetes/pod-escape-privileges.md {{#endref}}

SCC Listesi

OpenShift İstemcisi ile tüm SCC'leri listelemek için:

$ oc get scc #List all the SCCs

$ oc auth can-i --list | grep securitycontextconstraints #Which scc user can use

$ oc describe scc $SCC #Check SCC definitions

Tüm kullanıcılar, en katı SCC'ler olan varsayılan SCC "restricted" ve "restricted-v2" erişimine sahiptir.

SCC Kullanımı

Bir pod için kullanılan SCC, bir anotasyon içinde tanımlanır:

$ oc get pod MYPOD -o yaml | grep scc
openshift.io/scc: privileged

Bir kullanıcı birden fazla SCC'ye erişim sağladığında, sistem güvenlik bağlamı değerleriyle uyumlu olanı kullanacaktır. Aksi takdirde, yasaklı bir hata tetiklenecektir.

$ oc apply -f evilpod.yaml #Deploy a privileged pod
Error from server (Forbidden): error when creating "evilpod.yaml": pods "evilpod" is forbidden: unable to validate against any security context constrain

SCC Bypass

{{#ref}} openshift-privilege-escalation/openshift-scc-bypass.md {{#endref}}

References