Kubernetes OPA Gatekeeper bypass
Reading time: 1 minute
Mwandishi wa awali wa ukurasa huu ni Guillaume
Kutumia makosa ya usanidi
Kuorodhesha sheria
Kuwa na muonekano wa jumla kunaweza kusaidia kujua ni sheria zipi zinafanya kazi, katika hali gani na nani anaweza kuzipita.
Kwa kutumia CLI
$ kubectl api-resources | grep gatekeeper
k8smandatoryannotations constraints.gatekeeper.sh/v1beta1 false K8sMandatoryAnnotations
k8smandatorylabels constraints.gatekeeper.sh/v1beta1 false K8sMandatoryLabel
constrainttemplates templates.gatekeeper.sh/v1 false ConstraintTemplate
ConstraintTemplate na Constraint zinaweza kutumika katika Open Policy Agent (OPA) Gatekeeper kutekeleza sheria kwenye rasilimali za Kubernetes.
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
Kwa GUI
Kiolesura cha Mtumiaji wa Picha kinaweza pia kupatikana ili kufikia sheria za OPA na Gatekeeper Policy Manager. Ni "kiolesura rahisi cha kusoma pekee cha wavuti kwa ajili ya kuangalia hali ya sera za OPA Gatekeeper katika Kundi la Kubernetes."

Tafuta huduma iliyofichuliwa:
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
Majimbo yaliyoachwa
Kama inavyoonyeshwa katika picha hapo juu, sheria fulani zinaweza zisitumike kwa ujumla katika majimbo yote au watumiaji. Badala yake, zinafanya kazi kwa msingi wa orodha ya ruhusa. Kwa mfano, kizuizi cha liveness-probe
kimeachwa kutumika katika majimbo matano yaliyoainishwa.
Kupita
Kwa muonekano wa kina wa usanidi wa Gatekeeper, inawezekana kubaini uwezekano wa makosa ya usanidi ambayo yanaweza kutumika kupata mamlaka. Tafuta majimbo yaliyoorodheshwa au yaliyoachwa ambapo sheria haifanyi kazi, kisha fanya shambulio lako hapo.
Abusing Roles/ClusterRoles in Kubernetes
Kutumia ValidatingWebhookConfiguration
Njia nyingine ya kupita vikwazo ni kuzingatia rasilimali ya ValidatingWebhookConfiguration :
Kubernetes ValidatingWebhookConfiguration