This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

सुरक्षा (Security)

आपके क्लाउड-नेटिव वर्कलोड को सुरक्षित रखने की अवधारणाएं।

सुरक्षा (Security)

आपके क्लाउड-नेटिव वर्कलोड को सुरक्षित रखने की अवधारणाएं।

कुबेरनेट्स दस्तावेज़ का यह अनुभाग आपको वर्कलोड को अधिक सुरक्षित रूप से चलाने और कुबेरनेट्स क्लस्टर को सुरक्षित रखने के आवश्यक पहलुओं के बारे में सीखने में मदद करने के लिए है। कुबेरनेट्स एक क्लाउड-नेटिव आर्किटेक्चर पर आधारित है, और क्लाउड-नेटिव सूचना सुरक्षा के लिए अच्छी प्रथाओं के बारे में CNCF की सलाह पर आधारित है। अपने क्लस्टर और उस पर चल रहे अनुप्रयोगों (applications) को सुरक्षित करने के व्यापक संदर्भ के लिए Cloud Native Security and Kubernetes पढ़ें।

कुबेरनेट्स सुरक्षा तंत्र (Kubernetes security mechanisms)

कुबेरनेट्स में कई APIs और सुरक्षा नियंत्रण शामिल हैं, साथ ही नीतियाँ (policies) परिभाषित करने के तरीके भी हैं जो आपकी सूचना सुरक्षा प्रबंधन का हिस्सा बन सकते हैं।

कंट्रोल प्लेन सुरक्षा (Control plane protection)

किसी भी कुबेरनेट्स क्लस्टर के लिए एक प्रमुख सुरक्षा तंत्र कुबेरनेट्स API तक पहुंच को नियंत्रित करना है। कुबेरनेट्स आपसे अपेक्षा करता है कि आप कंट्रोल प्लेन के भीतर और कंट्रोल प्लेन एवं उसके क्लाइंट्स के बीच ट्रांजिट में डेटा एन्क्रिप्शन प्रदान करने के लिए TLS को कॉन्फ़िगर और उपयोग करें। आप कुबेरनेट्स कंट्रोल प्लेन के भीतर संग्रहीत डेटा के लिए एट-रेस्ट एन्क्रिप्शन (encryption at rest) भी सक्षम कर सकते हैं; यह आपके अपने वर्कलोड के डेटा के लिए एट-रेस्ट एन्क्रिप्शन का उपयोग करने से अलग है, जो कि एक अच्छा विचार हो सकता है।

सीक्रेट्स (Secrets)

Secret API उन कॉन्फ़िगरेशन मानों के लिए बुनियादी सुरक्षा प्रदान करता है जिन्हें गोपनीयता की आवश्यकता होती है।

वर्कलोड सुरक्षा (Workload protection)

यह सुनिश्चित करने के लिए कि पॉड्स और उनके कंटेनर उचित रूप से अलग (isolated) हैं, पॉड सुरक्षा मानक (Pod security standards) लागू करें। यदि आपको आवश्यकता हो तो आप कस्टम आइसोलेशन परिभाषित करने के लिए RuntimeClasses का भी उपयोग कर सकते हैं। नेटवर्क नीतियां (Network policies) आपको पॉड्स के बीच, या पॉड्स और आपके क्लस्टर के बाहर के नेटवर्क के बीच नेटवर्क ट्रैफिक को नियंत्रित करने देती हैं। आप पॉड्स, उनके कंटेनरों और उनमें चलने वाली छवियों (images) के आसपास निवारक या खोजी नियंत्रण लागू करने के लिए व्यापक इकोसिस्टम से सुरक्षा नियंत्रण तैनात कर सकते हैं।

एडमिशन कंट्रोल (Admission control)

एडमिशन कंट्रोलर (Admission controllers) ऐसे प्लगइन्स हैं जो कुबेरनेट्स API अनुरोधों को रोकते हैं और अनुरोध में विशिष्ट फ़ील्ड के आधार पर अनुरोधों को मान्य (validate) या परिवर्तित (mutate) कर सकते हैं। इन कंट्रोलर्स को सोच-समझकर डिजाइन करने से कुबेरनेट्स API में संस्करण अपडेट के साथ होने वाले अनपेक्षित व्यवधानों से बचने में मदद मिलती है। डिज़ाइन संबंधी विचारों के लिए, Admission Webhook Good Practices देखें।

ऑडिटिंग (Auditing)

कुबेरनेट्स ऑडिट लॉगिंग क्लस्टर में कार्यों के अनुक्रम का दस्तावेजीकरण करने वाला सुरक्षा-प्रासंगिक, कालानुक्रमिक रिकॉर्ड सेट प्रदान करता है। क्लस्टर उपयोगकर्ताओं द्वारा, कुबेरनेट्स API का उपयोग करने वाले अनुप्रयोगों द्वारा और स्वयं कंट्रोल प्लेन द्वारा उत्पन्न गतिविधियों का ऑडिट करता है।

