Openshift - SCC

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 se izvršavaju na OpenShift klasterima. Definišu parametre bezbednosti pod kojima je dozvoljeno pokretanje poda, uključujući koje radnje može izvršiti i na koje resurse može pristupiti.

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

  1. Linux sposobnosti: Ograničavanje sposobnosti dostupnih kontejnerima, poput mogućnosti izvršavanja privilegovanih radnji.

  2. SELinux kontekst: Sprovođenje SELinux konteksta za kontejnere, koji definišu kako procesi interaguju sa resursima na sistemu.

  3. Root fajl sistem samo za čitanje: Onemogućavanje kontejnerima da menjaju fajlove u određenim direktorijumima.

  4. Dozvoljeni host direktorijumi i volumeni: Specificiranje koji host direktorijumi i volumeni pod može montirati.

  5. Pokretanje kao UID/GID: Specificiranje korisničkih i grupnih ID-ova pod kojima se izvršava proces kontejnera.

  6. Mrežne politike: Kontrolisanje pristupa mreži za podove, kao što je ograničavanje izlaznog saobraćaja.

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

U osnovi, svaki put kada se zatraži implementacija poda, izvršava se proces prijema kao što sledi:

Ovaj dodatni sloj bezbednosti podrazumevano zabranjuje kreiranje privilegovanih podova, montiranje fajl sistema domaćina ili postavljanje bilo kakvih atributa koji bi mogli dovesti do eskalacije privilegija.

Pod Escape Privileges

Lista SCC

Za prikaz svih SCC-ova sa Openshift klijentom:

$ 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 podrazumevanim SCC "restricted" i "restricted-v2" koji su najstroži SCC-ovi.

Koristi SCC

SCC koji se koristi za jedan pod je definisan unutar jedne napomene :

$ 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 poklapa sa vrednostima konteksta bezbednosti. U suprotnom, doći će do greške zabranjeno.

$ 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

Bypassovanje SCC

OpenShift - SCC bypass

Reference

Last updated