Kubernetes SecurityContext(s)
PodSecurityContext
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 |
fsGroupChangePolicy string | 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 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 |
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 boolean | 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. |
readOnlyRootFilesystem boolean | 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
Last updated