Kubernetes SecurityContext(s)
Reading time: 8 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
PodSecurityContext
Unapofafanua muktadha wa usalama wa Pod unaweza kutumia sifa kadhaa. Kutoka kwa mtazamo wa usalama wa kujilinda 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
| Parameter | Maelezo | |
fsGroup
integer
Kikundi maalum cha nyongeza kinachotumika kwa mashine zote ndani ya pod. Aina fulani za volumu zinamruhusu Kubelet kubadilisha umiliki wa volumu hiyo kuwa umiliki wa pod:
1. GID inayomiliki itakuwa FSGroup
2. Bit ya setgid imewekwa (faili mpya zinazoundwa kwenye volumu zitakuwa na umiliki wa FSGroup)
3. Bit za ruhusa zimeunganishwa na rw-rw---- Ikiwa haijapangwa, Kubelet haitabadilisha umiliki na ruhusa za volumu yoyote
|
fsGroupChangePolicy
string
runAsGroup
integer
runAsNonRoot
boolean
runAsUser
integer
seLinuxOptions
SELinuxOptions
Maelezo zaidi kuhusu seLinux
seccompProfile
SeccompProfile
Maelezo zaidi kuhusu Seccomp
supplementalGroups
integer array
sysctls
Sysctl array
Maelezo zaidi kuhusu sysctls
windowsOptions
WindowsSecurityContextOptions
SecurityContext
Muktadha huu umewekwa ndani ya m definitions za kontena. Kutoka kwa mtazamo wa usalama wa kujilinda 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 | AllowPrivilegeEscalation inasimamia ikiwa mchakato unaweza kupata ruhusa zaidi kuliko mchakato wake wa mzazi. Hii bool 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 | Uwezo wa kuongeza/kutoa unapokimbia kontena. Inarudi kwa seti ya kawaida ya uwezo. |
privileged | Kimbia kontena katika hali ya privileji. Mchakato katika kontena zilizo na privileji ni sawa na mzizi kwenye mwenyeji. Inarudi kwa uongo. |
procMount | procMount inaashiria aina ya proc mount inayotumika kwa kontena. Chaguo la kawaida ni DefaultProcMount ambayo inatumia chaguo za wakati wa kukimbia kwa njia zisizoweza kuandikwa na njia zilizofichwa. |
readOnlyRootFilesystem | Ikiwa kontena hii ina mfumo wa faili wa mzizi usioandikwa. Chaguo la kawaida ni uongo. |
runAsGroup | GID ya kuendesha kiingilio cha mchakato wa kontena. Inatumia chaguo la kawaida la wakati wa kukimbia ikiwa haijapangwa. |
runAsNonRoot | 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 | UID ya kuendesha kiingilio cha mchakato wa kontena. Inarudi kwa mtumiaji aliyeainishwa katika metadata ya picha ikiwa haijapangwa. |
seLinuxOptions | Muktadha wa SELinux utakaotumika kwa kontena. Ikiwa haijapangwa, wakati 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. |
Marejeleo
- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core
- https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.