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
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
Hii inafafanua tabia ya kubadilisha umiliki na ruhusa za volumu kabla ya kuonyeshwa ndani ya Pod.
GID ya kuendesha kiingilio cha mchakato wa kontena. Inatumia chaguo la kawaida la wakati wa kukimbia ikiwa haijapangwa.
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.
UID ya kuendesha kiingilio cha mchakato wa kontena. Inarudi kwa mtumiaji aliyeainishwa katika metadata ya picha ikiwa haijapangwa.
Muktadha wa SELinux utakaotumika kwa kontena zote. Ikiwa haijapangwa, mfumo wa kukimbia wa kontena utagawanya muktadha wa SELinux wa nasibu kwa kila kontena.
Chaguzi za seccomp zinazotumika na kontena katika pod hii.
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 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
Uwezo wa kuongeza/kutoa wakati wa kuendesha kontena. Inarudi kwa seti ya kawaida ya uwezo.
Kimbia kontena katika hali ya privileji. Mchakato katika kontena zilizo na privileji ni kimsingi sawa na mzizi kwenye mwenyeji. Inarudi kwa uongo.
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.
Ikiwa kontena hii ina mfumo wa faili wa mzizi wa kusoma tu. Chaguo la kawaida ni uongo.
GID ya kuendesha kiingilio cha mchakato wa kontena. Inatumia chaguo la kawaida la wakati wa kukimbia ikiwa haijapangwa.
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.
UID ya kuendesha kiingilio cha mchakato wa kontena. Inarudi kwa mtumiaji aliyeainishwa katika metadata ya picha ikiwa haijapangwa.
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.
integer
string
integer
boolean
integer
Maelezo zaidi kuhusu seLinux
Maelezo zaidi kuhusu Seccomp
integer array
array Maelezo zaidi kuhusu
boolean
Maelezo zaidi kuhusu Capabilities
boolean
string
boolean
integer
boolean
integer
Maelezo zaidi kuhusu seLinux
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)