Openshift - SCC

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Originalni autor ove stranice je Guillaume

Definicija

U kontekstu OpenShift-a, SCC označava Security Context Constraints. Security Context Constraints su politike koje kontrolišu dozvole za podove koji rade na OpenShift klasterima. One definišu sigurnosne parametre pod kojima je podu dozvoljeno da radi, uključujući koje akcije može da izvršava i koje resurse može da pristupa.

SCC pomažu administratorima da sprovode sigurnosne politike širom klastera, osiguravajući da podovi rade sa odgovarajućim dozvolama i da se pridržavaju organizacionih sigurnosnih standarda. Ove restrikcije mogu specificirati različite aspekte sigurnosti poda, kao što su:

  1. Linux sposobnosti: Ograničavanje sposobnosti dostupnih kontejnerima, kao što je mogućnost izvršavanja privilegovanih akcija.
  2. SELinux kontekst: Sprovođenje SELinux konteksta za kontejnere, koji definiše kako procesi interaguju sa resursima na sistemu.
  3. Read-only root filesystem: Sprečavanje kontejnera da modifikuju datoteke u određenim direktorijumima.
  4. Dozvoljeni host direktorijumi i volumeni: Specifikovanje koji host direktorijumi i volumeni mogu biti montirani od strane poda.
  5. Pokreni kao UID/GID: Specifikovanje korisničkih i grupnih ID-ova pod kojima proces kontejnera radi.
  6. Mrežne politike: Kontrolisanje mrežnog pristupa za podove, kao što je ograničavanje izlaznog saobraćaja.

Konfigurišući SCC, administratori mogu osigurati da podovi rade sa odgovarajućim nivoom sigurnosne izolacije i kontrola pristupa, smanjujući rizik od sigurnosnih ranjivosti ili neovlašćenog pristupa unutar klastera.

U suštini, svaki put kada se zatraži implementacija poda, izvršava se proces prijema kao što je sledeće:

Ova dodatna sigurnosna sloj po defaultu zabranjuje kreiranje privilegovanih podova, montiranje host fajl sistema ili postavljanje bilo kojih atributa koji bi mogli dovesti do eskalacije privilegija.

Pod Escape Privileges

Lista SCC

Da biste naveli sve SCC sa Openshift klijentom:

bash
$ 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

Svi korisnici imaju pristup podrazumevanju SCC "restricted" i "restricted-v2" koji su najstroži SCC-ovi.

Koristite SCC

SCC koji se koristi za pod je definisan unutar anotacije:

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

Kada korisnik ima pristup više SCC-ova, sistem će koristiti onaj koji se usklađuje sa vrednostima sigurnosnog konteksta. U suprotnom, biće pokrenuta greška zabranjeno.

bash
$ 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

OpenShift - SCC bypass

References

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks