Kubernetes SecurityContext(s)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unapofafanua muktadha wa usalama wa Pod unaweza kutumia sifa kadhaa. Kutoka kwa mtazamo wa usalama wa kujihami unapaswa kuzingatia:
Kuwa na runASNonRoot kama True
Kuunda runAsUser
Ikiwezekana, zingatia kudhibiti permissions ukionyesha seLinuxOptions na seccompProfile
Usitoe privilege group ufikiaji kupitia runAsGroup na supplementaryGroups
fsGroup integer
Kikundi maalum cha nyongeza kinachotumika kwa mashine zote katika pod. Aina fulani za volumu zinaruhusu Kubelet kubadilisha umiliki wa volumu hiyo kuwa umiliki wa pod: 1. GID inayomiliki itakuwa FSGroup 2. Bit ya setgid imewekwa (faili mpya zinazoundwa katika volumu zitakuwa na umiliki wa FSGroup) 3. Bit za ruhusa zimeunganishwa na rw-rw---- Ikiwa hazijapangwa, Kubelet haitabadilisha umiliki na ruhusa za volumu yoyote
fsGroupChangePolicy string
Hii inafafanua tabia ya kubadilisha umiliki na ruhusa za volumu kabla ya kuonyeshwa ndani ya Pod.
runAsGroup integer
GID ya kuendesha kiingilio cha mchakato wa kontena. Inatumia chaguo la kawaida la wakati wa kukimbia ikiwa haijapangwa.
runAsNonRoot boolean
Inaonyesha kwamba kontena lazima ikimbie kama mtumiaji asiye mzizi. Ikiwa ni kweli, Kubelet itathibitisha picha wakati wa kukimbia ili kuhakikisha kwamba haikimbii kama UID 0 (mzizi) na itashindwa kuanzisha kontena ikiwa inafanya hivyo.
runAsUser integer
UID ya kuendesha kiingilio cha mchakato wa kontena. Inarudi kwa mtumiaji aliyeainishwa katika metadata ya picha ikiwa haijapangwa.
seLinuxOptions SELinuxOptions Maelezo zaidi kuhusu seLinux
Muktadha wa SELinux utakaotumika kwa kontena zote. Ikiwa haijapangwa, mfumo wa kukimbia wa kontena utagawanya muktadha wa SELinux wa nasibu kwa kila kontena.
seccompProfile SeccompProfile Maelezo zaidi kuhusu Seccomp
Chaguzi za seccomp zinazotumika na kontena katika pod hii.
supplementalGroups integer array
Orodha ya makundi yanayotumika kwa mchakato wa kwanza unaokimbia katika kila kontena, pamoja na GID ya msingi ya kontena.
Sysctls inashikilia orodha ya sysctls zenye majina zinazotumika kwa pod. Pods zenye sysctls zisizoungwa mkono (na mfumo wa kukimbia wa kontena) zinaweza kushindwa kuanzishwa.
Mipangilio maalum ya Windows inayotumika kwa kontena zote. Ikiwa haijapangwa, chaguzi ndani ya Muktadha wa Usalama wa kontena zitatumika.
Muktadha huu umewekwa ndani ya m定义 ya kontena. Kutoka kwa mtazamo wa usalama wa kujihami unapaswa kuzingatia:
allowPrivilegeEscalation kuwa False
Usiongeze capabilities nyeti (na uondoe zile usizohitaji)
privileged kuwa False
Ikiwezekana, weka readOnlyFilesystem kama True
Weka runAsNonRoot kuwa True na weka runAsUser
Ikiwezekana, zingatia kudhibiti permissions ukionyesha seLinuxOptions na seccompProfile
Usitoe privilege group ufikiaji kupitia runAsGroup.
Kumbuka kwamba sifa zilizowekwa katika SecurityContext na PodSecurityContext, thamani iliyowekwa katika SecurityContext inachukua kipaumbele.
allowPrivilegeEscalation boolean
AllowPrivilegeEscalation inasimamia ikiwa mchakato unaweza kupata ruhusa zaidi kuliko mchakato wa mzazi. Bool hii inasimamia moja kwa moja ikiwa bendera ya no_new_privs itawekwa kwenye mchakato wa kontena. AllowPrivilegeEscalation ni kweli kila wakati wakati kontena inakimbia kama Privileged au ina CAP_SYS_ADMIN
capabilities Capabilities Maelezo zaidi kuhusu Capabilities
Uwezo wa kuongeza/kutoa wakati wa kuendesha kontena. Inarudi kwa seti ya kawaida ya uwezo.
privileged boolean
Kimbia kontena katika hali ya privileji. Mchakato katika kontena zilizo na privileji ni kimsingi sawa na mzizi kwenye mwenyeji. Inarudi kwa uongo.
procMount string
procMount inaashiria aina ya proc mount inayotumika kwa kontena. Chaguo la kawaida ni DefaultProcMount ambayo inatumia chaguo za kawaida za wakati wa kukimbia kwa njia za kusoma tu na njia zilizofichwa.
readOnlyRootFilesystem boolean
Ikiwa kontena hii ina mfumo wa faili wa mzizi wa kusoma tu. Chaguo la kawaida ni uongo.
runAsGroup integer
GID ya kuendesha kiingilio cha mchakato wa kontena. Inatumia chaguo la kawaida la wakati wa kukimbia ikiwa haijapangwa.
runAsNonRoot boolean
Inaonyesha kwamba kontena lazima ikimbie kama mtumiaji asiye mzizi. Ikiwa ni kweli, Kubelet itathibitisha picha wakati wa kukimbia ili kuhakikisha kwamba haikimbii kama UID 0 (mzizi) na itashindwa kuanzisha kontena ikiwa inafanya hivyo.
runAsUser integer
UID ya kuendesha kiingilio cha mchakato wa kontena. Inarudi kwa mtumiaji aliyeainishwa katika metadata ya picha ikiwa haijapangwa.
seLinuxOptions SELinuxOptions Maelezo zaidi kuhusu seLinux
Muktadha wa SELinux utakaotumika kwa kontena. Ikiwa haijapangwa, mfumo wa kukimbia wa kontena utagawanya muktadha wa SELinux wa nasibu kwa kila kontena.
Chaguzi za seccomp zinazotumika na kontena hii.
Mipangilio maalum ya Windows inayotumika kwa kontena zote.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)