கொள்ளிகள் ஏன் முன்னிருப்பாக Root ஆகவும் இயங்க வேண்டாம்?
கொள்ளிகளை root ஆகவும் இயங்குவது ஏன் ஆபத்தாகும் என்பதையும், உற்பத்தি சூழல்களில் குறைந்த சலுகை பயனர்கள், திறன்கள் மற்றும் கொள்கைகளை எவ்வாறு கட்டாயப்படுத்துவது என்பதையும் கற்றுக்கொள்ளுங்கள்.
கொள்ளிகளை root ஆகவும் இயங்குவது என்பது உற்பத்தி சூழல்களில் மிகவும் பொதுவான — மற்றும் மிகவும் ஆபத்தான — தவறான கட்டமைப்புகளில் ஒன்றாகும். இது ஒவ்வொரு செயலுமைக்கைகளின் தாக்கம் மேற்பரப்பை அமைதியாக விரிவுபடுத்துகிறது, மற்றும் பெரும்பாலான குழுக்கள் ஒரு சம்பவம் சிக்கலை கட்டாயப்படுத்தும் வரை இதை உணராது.
"Root ஆகவும் இயங்குதல்" உண்மையில் என்ன அர்த்தம் கொள்கிறது
முன்னிருப்பாக, பல கொள்ளி படங்கள் (குறிப்பாக குறைந்த அல்லது பழைய ones) தங்களின் முக்கிய செயல்முறையை கொள்ளியின் உள்ளே UID 0 ஆகவும் செய்கிறது. கொள்ளிகள்호스्ट kernel ஐ மற்ற கொள்ளிகளுடனும்호스्ट இதுவுடனும் பகிர்ந்து கொள்வதால், கொள்ளியின் உள்ளே root முற்றிலுமாக தனிமைப்படுத்தப்பட்ட가상 இயந்திரத்தில் உள்ள root க்கு சமமாக இல்லை — ஆனால் அது இன்னும் அது இருக்க வேண்டியதை விட எவ்வளவும் சக்திசாலி. ஒரு தாக்குபவர் ஒரு root-உடமை கொள்ளியின் உள்ளே குறியீடு செயல்பாடு அடைந்தால், அவர்கள் பெறுகிறார்கள்:
- கொள்ளியில்마운ट করப்பட்ட எந்த கோப்புகளுக்கும் வெளிப்படுத்தப்பட்ட அனுமதிகளைப் பொருட்படுத்தாமல் முழு வாசனை/எழுது அணுகல்
- தொகுப்புகளை நிறுவ, பைனரிகளை மாற்றியமைக்க, அல்லது பயன்பாட்டு நிலையுடன் கையாளும் திறன்
- kernel அல்லது runtime பாதுகாப்பு சம்பவம் பயன்படுத்தக்கூடிய என்றால் கொள்ளி breakout உண்டு பாதை மிகவும் எளிமையாக
- mounted Docker socket அல்லது호स्ट filesystem பாதை போன்ற தவறான கட்டமைப்பு மொத்தங்களுடன் இணைந்தபோது உயர்ந்த சلावνाge
ஒரு kernel exploit இல்லாமலே, கொள்ளியின் உள்ளே root அணுகல் எந்த பயன்பாட்டு-স্তர பாதுகாப்பு சம்பவத்தின் (SSRF, deserialization bugs, தன்னிச்சையான கோப்பு எழுதுதல், etc.) blast ತ್ರಿಜ್ಯವನ್ನು கடுமையாக அதிகரிக்கிறது.
இது அணுக்களைக் குறிக்கப்பட்ட சூழல்களில் ஏன் அधिक महत्वपूर्ण
Kubernetes கொத்தளில், அதிக Linux திறன்கள் அல்லது பொதுவான பாதுகாப்பு சூழலுடன் இணைந்த root கொள்ளி ஒரு தாக்குபவரை அனுமதிக்கிறது:
/procஅல்லது/sysஐ host ను பாதிக்கும் விதங்களில் மாற்றியமைக்கhostPID,hostNetwork, அல்லதுhostIPCসक्षम कર्यों இருந்தால் சலுகைகளை மெல்லியதாக்க- cluster முழுவதும் laterally pivot க்கு mounted service account token ஐ தவறாக பயன்படுத்த
privileged: trueஅமைக்கப்பட்டிருந்தால் அல்லதுSYS_ADMINபோன்ற خطرناक திறன்கள் வழங்கப்பட்டிருந்தால் node ஐ탈출க்க
root பயனர் தன்னையே எப்பொழுதும் பாதுகாப்பு சம்பவம் இல்லை — இது combination root மற்றும் அதிகப்படியாக উदार kernel திறன்கள், host mounts, அல்லது namespace பகிர்வுக்கு அது contained சமjaozā மாற்றுகிறது एक cluster-విస్తృत தாக్కుకు.
நిজటinálన్న శക్తిశాలి चरણాలు
1. Image উমধ்যে Non-Root पयोगকर्ता அமைक्त करুन
მുন్नిρूපत्તិમాटեర్రिட్ఠ్ఱెఽఽఆ एक non-root उपयोगकर्ता घोषणा करें बजाय डिফ़ॉल्ट पर निर्भर करते:
FROM node:20-slim
RUN useradd --uid 10001 --shell /usr/sbin/nologin appuser
USER appuser
2. Orchestrator स्तर पर इसे लागू करें
इमेज पर सिर्फ भरोसा करो मत — रनटाइम पर नीति लागू करें। Kubernetes मे, एक securityContext का उपयोग करें:
securityContext:
runAsNonRoot: true
runAsUser: 10001
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
runAsNonRoot: true pod ను UID 0 として चलने का प्रयास करता है अगर admission पर विफल करने के लिए कारण देता है, आपको एक कठोर गारंटी बजाय best-effort संविधान देते हुए।
3. अनावश्यक திறன்களை चलाएं
अधिकतर अनुप्रयोग कोई भी कंटेनर को दीए जाने वाले डिफ़ॉल्ट Linux திறन्यों की जरूरत नहीं। सब कुछ छोड़ दें और केवल कड़ाई से आवश्यक जोड़ें (दुर्लभ मामले जैसे कि कम पोर्ट को bind करने की आवश्यकता हो सकती है NET_BIND_SERVICE)।
4. Privileged Mode और Host Namespace शेयरिंग को تجنب करें
privileged: true, hostNetwork: true, और hostPID: true को बहुत विशिष्ट infrastructure workloads के लिए आरक्षित होना चाहिए (कुछ CNI या निगरानी agents की तरह) — कभी भी सामान्य अनुप्रयोग कंटेनर के लिए नहीं।
5. नीति उपकरण के साथ स्कैन करें और लागू करें
टाइपिक के रूप में स्वचालितत्तः deploy नियमों का उल्लंघन करने वाले deployments को अस्वीकार करने के लिए नीति इंजन (उदाहरण के लिए, Kyverno, OPA/Gatekeeper) का उपयोग करें manual कोड समीक्षा पर निर्भर करने के बजाय। CI में छवि स्कैनिंग के साथ इसे जोड़ी करें root-उपयोगकर्ता छवियों को क्लस्टर तक पहुंचने से पहले पकड़ने के लिए।
एक Layered, नहीं सेवा, रक्षा
Non-root के रूप में चलना위험ा पूरी तरह से खत्म नहीं करता — kernel-स्तर कंटेनर escapes in-कंटेनर उपयोगकर्ता की परवाह किए बिना स्वतंत्र रूप से मौजूद हैं — लेकिन यह कम प्रयास विशेषाधिकार escalation और lateral आंदोलन तकनीकों का एक विशाल वर्ग निकाल देता है। पढ़ें-only filesystems, dropped capabilities, और restrictive नेटवर्क नीति के साथ संयुक्त, यह एक defense-in-depth कंटेनर सुरक्षा रणनीति में सबसे सस्ता और सबसे प्रभावी परतों में से एक बनाता है।
cloud-native workloads hardening पर गहराई जानना चाहते हैं? Cloud security और DevOps pipeline hardening पर संबंधित Korra Studio segments अन्वेषण करें आपके बचाव-in-depth रणनीति का बाकी हिस्सा बनाने के लिए।
AI உதவியுடன் எழுதப்பட்டது, Michal Pilch (CISSP), Korra Studio ஆல் மறுஆய்வு செய்யப்பட்டு வெளியிடப்பட்டது.
இது Korra Studio அறிவுத் தளத்தில் இருந்து ஒரு குறிப்பு — மேடை ஒவ்வொரு தலைப்பையும் 1-க்கு-1 மாற்றுச் சொற்களுடன் இணைக்கிறது.
இலவசமாக தொடங்கவும்arrow_forward