क्लाउड प्रदाता सुरक्षा (Cloud provider security)

नोट: इस पृष्ठ की वस्तुएं कुबेरनेट्स के बाहरी विक्रेताओं (vendors) को संदर्भित करती हैं। कुबेरनेट्स प्रोजेक्ट के लेखक उन तृतीय-पक्ष उत्पादों या परियोजनाओं के लिए जिम्मेदार नहीं हैं। इस सूची में किसी विक्रेता, उत्पाद या प्रोजेक्ट को जोड़ने के लिए, परिवर्तन सबमिट करने से पहले कंटेंट गाइड पढ़ें। अधिक जानकारी।

यदि आप अपना कुबेरनेट्स क्लस्टर अपने हार्डवेयर या किसी अलग क्लाउड प्रदाता पर चला रहे हैं, तो सुरक्षा की सर्वोत्तम प्रथाओं के लिए अपने दस्तावेज़ देखें। यहाँ कुछ लोकप्रिय क्लाउड प्रदाताओं के सुरक्षा दस्तावेज़ों के लिंक दिए गए हैं:

IaaS प्रदाता लिंक
Alibaba Cloud https://www.alibabacloud.com/trust-center
Amazon Web Services https://aws.amazon.com/security
Google Cloud Platform https://cloud.google.com/security
Huawei Cloud https://www.huaweicloud.com/intl/en-us/securecenter/overallsafety
IBM Cloud https://www.ibm.com/cloud/security
Microsoft Azure https://docs.microsoft.com/en-us/azure/security/azure-security
Oracle Cloud Infrastructure https://www.oracle.com/security
Tencent Cloud https://www.tencentcloud.com/solutions/data-security-and-information-protection
VMware vSphere https://www.vmware.com/solutions/security/hardening-guides

नीतियां (Policies) आप कुबेरनेट्स-नेटिव तंत्रों (mechanisms) का उपयोग करके सुरक्षा नीतियां परिभाषित कर सकते हैं, जैसे कि: NetworkPolicy: नेटवर्क पैकेट फ़िल्टरिंग पर घोषणात्मक (declarative) नियंत्रण। ValidatingAdmissionPolicy: कुबेरनेट्स API का उपयोग करके कोई क्या परिवर्तन कर सकता है, इस पर घोषणात्मक प्रतिबंध।

हालाँकि, आप कुबेरनेट्स के आसपास के व्यापक इकोसिस्टम (ecosystem) से नीति कार्यान्वयन पर भी भरोसा कर सकते हैं। कुबेरनेट्स ऐसे एक्सटेंशन तंत्र प्रदान करता है जिससे वे इकोसिस्टम प्रोजेक्ट्स सोर्स कोड समीक्षा, कंटेनर इमेज अनुमोदन, API एक्सेस कंट्रोल, नेटवर्किंग और बहुत कुछ पर अपने स्वयं के नीति नियंत्रण लागू कर सकें।

नीति तंत्र और कुबेरनेट्स के बारे में अधिक जानकारी के लिए, Policies पढ़ें।

