Kubernetes OPA Gatekeeper बायपास
Reading time: 2 minutes
इस पृष्ठ के मूल लेखक हैं Guillaume
गलत कॉन्फ़िगरेशन का दुरुपयोग
नियमों की गणना करें
एक अवलोकन होने से यह जानने में मदद मिल सकती है कि कौन से नियम सक्रिय हैं, किस मोड में हैं और कौन इसे बायपास कर सकता है।
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 और Constraint का उपयोग Open Policy Agent (OPA) Gatekeeper में Kubernetes संसाधनों पर नियम लागू करने के लिए किया जा सकता है।
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
GUI के साथ
एक ग्राफिक यूजर इंटरफेस भी Gatekeeper Policy Manager के साथ OPA नियमों तक पहुँचने के लिए उपलब्ध हो सकता है। यह "Kubernetes क्लस्टर में OPA Gatekeeper नीतियों की स्थिति देखने के लिए एक सरल read-only वेब UI है।"

खुले हुए सेवा के लिए खोजें :
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
Excluded namespaces
जैसा कि ऊपर की छवि में दर्शाया गया है, कुछ नियम सभी namespaces या उपयोगकर्ताओं पर सार्वभौमिक रूप से लागू नहीं हो सकते हैं। इसके बजाय, वे एक व्हाइटलिस्ट आधार पर कार्य करते हैं। उदाहरण के लिए, liveness-probe
बाधा को पांच निर्दिष्ट namespaces पर लागू करने से बाहर रखा गया है।
Bypass
Gatekeeper कॉन्फ़िगरेशन का व्यापक अवलोकन करते हुए, संभावित गलत कॉन्फ़िगरेशन की पहचान करना संभव है जिसे विशेषाधिकार प्राप्त करने के लिए शोषित किया जा सकता है। उन व्हाइटलिस्टेड या बाहर किए गए namespaces की तलाश करें जहाँ नियम लागू नहीं होता है, और फिर वहाँ अपना हमला करें।
Abusing Roles/ClusterRoles in Kubernetes
Abusing ValidatingWebhookConfiguration
बाधाओं को बायपास करने का एक और तरीका ValidatingWebhookConfiguration संसाधन पर ध्यान केंद्रित करना है :
Kubernetes ValidatingWebhookConfiguration