2015-06-17 8 views
5

मुझे यह उत्तर learning Linux Kernel Programming पर मिला और मेरा प्रश्न लिनक्स कर्नेल की सुरक्षा सुविधाओं के लिए अधिक विशिष्ट है। मैं जानना चाहता हूं कि रूट की पूर्ण पहुंच के विपरीत विशेषाधिकार प्राप्त उपयोगकर्ताओं या प्रक्रियाओं के अन्य अधिकारों और फ़ाइलों के लिए प्रक्रिया के अधिकारों को कैसे सीमित किया जाए।लिनक्स कर्नेल स्तर पर विशेषाधिकार प्राप्त उपयोगकर्ता पहुंच को सीमित कैसे करें?

अब तक मैंने पाया:

  • उपयोगकर्ता और समूह विवेकाधीन एक्सेस कंट्रोल (डीएसी) के लिए, पढ़ने में भेदभाव के साथ, लिखने और उपयोगकर्ता, समूह और अन्य
  • उपयोगकर्ता रूट के लिए निष्पादित उच्च विशेषाधिकार प्राप्त कार्यों
  • setuid और के लिए setgid उपयोगकर्ताओं के विकास का विस्तार करने के एसी और कॉलिंग प्रक्रिया के समूह/उपयोगकर्ता आईडी सेट करें, उदा। उपयोगकर्ता ping को लिनक्स सॉकेट खोलने के रूट अधिकारों के साथ
  • क्षमताओं दंडित अधिकारों के लिए, उदा। ping की SUID बिट को हटाने और cap_net_raw
  • नियंत्रण समूह (Cgroups) संसाधनों पर पहुँच को सीमित करने के लिए सेट यानी कि CPU, नेटवर्क, कब उपकरणों
  • नाम स्थान आईपीसी, नेटवर्क, फाइल सिस्टम पर अलग प्रक्रिया के दृष्टिकोण के लिए, pid
  • सिक्योर कम्प्यूटिंग (Seccomp) प्रणाली को सीमित करने के अनिवार्य अभिगम नियंत्रण, जैसे जैसे अतिरिक्त सुरक्षा सुविधाओं को जोड़ने के लिए कॉल
  • लिनक्स सुरक्षा मॉड्यूल (LSM) टाइप प्रवर्तन

सूची के साथ SELinux सूची पूरी हो गई है? प्रश्न लिखते समय मुझे फाइल सिस्टम सिस्टम की निगरानी करने के लिए प्रशंसा मिली। एंटी वायरस स्कैन के लिए। शायद अधिक सुरक्षा सुविधाएं उपलब्ध हैं।

क्या कोई और लिनक्स सुरक्षा सुविधाएं हैं जिनका उपयोग को किसी प्रोग्राम या तरीके से में किसी फ़ाइल या प्रक्रिया के अंदर या विशेषाधिकार प्राप्त पहुंच को सीमित करने के लिए किया जा सकता है? शायद एक पूरी सूची है।

+2

पढ़ें [प्रमाण पत्र (7)] (http://man7.org/linux/man-pages/man7/credentials.7.html) और [क्षमताओं (7)] (http://man7.org/linux /man-pages/man7/capabilities.7.html) और [नामस्थान (7)] (http://man7.org/linux/man-pages/man7/namespaces.7.html) और [xattr (7)] (http://man7.org/linux/man-pages/man7/xattr.7.html) –

उत्तर

2

एक प्रक्रिया को सीमित करने के पारंपरिक तरीका है कि यूनिक्स किसी भी तरह से अधिक विशेषाधिकारों की आवश्यकता होती है और फिर भी इसमें शामिल है ताकि वह इसे "chroot" करने के लिए आवश्यकतानुसार अधिक उपयोग न कर सके।

क्रोट एक प्रक्रिया की स्पष्ट जड़ को बदलता है। यदि सही हो जाता है, तो यह केवल उन संसाधनों तक पहुंच सकता है जो नए बनाए गए क्रोट पर्यावरण (उर्फ क्रोट जेल) उदा। यह केवल उन फ़ाइलों तक पहुंच सकता है, बल्कि, केवल उन उपकरणों आदि

ऐसी प्रक्रिया बनाने के लिए जो स्वेच्छा से अपेक्षाकृत आसान है, और असामान्य नहीं है।

ऐसे वातावरण को बनाने के लिए जहां सॉफ़्टवेयर का एक मौजूदा टुकड़ा (उदा। वेबसर्वर, मेलसेवर, ...) घर पर महसूस करता है और अभी भी ठीक से काम करता है वह अनुभव है जिसके लिए अनुभव की आवश्यकता होती है। मुख्य बात यह है कि आवश्यक संसाधनों का न्यूनतम सेट (साझा पुस्तकालय, विन्यास फाइल, उपकरण, निर्भर सेवाओं (जैसे syslog), ...) को ढूंढना है।

+0

हाय, एक क्रोट पर्यावरण कर्नेल पहुंच को सीमित नहीं करता है। यदि किसी क्रोट के अंदर एक प्रक्रिया को विशेषाधिकार प्राप्त बंदरगाहों को खोलने के लिए विशेषाधिकार प्राप्त पहुंच की आवश्यकता होती है, तो <1024 (आपके उदाहरण में यह वेबसर्वर का मामला है), इसलिए क्रोट रूट विशेषाधिकारों के साथ चलाएगा, जो जेल से बाहर निकलने में मदद करता है। वेबसर्वर के मामले में http://unixwiz.net/techtips/chroot-practices.html – andpei

+0

देखें: इसे किसी अन्य पोर्ट पर क्रोट में चलाएं यदि आपको इसकी आवश्यकता है और सबसे खराब स्थिति है तो आप पोर्ट्स को रीडायरेक्ट करने के लिए पैकेट फ़िल्टर या फ़ायरवॉल का उपयोग कर सकते हैं 80 और 443 इसे। लेकिन मुझे लगता है कि यह कर्नेल तक पहुंच सीमित नहीं कर रहा है। यदि सॉफ़्टवेयर को इसके लिए लिखा गया है, तो यह सबसे अधिक छोड़ सकता है अगर इसकी सभी फाइलें क्रोट पर्यावरण के बाहर नहीं हैं, फिर विशेषाधिकार छोड़ दें, और फिर क्रोट प्रक्रिया स्वयं करें। इस तरह आपके पास केवल सामान्य उपयोगकर्ता विशेषाधिकार हैं और उदा। क्रोट पर्यावरण के अंदर कोई भटक उपकरण, द्विआधारी, पुस्तकालय आदि नहीं। – swa66

-1

आप EFS, निकल रहा, यम जोड़ सकते हैं auditctl, ausearch, उपकरण fanotify के समान aureport: थिरकने, ClamAV जो OpenSSL, सहयोगी nmap, GnuPG

+0

हाय, मेरा सवाल निजी सीमित करने के बारे में है। कर्नेल पर उपयोगकर्ता का उपयोग, लेकिन एन्क्रिप्शन (ईएफएस, ओपनएसएसएल, जीएनयूपीजी) या घुसपैठ का पता लगाने और नेटवर्क सुरक्षा (एआईडी, स्नॉर्ट, एनएमएपी) के बारे में नहीं। ऐपआर्मर और यामा एलएसएम द्वारा भी प्रदान किए जाते हैं। ऑडिटक्ट, ऑसर्च, ऑरपोर्ट का उपयोग एसईएलएनक्स द्वारा भी किया जाता है। – andpei

संबंधित मुद्दे