"आगे क्या" (What's next) संबंधित कुबेरनेट्स सुरक्षा विषयों के बारे में जानें:

अपने क्लस्टर को सुरक्षित करना (Securing your cluster) कुबेरनेट्स में ज्ञात कमजोरियां (Known vulnerabilities) (और अधिक जानकारी के लिए लिंक) कंट्रोल प्लेन के लिए ट्रांजिट में डेटा एन्क्रिप्शन (Data encryption in transit) एट-रेस्ट डेटा एन्क्रिप्शन (Data encryption at rest) कुबेरनेट्स API तक पहुंच को नियंत्रित करना (Controlling Access to the Kubernetes API) पॉड्स के लिए नेटवर्क नीतियां (Network policies) कुबेरनेट्स में सीक्रेट्स (Secrets in Kubernetes) पॉड सुरक्षा मानक (Pod security standards) RuntimeClasses

संदर्भ जानें:

Cloud Native Security and Kubernetes

प्रमाणित हों:

सर्टिफाइड कुबेरनेट्स सिक्योरिटी स्पेशलिस्ट (CKS) प्रमाणन और आधिकारिक प्रशिक्षण पाठ्यक्रम।

इस अनुभाग में और पढ़ें:

1 - क्लाउड-नेटिव सुरक्षा और कुबेरनेट्स (Cloud Native Security and Kubernetes)

क्लाउड नेटिव वर्कलोड को सुरक्षित (secure) रखने के लिए महत्वपूर्ण अवधारणाएँ।

Cloud Native Security and Kubernetes

क्लाउड नेटिव वर्कलोड को सुरक्षित (secure) रखने के लिए महत्वपूर्ण अवधारणाएँ।

Kubernetes एक cloud native architecture पर आधारित है और यह CNCF द्वारा बताए गए cloud native information security के best practices का पालन करता है।

इस दस्तावेज़ में आप समझेंगे कि Kubernetes कैसे एक सुरक्षित cloud native platform बनाने और चलाने में मदद करता है।


Cloud native information security

CNCF white paper के अनुसार cloud native security में अलग-अलग lifecycle phases के लिए security controls और best practices पर ध्यान दिया जाता है।


Develop lifecycle phase (विकास चरण)

इस चरण में focus होता है development environment की सुरक्षा और integrity पर।

  • development environments की integrity को सुनिश्चित करें।
  • applications को information security के सिद्धांतों के अनुसार design करें।
  • end user security को हमेशा design का हिस्सा बनाएं।

इसे प्राप्त करने के लिए:

  • zero trust architecture अपनाएं, जिससे attack surface कम हो जाता है।
  • ऐसा code review process लागू करें जिसमें security को प्राथमिकता दी जाए।
  • system का threat model बनाएं और trust boundaries को identify करें।
  • risks को समझकर उनके लिए proper mitigation करें।
  • advanced security practices जैसे fuzzing और security chaos engineering का उपयोग करें जहाँ आवश्यक हो।

Distribute lifecycle phase (वितरण चरण)

इस चरण में software supply chain की सुरक्षा सबसे महत्वपूर्ण होती है।

  • container images की security सुनिश्चित करें।
  • cluster और उसके components की security सुनिश्चित करें (जैसे external database, storage systems)।

इसे प्राप्त करने के लिए:

  • container images और artifacts को vulnerabilities के लिए scan करें।
  • software distribution को encrypted in transit रखें।
  • trusted source chain और verification का उपयोग करें।
  • dependencies को समय पर update करें, खासकर security patches के बाद।
  • digital certificates जैसे validation mechanisms अपनाएं।
  • security feeds और alerts को subscribe करें।
  • container images को private registry में रखें और access control लागू करें।

Deploy lifecycle phase (तैनाती चरण)

इस चरण में control होता है कि क्या deploy होगा, कौन करेगा और कहाँ होगा।

  • deployments को strictly control करें।
  • cryptographic verification को enforce करें।
  • workloads को अलग-अलग namespaces में deploy करें।

Kubernetes infrastructure यहाँ एक secure foundation बनाता है जिस पर applications चलते हैं।


Runtime lifecycle phase (रनटाइम चरण)

Runtime phase में तीन मुख्य हिस्से होते हैं: access, compute, storage


Runtime protection: access (एक्सेस सुरक्षा)

  • Kubernetes API पूरे cluster का core होता है, इसकी security सबसे महत्वपूर्ण है।
  • proper authentication और authorization configure करें।
  • ServiceAccounts का उपयोग करके workloads की identity manage करें।
  • Kubernetes API traffic को secure करने के लिए TLS का उपयोग करें।
  • encryption keys को सुरक्षित रखें और misuse से बचाएं।

Runtime protection: compute (कम्प्यूट सुरक्षा)

Containers isolation और resource sharing दोनों प्रदान करते हैं, इसलिए balance जरूरी है।

सुरक्षा के लिए:

  • Pod Security Standards लागू करें।
  • container-optimized immutable OS का उपयोग करें।
  • ResourceQuotas और LimitRanges सेट करें।
  • workloads को अलग-अलग nodes पर isolate करें।
  • secure container runtime का उपयोग करें।
  • Linux security modules जैसे AppArmor और seccomp enable करें।

Runtime protection: storage (स्टोरेज सुरक्षा)

  • external storage systems में encryption at rest enable करें।
  • Kubernetes API objects को encrypt करें।
  • नियमित backups लें और restore test करें।
  • storage और nodes के बीच secure authentication रखें।
  • application-level encryption लागू करें।
  • encryption keys के लिए Hardware Security Module (HSM) का उपयोग करें।

Networking and security (नेटवर्क सुरक्षा)

  • NetworkPolicy और service mesh का उपयोग करें।
  • network plugins data-in-transit encryption दे सकते हैं।
  • सही networking plugin चुनना security पर बड़ा प्रभाव डालता है।

Observability and runtime security (मॉनिटरिंग और सुरक्षा)

  • logs, metrics और monitoring systems को secure रखें।
  • third-party observability tools का सही उपयोग करें।
  • पूरे data pipeline की integrity सुनिश्चित करें।
  • cryptographically measured boot जैसे low-level security controls लागू करें।
  • logs को tamper-proof और secure रखना बहुत जरूरी है।

##आगे क्या है