SELinux को अक्षम / सक्षम करने के कारण


36

StackOverflow पर इस सवाल की लाइन में और पूरी तरह से अलग भीड़ हमारे यहाँ है, मुझे आश्चर्य है: SELinux को निष्क्रिय करने के आपके क्या कारण हैं (अभी भी अधिकांश लोग ऐसा कर रहे हैं)? क्या आप इसे सक्षम रखना चाहेंगे? SELinux को छोड़ कर आपने किन विसंगतियों का अनुभव किया है? ओरेकल के अलावा, अन्य विक्रेताओं को SELinux सक्षम सिस्टम के साथ परेशानी देने में क्या सक्षम है?

बोनस सवाल: लक्षित मोड लागू करने में ओएलएक्स के साथ आरएचईएल 5 पर ओरेकल को चलाने में कोई भी कामयाब रहा है? मेरा मतलब है, सख्त भयानक होगा, लेकिन मैं ऐसा नहीं है जो अभी तक भी संभव है, इसलिए चलो पहले लक्षित के साथ रहें;;

जवाबों:


25

RedHat डिफ़ॉल्ट रूप से SELinux चालू करता है क्योंकि इसका सुरक्षित है। लगभग हर विक्रेता जो रेडहैट-व्युत्पन्न उत्पादों का उपयोग करता है, वह SELinux को बंद कर देता है क्योंकि वे नहीं चाहते हैं कि समय (और इसलिए धन) को यह पता लगाना है कि चीज़ काम क्यों नहीं करती है। Redhat / फेडोरा लोगों ने बड़े पैमाने पर समय और प्रयास का चयन किया है और SELinux को एंटरप्राइज़ में एक व्यवहार्य विकल्प के रूप में अधिक विकसित किया है, लेकिन बहुत सारे अन्य संगठन वास्तव में आपकी सुरक्षा की परवाह नहीं करते हैं । (वे अपनी सुरक्षा और अपने उत्पाद की सुरक्षा प्रतिष्ठा के बारे में परवाह करते हैं , जो बिल्कुल अलग बात है।)

यदि आप इसे काम कर सकते हैं, तो इसके लिए जाएं। यदि आप नहीं कर सकते हैं, तो वहां के विक्रेताओं से बहुत अधिक सहायता की उम्मीद न करें। आप शायद रेडहैट / फेडोरा लोगों की मदद ले सकते हैं, सेलिनक्स मेलिंग सूचियों और रसेलोडे पर # चैनलिनक्स चैनल से। लेकिन ओरेकल जैसी कंपनियों से - SELinux वास्तव में उनके व्यवसाय योजना के लिए कारक नहीं है।


8
एक "एंटरप्राइज़" सॉफ़्टवेयर विक्रेता ने अपने उत्पाद को स्थापित करने के लिए काम पर रखा है, एक बड़े निर्देशिका पेड़ पर एक चामोद -R 777 * करके एक अनुमति समस्या को नियंत्रित किया है। वे वास्तव में आपकी सुरक्षा की परवाह नहीं करते हैं।
किमी।

21

आमतौर पर आप पूरी तरह से अक्षम करने के बजाय Perminive में SELinux को चलाना बेहतर समझते हैं। आप audit2whyअपने नियमित उपयोग के दौरान किस प्रकार के उल्लंघनों का खंडन किया गया है, यह देखने के लिए थोड़ी देर के बाद (फिर से ) जांच कर सकते हैं , और audit2allowउन नीतियों का निर्माण कर सकते हैं जिनके माध्यम से आपके 'सेटअप' के लिए झूठे-सकारात्मक हैं।

मैंने पाया है कि गैर-फेडोरा व्युत्पन्न सिस्टमों पर SELinux का व्यवहार सामान्य रूप से एक विशिष्ट फेडोरा / RHEL प्रणाली की तुलना में आपको काफी बेहतर है।

यदि आपने इसे पहले से नहीं देखा है, तो आपको फेडोरा SELinux उपयोगकर्ता गाइड शैक्षिक मिल सकता है ।


16

के कारण:

  • अनिवार्य पहुंच नियंत्रण के माध्यम से उच्च स्तर की सुरक्षा
  • आपको उच्च स्तर की सुरक्षा से परे एक कारण की आवश्यकता है? :-)

इसके कारण:

  • समझना मुश्किल
  • प्रबंधन करना मुश्किल
  • समस्या निवारण के लिए मुश्किल है

यदि आप SELinux पर विचार कर रहे हैं, तो मैंने कहा कि मैं SELinux पुस्तक उदाहरण के लिए सुझाता हूँ

मैंने एक ऐसी कंपनी के लिए काम किया, जिसमें SELinux सक्षम था, हर सिस्टम पर मोड को लागू करने में। हमारे लिए कुंजी ऑडिट 2 क्लो कार्यक्रम को समझना और उपयोग करना था जिसका उपयोग नए संदर्भ नियम बनाने के लिए किया जा सकता है।

