
OPA Gatekeeper-आधारित पॉलिसी टेम्पलेट्स जो Kubernetes Service बाहरी IPs को अनुमति-सूची तक सीमित करके CVE-2020-8554 को कम करते हैं, जिससे मल्टी-टेनेंट क्लस्टरों में ट्रैफ़िक इंटरसेप्शन को रोका जा सके।
यह रिपॉज़िटरी Policy Controller का उपयोग करने के लिए कॉन्फ़िगरेशन फ़ाइलें रखता है, जो ओपन सोर्स OPA Gatekeeper प्रोजेक्ट पर आधारित है, ताकि Kubernetes Services को सार्वजनिक IP एक्सेस से ब्लॉक किया जा सके।
इस मुद्दे के लिए सुरक्षा सलाह में कहा गया है:
Kubernetes से जुड़ी और मल्टी-टेनेंट क्लस्टरों को प्रभावित करने वाली एक सुरक्षा समस्या खोजी गई थी। यदि कोई संभावित हमलावर पहले से ही services और pods बना या संपादित कर सकता है, तो वह क्लस्टर में अन्य pods (या nodes) से ट्रैफ़िक को इंटरसेप्ट करने में सक्षम हो सकता है।
इस समस्या को मध्यम गंभीरता (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) वाला दर्जा दिया गया है, और इसे CVE-2020-8554 निर्दिष्ट किया गया है।
एक हमलावर जो ClusterIP service बनाने और spec.externalIPs फ़ील्ड सेट करने में सक्षम है, वह उस IP पर ट्रैफ़िक को इंटरसेप्ट कर सकता है। एक हमलावर जो LoadBalancer service की status (जिसे एक विशेषाधिकार प्राप्त ऑपरेशन माना जाता है और आमतौर पर उपयोगकर्ताओं को नहीं दी जानी चाहिए) को पैच करने में सक्षम है, वह status.loadBalancer.ingress.ip को समान प्रभाव के लिए सेट कर सकता है।
इस रिपॉज़िटरी में एक Template और Constraint शामिल हैं जो Services को सार्वजनिक IPs की एक विशिष्ट अनुमति सूची तक सीमित करते हैं, इस प्रकार किसी हमलावर की विश्वसनीय मानों के बाहर IPs जोड़ने की क्षमता को सीमित करते हैं।
आप इन नीतियों को Policy Controller का उपयोग करके लागू कर सकते हैं, जो Anthos Config Management के भाग के रूप में शामिल है। अनुमत IP पतों को अनुकूलित करने के लिए, k8sExternalIPs_constraint.yaml में "allowedIPs" सूची में आइटम संपादित या जोड़ें।
यदि आप किसी विशिष्ट CIDR रेंज में एक IP को रोकना चाहते हैं, तो k8sExternalIPsCIDR_constraint.yaml और k8sExternalIPsCIDR_template.yaml फ़ाइलों का उपयोग करें। उदाहरण के लिए, यदि आप किसी हमलावर को डिफ़ॉल्ट Kubernetes Services CIDR पर spec.externalIPs फ़ील्ड निर्दिष्ट करने से रोकना चाहते हैं।