Kubernetes SecurityContext(s)

Support HackTricks

PodSecurityContext

From the docs:

Wakati wa kubainisha 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

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, wakati wa kukimbia wa kontena utagawanya muktadha wa SELinux wa nasibu kwa kila kontena.

seccompProfile SeccompProfile Maelezo zaidi kuhusu Seccomp

Chaguo za seccomp zinazotumika na kontena katika pod hii.

supplementalGroups integer array

Orodha ya vikundi vinavyotumika kwa mchakato wa kwanza unaokimbia katika kila kontena, pamoja na GID ya msingi ya kontena.

sysctls Sysctl array Maelezo zaidi kuhusu sysctls

Sysctls inashikilia orodha ya sysctls zenye majina zinazotumika kwa pod. Pods zenye sysctls zisizoungwa mkono (na wakati wa kukimbia wa kontena) zinaweza kushindwa kuanzishwa.

Mipangilio maalum ya Windows inayotumika kwa kontena zote. Ikiwa haijapangwa, chaguo ndani ya Muktadha wa Usalama wa kontena kitatumika.

SecurityContext

From the docs:

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 iliyobainishwa 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

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 kupendelea. Mchakato katika kontena zilizo na mamlaka ni 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 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.

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, wakati wa kukimbia wa kontena utagawanya muktadha wa SELinux wa nasibu kwa kila kontena.

Chaguo za seccomp zinazotumika na kontena hii.

Mipangilio maalum ya Windows inayotumika kwa kontena zote.

References

Support HackTricks

Last updated