सबसे पहले, हम ऑडिट 2 क्लू के साथ एक टेम्पलेट तैयार करेंगे, और फिर इसे बनाने के लिए एक स्क्रिप्ट का उपयोग करेंगे, जैसे:

export NAME="my_serviced"
sudo audit2allow -m "${NAME}" -i /var/log/audit/audit.log > ${NAME}.te
sudo setup_semodule ${NAME}

Setup_semodule स्क्रिप्ट:

#!/bin/sh

# Where to store selinux related files
SOURCE=/etc/selinux/local
BUILD=/etc/selinux/local
NAME=$1

/usr/bin/checkmodule -M -m -o ${BUILD}/${NAME}.mod ${SOURCE}/${NAME}.te
/usr/bin/semodule_package -o ${BUILD}/${NAME}.pp -m ${BUILD}/${NAME}.mod
/usr/sbin/semodule -i ${BUILD}/${NAME}.pp

/bin/rm ${BUILD}/${NAME}.mod ${BUILD}/${NAME}.pp

यह टेम्पलेट (.te फ़ाइल) से मॉड्यूल बनाता है, एक पैकेज बनाता है, और फिर मॉड्यूल लोड करता है।

हमने अपने कॉन्फ़िगरेशन प्रबंधन सिस्टम के लिए कठपुतली का उपयोग किया, और हमने यह सब प्रबंधित करने के लिए कठपुतली के लिए विन्यास लिखा।

SELinux कठपुतली मॉड्यूल:


2
+1, बहुत उपयोगी जानकारी।
डीसीयूकी

10

इसे बंद करने का कारण यह है क्योंकि यह डिबग करने के लिए दर्द हो सकता है।

हालाँकि अब हम इसे बंद नहीं करते हैं। हम लगभग हमेशा इसे चालू रखते हैं। मैं कभी-कभी इसे जल्दी से सत्यापित करने के लिए बंद कर देता हूं कि सेलाइनक्स एक समस्या है या नहीं।

यह अब डिबग करना बहुत आसान है, खासकर यदि आप ऑडिट 2 क्लो के साथ खुद को फेमिलियर बनाते हैं। आपको वास्तव में इसे ऑडिट 2 क्लो के साथ समझने की आवश्यकता नहीं है, लेकिन आप ऑडिट 2 क्लॉक के साथ कुछ समय के लिए व्यापक रूप से ओपनिंग थिंक अप कर सकते हैं। कहा कि कुछ SELinux से बेहतर कोई नहीं है।

मैं किसी भी तरह से एक SELinux विशेषज्ञ नहीं हूँ और केवल कुछ वर्षों से इसका उपयोग कर रहा हूँ। मैं अभी भी वास्तव में मूल बातें नहीं समझता हूं, लेकिन मुझे ऐप चलाने के लिए पर्याप्त पता है, जो कि डिस्ट्रो और रैंडम सामान के साथ शामिल हैं, जो 'नेट' संकलित हैं।

मुख्य बात मैं उपयोग करने के लिए मिला है कर रहे हैं ls -lZ(शो SELinux संदर्भ), audit2allow, chcon, semodule, getenforce, setenforceऔर बूलियन। उन उपकरणों के साथ, जिन्हें मैं SELinux के तहत चलाने के लिए आवश्यक हर ऐप को प्राप्त करने में कामयाब रहा हूँ।

मुझे लगता है कि वह SELinux समस्याओं को डिबगिंग के साथ बड़ी समस्याओं में से एक है, बस SELinux समस्याओं के लिए जाँच करने के लिए जब मैं अन्य बुद्धिमान अकथनीय समस्याओं है रीमेकिंग कर रहा हूँ। यह आमतौर पर मुझे "h! चेक SELinux !!" जाने के लिए थोड़ी सी वील लेता है।

बाइंड मैन पेज के अनुसार सेरिनक्स चिरोट जेल में बाइंड चलाने से कहीं ज्यादा सुरक्षित है। बहुत सारे अन्य लोग जिनके पास मेरे मुकाबले कहीं अधिक सुराग है, मैं भी इसकी सिफारिश करता हूं इसलिए मैं इसे अब नेत्रहीन रूप से चलाता हूं। और कभी-कभार होने वाली समस्या के बावजूद शक करना शायद ऐसा करने लायक है।


2
+1 इंगित करने के लिए कि आपको अक्सर SELinux को छोड़ना बेहतर होता है और केवल यह सत्यापित करने के लिए इसे बंद कर दें कि क्या यह एक समस्या का स्रोत है।
ओफिडियन

2

मैंने AppArmor के लिए SELinux को निष्क्रिय कर दिया , मैंने SELinux की तुलना में इसे अधिक मित्रतापूर्ण और बनाए रखने में आसान पाया।


