Kubernetes SecurityContext(s)
PodSecurityContext
Unapoweka muktadha wa usalama wa Pod unaweza kutumia sifa kadhaa. Kutoka kwa mtazamo wa usalama wa kujilinda unapaswa kuzingatia:
Kuwa na runASNonRoot kama Kweli
Kupangilia runAsUser
Ikiwezekana, fikiria kupunguza ruhusa kwa kuonyesha seLinuxOptions na seccompProfile
Usipe upatikanaji wa kikundi cha ruhusa kupitia runAsGroup na supplementaryGroups
fsGroup nambari | Kikundi maalum cha ziada kinachotumika kwa kontena zote kwenye podi. Baadhi ya aina za jalada zinaruhusu Kubelet kubadilisha umiliki wa jalada hilo ili liwe mali ya podi: 1. GID inayomiliki itakuwa FSGroup 2. Biti ya setgid imewekwa (faili mpya zilizoundwa kwenye jalada zitamilikiwa na FSGroup) 3. Biti za ruhusa zimeor'd na rw-rw---- Ikiwa haijawekwa, Kubelet haitabadilisha umiliki na ruhusa ya jalada lolote |
fsGroupChangePolicy herufi | Hii inadefinisha tabia ya kubadilisha umiliki na ruhusa ya jalada kabla ya kuwekwa wazi ndani ya Podi. |
runAsGroup nambari | GID ya kuendesha kuingia kwa mchakato wa kontena. Inatumia chaguo la wakati wa kukimbia ikiwa haijawekwa. Inaweza pia kuwekwa katika Muktadha wa Usalama. |
runAsNonRoot kweli | Inaonyesha kwamba kontena lazima iendeshwe kama mtumiaji asiye wa mizizi. Ikiwa ni kweli, Kubelet itathibitisha picha wakati wa kukimbia ili kuhakikisha kuwa haitaendeshwa kama UID 0 (mizizi) na kushindwa kuanza kontena ikiwa itafanya hivyo. |
runAsUser nambari | UID ya kuendesha kuingia kwa mchakato wa kontena. Ina default kwa mtumiaji aliyeainishwa kwenye metadata ya picha ikiwa haijawekwa. |
seLinuxOptions SELinuxOptions Maelezo zaidi kuhusu seLinux | Muktadha wa SELinux utakaotumiwa kwa kontena zote. Ikiwa haijawekwa, muda wa kontena utatenga muktadha wa SELinux wa kubahatisha kwa kila kontena. |
seccompProfile SeccompProfile Maelezo zaidi kuhusu Seccomp | Chaguo za seccomp kutumika na kontena kwenye podi hii. |
supplementalGroups orodha ya nambari | Orodha ya vikundi vinavyotumika kwa mchakato wa kwanza unaorushwa kwenye kila kontena, mbali na GID kuu ya kontena. |
Sysctls inashikilia orodha ya sysctls zilizotengwa kwa podi. Podi zenye sysctls zisizoungwa mkono (na muda wa kontena) zinaweza kushindwa kuzinduliwa. | |
Mipangilio maalum ya Windows inayotumiwa kwa kontena zote. Ikiwa haijawekwa, chaguo ndani ya Muktadha wa Usalama wa kontena itatumika. | |
## SecurityContext |
Muktadha huu umewekwa ndani ya maelezo ya vyombo. Kutoka kwa mtazamo wa usalama wa kujilinda unapaswa kuzingatia:
allowPrivilegeEscalation iwe False
Usiweke capabilities nyeti (na ondoa zile usizohitaji)
privileged iwe False
Ikiwezekana, weka readOnlyFilesystem kama True
Weka runAsNonRoot iwe True na weka runAsUser
Ikiwezekana, zingatia kupunguza ruhusa kwa kuonyesha seLinuxOptions na seccompProfile
USIPE upatikanaji wa kikundi cha privilege kupitia runAsGroup.
Tafadhali kumbuka kuwa sifa zilizowekwa katika SecurityContext na PodSecurityContext, thamani iliyoainishwa katika SecurityContext inachukua kipaumbele.
allowPrivilegeEscalation boolean | AllowPrivilegeEscalation inadhibiti ikiwa mchakato unaweza kupata mamlaka zaidi kuliko mchakato wake mzazi. Bool hii moja kwa moja inadhibiti ikiwa bendera ya no_new_privs itawekwa kwenye mchakato wa chombo. AllowPrivilegeEscalation ni kweli daima wakati chombo kinakimbia kama Privileged au ina CAP_SYS_ADMIN |
capabilities Capabilities Maelezo zaidi kuhusu Capabilities | uwezo wa kuongeza/kuondoa wakati wa kukimbia vyombo. Inabadilika kulingana na seti ya uwezo ya msingi. |
privileged boolean | Kimbia chombo katika hali ya kuwa na mamlaka. Mchakato katika vyombo vilivyo na mamlaka ni sawa na root kwenye mwenyeji. Inabadilika kuwa uongo. |
procMount string | procMount inaashiria aina ya proc mount ya kutumia kwa vyombo. Chaguo la msingi ni DefaultProcMount ambayo hutumia mipangilio ya msingi ya kukimbia kwa njia za kusoma tu na njia zilizofichwa. |
readOnlyRootFilesystem boolean | Ikiwa chombo hiki kina mfumo wa mizizi wa kusoma tu. Chaguo la msingi ni uongo. |
runAsGroup integer | GID ya kukimbia kuingia ya mchakato wa chombo. Inatumia chaguo la kukimbia kwa wakati wa msingi ikiwa haijaainishwa. |
runAsNonRoot boolean | Inaonyesha kuwa chombo lazima kikimbie kama mtumiaji asiye na mizizi. Ikiwa ni kweli, Kubelet itathibitisha picha wakati wa kukimbia ili kuhakikisha kuwa haikimbi kama UID 0 (mizizi) na itashindwa kuanza chombo ikiwa itafanya hivyo. |
runAsUser integer | UID ya kukimbia kuingia ya mchakato wa chombo. Chaguo la msingi ni mtumiaji aliyeainishwa katika metadata ya picha ikiwa haijaainishwa. |
seLinuxOptions SELinuxOptions Maelezo zaidi kuhusu seLinux | Muktadha wa SELinux utakaotumiwa kwa chombo. Ikiwa haijaainishwa, kukimbia kwa chombo kutagawa muktadha wa SELinux wa kubahatisha kwa kila chombo. |
chaguo za seccomp za kutumia na chombo hiki. | |
Mipangilio maalum ya Windows inayotumiwa kwa vyombo vyote. |
Marejeo
Last updated