Kubernetes SecurityContext(s)

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

PodSecurityContext

Uit die dokumentasie:

Wanneer jy die sekuriteitskonteks van 'n Pod spesifiseer, kan jy verskeie eienskappe gebruik. Vanuit 'n verdedigende sekuriteitsperspektief moet jy oorweeg:

  • Om runASNonRoot as True te hê

  • Om runAsUser te konfigureer

  • Indien moontlik, oorweeg om beperkings aan te dui deur middel van seLinuxOptions en seccompProfile

  • Moenie privilege group toegang gee deur middel van runAsGroup en supplementaryGroups nie

fsGroup integer

'n Spesiale aanvullende groep wat van toepassing is op alle houers in 'n pod. Sommige volume-tipes laat die Kubelet toe om die eienaarskap van daardie volume te verander sodat dit deur die pod besit word: 1. Die eienaar-GID sal die FSGroup wees 2. Die setgid-bit word ingestel (nuwe lêers wat in die volume geskep word, sal deur FSGroup besit word) 3. Die toestemmingsbits word OR'd met rw-rw---- As dit nie gespesifiseer is nie, sal die Kubelet nie die eienaarskap en toestemmings van enige volume wysig nie

Dit definieer die gedrag van verandering van eienaarskap en toestemmings van die volume voordat dit binne die Pod blootgestel word.

runAsGroup integer

Die GID om die ingangspunt van die houerproses uit te voer. Gebruik die verstekwaarde as dit nie gespesifiseer is nie. Dit kan ook in SecurityContext gespesifiseer word.

runAsNonRoot boolean

Dui aan dat die houer as 'n nie-root-gebruiker moet uitgevoer word. As dit waar is, sal die Kubelet die beeld tydens uitvoering valideer om te verseker dat dit nie as UID 0 (root) uitgevoer word nie en sal die houer nie begin as dit wel die geval is nie.

runAsUser integer

Die UID om die ingangspunt van die houerproses uit te voer. Verstek na die gebruiker wat in die beeldmetadata gespesifiseer is as dit nie gespesifiseer is nie.

seLinuxOptions SELinuxOptions Meer inligting oor seLinux

Die SELinux-konteks wat op alle houers toegepas moet word. As dit nie gespesifiseer is nie, sal die houer-runtime 'n lukrake SELinux-konteks toewys vir elke houer.

seccompProfile SeccompProfile Meer inligting oor Seccomp

Die seccomp-opsies wat deur die houers in hierdie pod gebruik moet word.

supplementalGroups integer array

'n Lys van groepe wat op die eerste proses wat in elke houer uitgevoer word, van toepassing is, bo en behalwe die primêre GID van die houer.

sysctls Sysctl array Meer inligting oor sysctls

Sysctls bevat 'n lys van genaamruimte-spesifieke sysctls wat vir die pod gebruik word. Pods met nie-ondersteunde sysctls (deur die houer-runtime) kan misluk om te begin.

Die Windows-spesifieke instellings wat op alle houers toegepas word. As dit nie gespesifiseer is nie, sal die opsies binne 'n houer se SecurityContext gebruik word.

## SecurityContext

Uit die dokumentasie:

Hierdie konteks word binne die houersdefinisies ingestel. Vanuit 'n verdedigende veiligheidsoogpunt moet jy oorweeg:

  • allowPrivilegeEscalation as False

  • Moenie sensitiewe vermoëns byvoeg nie (en verwyder diegene wat jy nie nodig het nie)

  • privileged as False

  • Indien moontlik, stel readOnlyFilesystem as True

  • Stel runAsNonRoot as True en stel 'n runAsUser in

  • Indien moontlik, oorweeg om beperkings aan te dui deur seLinuxOptions en seccompProfile

  • Gee nie privilege groep toegang via runAsGroup

Let daarop dat die eienskappe in beide SecurityContext en PodSecurityContext ingestel word, en die waarde wat in SecurityContext gespesifiseer is, neem voorrang.

AllowPrivilegeEscalation beheer of 'n proses meer bevoegdhede kan verkry as sy ouerproses. Hierdie bool beheer direk of die no_new_privs-vlag op die houerproses ingestel sal word. AllowPrivilegeEscalation is altyd waar wanneer die houer as Privileged uitgevoer word of CAP_SYS_ADMIN het

capabilities Capabilities Meer inligting oor Capabilities

Die vermoëns om by te voeg/af te skakel wanneer houers uitgevoer word. Standaard is dit die verstekstel van vermoëns.

privileged boolean

Voer houer in bevoorregte modus uit. Prosesse in bevoorregte houers is in wese gelykwaardig aan root op die gasheer. Standaard is dit vals.

procMount string

procMount dui die tipe proc-mount aan wat vir die houers gebruik moet word. Die verstek is DefaultProcMount wat die houer-runtime-verstekinstellings vir skryfbeskermde paaie en gemaskerde paaie gebruik.

Of hierdie houer 'n skryfbeskermde stam-lêersisteem het. Die verstek is vals.

runAsGroup integer

Die GID om die ingangspunt van die houerproses uit te voer. Gebruik die runtime-verstek as dit nie ingestel is nie.

runAsNonRoot boolean

Dui aan dat die houer as 'n nie-root-gebruiker moet uitgevoer word. As waar, sal die Kubelet die beeld tydens uitvoering valideer om te verseker dat dit nie as UID 0 (root) uitgevoer word nie en sal die houer nie begin as dit wel die geval is nie.

runAsUser integer

Die UID om die ingangspunt van die houerproses uit te voer. Standaard is dit die gebruiker wat in die beeldmetadata gespesifiseer is as dit nie gespesifiseer is nie.

seLinuxOptions SELinuxOptions Meer inligting oor seLinux

Die SELinux-konteks wat op die houer toegepas moet word. As dit nie gespesifiseer is nie, sal die houer-runtime 'n ewekansige SELinux-konteks vir elke houer toewys.

Die seccomp-opsies wat deur hierdie houer gebruik moet word.

Die Windows-spesifieke instellings wat op alle houers toegepas word.

Verwysings

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated