CKS (Kubernetes Security Specialist): पूर्वापेक्षाएँ और एक 6-सप्ताह की अध्ययन योजना
CKS, CKA से कठिन है, दायरे में संकीर्ण है, और पंजीकरण के लिए एक सक्रिय CKA की आवश्यकता होती है। इसे बिना थके कैसे पढ़ें, यहाँ बताया गया है।
CKS — सर्टिफाइड कुबेरनेट्स सिक्योरिटी स्पेशलिस्ट — मेरी राय में तीन प्रो-टियर कुबेरनेट्स परीक्षाओं में सबसे कठिन है, CKA की तुलना में संकरा है और समय के दबाव में अधिक मुश्किल है। दो घंटे, हैंड्स-ऑन, $445, एक मुफ्त रिटेक बंडल किया गया है। PSI Bridge, केवल ऑनलाइन, कोई टेस्ट सेंटर नहीं। पास मार्क 67% है। CNCF आधिकारिक पास दरें प्रकाशित नहीं करता है, लेकिन समुदाय द्वारा सर्वेक्षण की गई पहली-प्रयास दर लगभग 40-50% रहती है, जो CKA से कम है, और यह मेरे सहयोगियों को इसे देते हुए देखने के अनुभव से मेल खाती है।
सबसे महत्वपूर्ण बात जो ज़्यादातर लोग चूक जाते हैं: आप सीधे साइन अप नहीं कर सकते। CNCF को पंजीकरण के समय आपके खाते में एक सक्रिय CKA की आवश्यकता होती है। यह "आपने किसी समय CKA दिया है" नहीं है। सक्रिय। यदि आपका CKA समाप्त हो गया है (जो अब 1 अप्रैल, 2024 की नीति में बदलाव के बाद 3 साल के बजाय 2 साल बाद समाप्त होता है), तो आपको CKS के लिए पंजीकरण करने से पहले इसे नवीनीकृत करना होगा। यह एक कठोर बाधा है, न कि एक नरम सिफारिश, और यह हर तिमाही में लोगों को आश्चर्यचकित करती है।
वास्तविक पूर्वापेक्षाएँ
आधिकारिक: एक सक्रिय CKA। बस इतना ही।
अनौपचारिक:
kubectlके साथ इतनी सहजता कि आप सिंटैक्स के बारे में न सोचें। यदि आप अभी भी "kubectl create deployment" गूगल कर रहे हैं, तो आप तैयार नहीं हैं।- Linux के मूल सिद्धांत — आपको नोड्स में SSH करना होगा, systemd जर्नल पढ़ना होगा, kubelet फ़्लैग संपादित करने होंगे, और seccomp / AppArmor प्रोफ़ाइल विफलताओं को डीबग करना होगा। यदि
journalctl -u kubeletअपरिचित है, तो पहले उसे ठीक करें। vimदक्षता। Vim जादूगरी नहीं। लेकिन 2 घंटे की घड़ी मेंvimमें YAML को संपादित करना और "इंतज़ार, मैं फिर से कैसे सेव करूं" में 30 सेकंड गंवाए बिना यह अनिवार्य है।- NetworkPolicy का एक कार्यशील मानसिक मॉडल। यह परीक्षा में सबसे बड़ी बाधा है। इस पर नीचे और जानकारी।
- Falco, Trivy, AppArmor, seccomp, सेवा मेश के माध्यम से mTLS, और Pod Security Standards के साथ कुछ पिछला संपर्क। आपको उनमें से किसी में भी विशेषज्ञ होने की आवश्यकता नहीं है; आपको उन्हें पहचानना होगा।
यदि आप इनमें से दो से अधिक चीज़ें मिस कर रहे हैं, तो CKS से निपटने से पहले CKA-शैली के ऑपरेशनल ड्रिल्स पर एक और महीना बिताएँ। समय के दबाव में कुबेरनेट्स ऑपरेशंस और सिक्योरिटी को एक साथ सीखने की कोशिश करना, मुफ्त रिटेक को जलाने का एक रास्ता है।
वास्तव में क्या परीक्षण किया जाता है
CNCF पाठ्यक्रम इसे इस प्रकार बकेट करता है (प्रतिशत हर पाठ्यक्रम संशोधन के साथ बदलता रहता है; शुरुआती 2026 तक वर्तमान):
- क्लस्टर सेटअप और हार्डनिंग (~15%): CIS बेंचमार्क, kube-bench, बाहरी एक्सेस को प्रतिबंधित करना, अनाम प्रमाणीकरण को अक्षम करना, kubelet हार्डनिंग फ़्लैग।
- सिस्टम हार्डनिंग (~15%): कर्नेल हार्डनिंग (seccomp, AppArmor), अटैक सरफेस को कम करना, क्लाउड साइड पर IAM मिनिमाइजेशन।
- माइक्रोसर्विसेज कमजोरियों को कम करना (~20%): Pod Security Standards (जिसने 1.25 में PSPs की जगह ली), ServiceAccount टोकन, OPA / Gatekeeper या Kyverno, mTLS।
- सप्लाई चेन सिक्योरिटी (~20%): Trivy के साथ छवियों को स्कैन करना, cosign के साथ साइन करना, अनसाइंड छवियों को ब्लॉक करने वाले एडमिशन कंट्रोलर, SBOM मूल बातें, बेस छवियों को कम करना।
- मॉनिटरिंग, लॉगिंग, रनटाइम सिक्योरिटी (~20%): Falco नियम, व्यवहारिक विश्लेषण, अपरिवर्तनीयता (immutability), API सर्वर स्तर पर ऑडिट लॉगिंग।
- नेटवर्क पॉलिसी (~10%): default-deny, नेमस्पेस आइसोलेशन, इग्रेस नियम। एक छोटे प्रतिशत के रूप में सूचीबद्ध लेकिन व्यवहार में हर दूसरी श्रेणी NetworkPolicy को भी छूती है।
परीक्षा यह परीक्षण नहीं करती कि Falco आंतरिक रूप से कैसे काम करता है। यह परीक्षण करती है कि क्या आप एक Falco नियम लिख सकते हैं जो एक कंटेनर में एक शेल शुरू होने पर ट्रिगर होता है। परीक्षा cosign क्रिप्टोग्राफी का परीक्षण नहीं करती है। यह परीक्षण करती है कि क्या आप अनसाइंड छवियों को अस्वीकार करने के लिए एक एडमिशन कंट्रोलर को कॉन्फ़िगर कर सकते हैं। काम ऑपरेशनल है, अकादमिक नहीं।
6-सप्ताह की योजना
यह मानता है कि आपके पास पहले से ही सक्रिय CKA है और प्रति सप्ताह ~10 घंटे का समय है। यदि आपके पास अधिक या कम समय है तो समायोजित करें।
सप्ताह 1: NetworkPolicy तब तक जब तक आप पूरी तरह इसमें पारंगत न हो जाएँ।
Calico या Cilium के साथ स्थानीय रूप से एक kind क्लस्टर सेट करें (डिफ़ॉल्ट kindnet NetworkPolicy को लागू नहीं करता है, जो लोगों को उलझा देता है)। एक नेमस्पेस के लिए default-deny पॉलिसी लिखें। एक allow-from-namespace पॉलिसी लिखें। एक इग्रेस पॉलिसी लिखें जो केवल DNS की अनुमति देती है। एक ऐसी पॉलिसी लिखें जो नेमस्पेस के पार एक विशिष्ट पॉड लेबल से ट्रैफ़िक की अनुमति देती है। इन सभी को स्मृति से फिर से करें जब तक आप kubernetes.io से परामर्श किए बिना उन्हें vim में लिख न सकें। NetworkPolicy YAML परीक्षा में सबसे अधिक मात्रा वाला सामग्री क्षेत्र है और वह जिसमें अधिकांश लोग गलती करते हैं। जितना आपको लगता है उससे अधिक समय यहाँ बिताएँ।
सप्ताह 2: Pod Security Standards, ServiceAccounts, RBAC को सख्त करना।
नेमस्पेस पर प्रतिबंधित (restricted), बेसलाइन (baseline), और विशेषाधिकार प्राप्त (privileged) प्रोफ़ाइल लागू करें। automountServiceAccountToken: false के साथ ServiceAccounts कॉन्फ़िगर करें। एक परिनियोजन (deployment) के लिए कम से कम विशेषाधिकार (least-privilege) का पालन करने वाला RBAC बनाएँ जिसे अपने ही नेमस्पेस में ConfigMaps पढ़ने की आवश्यकता है और कुछ नहीं। "यह पॉड X नहीं कर सकता क्योंकि RBAC की वजह से" का निदान करने का अभ्यास करें जब तक कि kubectl auth can-i प्रवाह स्वचालित न हो जाए।
सप्ताह 3: सप्लाई चेन — Trivy, cosign, एडमिशन कंट्रोल।
Trivy के साथ एक इमेज स्कैन करें और CVE आउटपुट की व्याख्या करें। cosign के साथ एक इमेज साइन करें। एक ImagePolicyWebhook या Kyverno पॉलिसी कॉन्फ़िगर करें जो आपकी कुंजी द्वारा हस्ताक्षरित नहीं की गई छवियों को अस्वीकार करती है। यदि आप पूरी तरह से अभ्यास करना चाहते हैं तो स्थानीय रूप से एक OCI रजिस्ट्री सेट करें। परीक्षा में संभवतः आपको Trivy इंस्टाल मिलेगा; आपको इसके मुख्य फ़्लैग स्मृति से पता होने चाहिए (--severity HIGH,CRITICAL, --ignore-unfixed)।
सप्ताह 4: रनटाइम — Falco, AppArmor, seccomp।
एक kind क्लस्टर पर Falco इंस्टाल करें। डिफ़ॉल्ट नियम पढ़ें। एक कस्टम नियम लिखें। एक पॉड पर एक AppArmor प्रोफ़ाइल लागू करें (परीक्षा में आमतौर पर आपको नोड पर पहले से ही एक प्रोफ़ाइल मिलती है और आपको इसे एनोटेशन के माध्यम से जोड़ने के लिए कहा जाता है — जिसका अर्थ है सिंटैक्स container.apparmor.security.beta.kubernetes.io/<container>: localhost/<profile> को जानना)। securityContext.seccompProfile के माध्यम से एक seccomp प्रोफ़ाइल लागू करें। इन दोनों में एनोटेशन-आधारित विरासत सिंटैक्स और फ़ील्ड-आधारित वर्तमान सिंटैक्स दोनों हैं; परीक्षा वर्तमान सिंटैक्स का परीक्षण करती है लेकिन आपको दोनों को पहचानना चाहिए।
सप्ताह 5: क्लस्टर और होस्ट हार्डनिंग।
kube-bench चलाएँ, विफलताओं की व्याख्या करें, आसान लोगों को ठीक करें (अनाम प्रमाणीकरण, ऑडिट लॉगिंग, kubelet फ़्लैग)। API सर्वर पर ऑडिट पॉलिसी कॉन्फ़िगर करें। etcd एक्सेस को प्रतिबंधित करें। अनावश्यक kubelet पोर्ट्स को अक्षम करें। यह मुख्य रूप से नोड-स्तर का Linux काम है और यहीं पर मजबूत sysadmin पृष्ठभूमि वाले इंजीनियर धीमे पड़ जाते हैं।
सप्ताह 6: किलर शेल, पूर्ण सिमुलेशन और आराम।
इस सप्ताह में दोनों बंडल किए गए Killer Shell सत्रों का उपयोग करें। वे जानबूझकर वास्तविक परीक्षा से कठिन होते हैं; उम्मीद करें कि आप जितनी उम्मीद कर रहे हैं उससे कम स्कोर करेंगे। अध्ययन के लिए खाली समय का उपयोग करें। सप्ताह 6 के अंतिम 2-3 दिनों में वास्तविक परीक्षा दें जबकि आपकी मांसपेशी स्मृति ताज़ा हो। इसे और आगे न बढ़ाएँ — हर हफ्ते आप देरी करते हैं, आपकी सजगता कम होती जाती है।
रात को परीक्षा से पहले सोएँ। पूरी रात पढ़ाई न करें। परीक्षा के दिन अपने kubectl उपनाम न बदलें।
वे बाधाएँ जो लोगों को परेशान करती हैं
समय के दबाव में NetworkPolicy। पहले ही उल्लेख किया गया है और इसे दो बार कहना उचित है। YAML संरचना अक्षम्य है — गलत इंडेंटेशन पॉलिसी को चुपचाप मार देता है और पॉड अभी भी मार्ग करता है। vim में अभ्यास करें जब तक कि आप मांसपेशी स्मृति से default-deny + चयनात्मक अनुमति न लिख सकें।
यह भूल जाना कि NetworkPolicy को एक CNI की आवश्यकता होती है जो इसे लागू करता है। kindnet नहीं करता। flannel (कुछ सेटअप में डिफ़ॉल्ट) नहीं करता। Calico, Cilium, Weave करते हैं। सुनिश्चित करें कि आपका अभ्यास क्लस्टर एक लागू करने वाला CNI चलाता है अन्यथा आप गलत सबक सीखेंगे।
PSP और Pod Security Standards को मिलाना। PSPs को 1.25 में हटा दिया गया था (अब कई साल पहले, लेकिन पुरानी प्रशिक्षण सामग्री अभी भी उनका संदर्भ देती है)। वर्तमान तंत्र Pod Security Admission है जिसमें प्रतिबंधित (restricted), बेसलाइन (baseline), विशेषाधिकार प्राप्त (privileged) प्रोफ़ाइल नेमस्पेस लेबल के माध्यम से लागू की जाती हैं। PSPs का अध्ययन न करें।
etcd एन्क्रिप्शन-एट-रेस्ट कॉन्फ़िगरेशन। अक्सर परीक्षण किया जाता है। विशेष रूप से: EncryptionConfiguration को संपादित करना, सही फ़्लैग के साथ API सर्वर को पुनरारंभ करना, और etcdctl get के साथ यह सत्यापित करना कि मान एन्क्रिप्टेड है। इसका अभ्यास करें।
ब्राउज़र टैब ट्रैप। आपको kubernetes.io, falco.org, app-armor.net, और कुछ अन्य की अनुमति है। आप समय के दबाव में उन्हें खोजने पर भरोसा नहीं कर सकते। संरचना को याद रखें। टैब का उपयोग विशिष्ट स्निपेट्स को कॉपी-पेस्ट करने के लिए करें, न कि सिंटैक्स सीखने के लिए।
क्या आपको इसे लेना चाहिए?
CKS लें यदि आपकी नौकरी प्लेटफॉर्म सिक्योरिटी, कुबेरनेट्स शॉप में सिक्योरिटी इंजीनियरिंग, या विनियमित उद्योगों में कंप्लायंस का काम है या होगी। यदि आप एक सामान्यवादी प्लेटफॉर्म इंजीनियर हैं तो इसे छोड़ दें — CKA अधिकांश सामान्यवादी भूमिकाओं के लिए आवश्यक है, और CKS अनावश्यक है जो 2 साल में समाप्त हो जाता है।
यदि आप इसके लिए जा रहे हैं, तो CertLabPro पर CKS प्रश्न बैंक ब्राउज़ करें या एक समयबद्ध परीक्षा शुरू करें। प्रश्न बैंकों में वैचारिक कवरेज उन ऑपरेशनल अभ्यास का पूरक है जिन्हें आपको वास्तविक क्लस्टर पर करना होता है। दोनों आवश्यक हैं; केवल एक पर्याप्त नहीं है।