Kubernetes Kyverno bypass

Reading time: 1 minute

इस पृष्ठ के मूल लेखक हैं Guillaume

नीतियों की गलत कॉन्फ़िगरेशन का दुरुपयोग

नियमों की गणना करें

एक अवलोकन होना मददगार हो सकता है यह जानने के लिए कि कौन से नियम सक्रिय हैं, किस मोड में हैं और कौन इसे बायपास कर सकता है

bash
$ kubectl get clusterpolicies
$ kubectl get policies

Enumerate Excluded

प्रत्येक ClusterPolicy और Policy के लिए, आप बाहर किए गए संस्थाओं की एक सूची निर्दिष्ट कर सकते हैं, जिसमें शामिल हैं:

  • समूह: excludedGroups
  • उपयोगकर्ता: excludedUsers
  • सेवा खाते (SA): excludedServiceAccounts
  • भूमिकाएँ: excludedRoles
  • क्लस्टर भूमिकाएँ: excludedClusterRoles

ये बाहर की गई संस्थाएँ नीति आवश्यकताओं से छूट जाएँगी, और Kyverno उनके लिए नीति को लागू नहीं करेगा।

Example

आइए एक clusterpolicy उदाहरण में गहराई से जाएँ:

$ kubectl get clusterpolicies MYPOLICY -o yaml

छोड़ दिए गए संस्थाओं की तलाश करें:

yaml
exclude:
any:
- clusterRoles:
- cluster-admin
- subjects:
- kind: User
name: system:serviceaccount:DUMMYNAMESPACE:admin
- kind: User
name: system:serviceaccount:TEST:thisisatest
- kind: User
name: system:serviceaccount:AHAH:*

क्लस्टर के भीतर, कई अतिरिक्त घटक, ऑपरेटर और अनुप्रयोगों को क्लस्टर नीति से बाहर रखने की आवश्यकता हो सकती है। हालाँकि, इसका लाभ उठाया जा सकता है यदि विशेषाधिकार प्राप्त संस्थाओं को लक्षित किया जाए। कुछ मामलों में, यह प्रतीत हो सकता है कि एक नामस्थान मौजूद नहीं है या आपके पास एक उपयोगकर्ता का अनुकरण करने की अनुमति नहीं है, जो गलत कॉन्फ़िगरेशन का संकेत हो सकता है।

ValidatingWebhookConfiguration का दुरुपयोग

नीतियों को बायपास करने का एक और तरीका ValidatingWebhookConfiguration संसाधन पर ध्यान केंद्रित करना है:

Kubernetes ValidatingWebhookConfiguration

अधिक जानकारी

अधिक जानकारी के लिए देखें https://madhuakula.com/kubernetes-goat/docs/scenarios/scenario-22/securing-kubernetes-clusters-using-kyverno-policy-engine/welcome/