दिलचस्प। आप किस डिस्टरो पर हैं? मैंने कभी भी AppArmor का उपयोग नहीं किया है, लेकिन मैं उत्सुक हूं कि यह किस डिस्ट्रो ने बॉक्स से कॉन्फ़िगर किया है और क्या विशेषताएं हैं। इस पर गौर करेंगे। व्यक्तिगत रूप से, मुझे SELinux, btw से परेशानी नहीं है, लेकिन इसका उपयोग करने में कुछ समय लगता है।
10

AppArmor मूल रूप से Novell द्वारा विकसित किया गया था और डिफ़ॉल्ट रूप से उनके सभी खुले और SUSE लिनक्स एंटरप्राइज वितरण में शामिल है। यह एंटरप्राइज़ डिस्ट्रोस पर डिफ़ॉल्ट रूप से सक्षम है, और उपभोक्ता डिस्ट्रोस को चालू करना आसान है। उबंटू में यह 7.04 से है, लेकिन यह डिफ़ॉल्ट रूप से हर एप्लिकेशन को स्वचालित रूप से लागू नहीं करता है।
एंड्रयू 18

मुझे लगता है कि मुझे नॉवेल के बारे में कुछ बात याद है, जो अप्पमोर टीम के अधिकांश भाग को बंद कर रहा है। क्या उबंटू ने इसे डिस्ट्रो से नहीं छोड़ा था? या मैं फिर से मेरे सिर में आवाज़ें सुन रहा हूँ? ;-)
wzzrd

नॉवेल ने किया - लेकिन लेखक अभी भी इस पर काम नहीं करता है। यह अभी भी ubuntu पर समर्थित है, और कप और मायस्कल्ड जैसे सामान डिफ़ॉल्ट रूप से लागू किए जा रहे हैं।
LiraNuna

हमेशा नहीं, लेकिन अक्सर हम सुरक्षा और इसके विपरीत उपयोग में आसानी का व्यापार करते हैं। यह एक संतुलनकारी कार्य है और इसका जवाब ज्यादातर तुच्छ नहीं है क्योंकि जोखिम को परिभाषित करना और सुरक्षा लक्ष्य बहुत कठिन काम है।
संशोधित करें

1

जब आप इसे अनुमति मोड में चला सकते हैं, तो इसे बंद करने का कोई कारण नहीं है। यह रनिंग एप्लिकेशन के साथ हस्तक्षेप नहीं करेगा और यह अभी भी उपयोगी सुरक्षा लॉगिंग प्रदान करेगा। एकमात्र संदर्भ उपयोगकर्ता संदर्भों के बारे में है: यदि आप अलग-अलग उपयोगकर्ताओं के बीच बदल रहे हैं, तो एक अन्य लिनक्स उदाहरण के अंदर रहने वाले एक चुरोट में चल रहे हैं जो आपके पास समस्याएं हो सकती हैं।


वास्तव में ऐसे मामले हैं जहां SELinux परमिशन मोड में एप्लिकेशन के साथ हस्तक्षेप कर सकता है। एक: समय के कुछ बिंदुओं पर कुछ नियम लागू किए जाने के बावजूद, सिस्टम को अनुमेय होने के लिए सेट किया गया है। यकीन नहीं होता अगर यह अभी भी मामला है। दो: नियमों को संसाधित करने में लगने वाला समय आईपीसी पर शिकंजा कसने के लिए पर्याप्त हो सकता है। मैंने इसे Oracle समूहों के साथ देखा है। फिर से अतीत में और निश्चित नहीं कि वर्तमान स्थिति क्या है। लेकिन याद रखें कि लगभग हर सिस्टम कॉल में थोड़ा प्रोसेसिंग टाइम जोड़ा जाता है।
जेसन टैन

0

एसई लिनक्स उतने निराशाजनक नहीं हैं जितना कि यह हुआ करता था, कम से कम आरएचएल 5 जैसे व्यावसायिक रूप से समर्थित डिस्ट्रोस में यह नहीं है। अधिकांश भाग के लिए आप इसे छोड़ सकते हैं, और यह RedHat द्वारा प्रदान की गई किसी भी चीज़ के साथ ठीक होगा। किसी और चीज के साथ यह परिवर्तनशील हो सकता है। समस्या यह है कि एसई लिनक्स सक्षम के साथ काम करने वाले अनुप्रयोगों को प्राप्त करने के लिए पेशेवर सेवा कार्य रेडहैट और ओरेकल जैसी कंपनियों के लिए एक अच्छी राजस्व धारा है, इसलिए उनके पास सब कुछ अच्छी तरह से काम करने के लिए कोई प्रोत्साहन नहीं है।


मुझे नहीं लगता कि ओरेकल आधिकारिक तौर पर SELinux tho
wzzrd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.