2008-09-18 16 views
19

मैं जानना चाहता हूं कि यहां लोग आमतौर पर इंस्टॉलेशन पर SELinux को अक्षम करते हैं, जहां यह डिफ़ॉल्ट रूप से चालू होता है? यदि ऐसा है तो आप समझा सकते हैं कि क्यों, यह किस प्रकार की प्रणाली थी, इत्यादि?क्या आप SELinux को अक्षम करते हैं?

मैं जितना संभव हो उतना राय प्राप्त करना चाहता हूं।

+0

इसे unix.stackoverflow.com या कम से कम सुपरयूसर में माइग्रेट किया जाना चाहिए जहां यह समझ में आता है। और फिर चर्चा के लिए खोला गया। –

उत्तर

0

मैं एक बहुत यहाँ योगदान करने के लिए नहीं है, लेकिन जब से अपने अनुत्तरित चला गया, मैं समझ मैं में मेरे दो सेंट फेंक होगा।

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

मौसम या आप इसका उपयोग नहीं करते हैं, वास्तव में आपकी आवश्यकताओं के लिए नीचे आता है, लेकिन यह एक कारण के लिए बनाया गया था, इसलिए इसे हमेशा बंद करने के बजाय इसका उपयोग करने पर विचार करें।

2

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

हाल के संस्करण में, SELinux अधिक उपयोगकर्ता के अनुकूल है, और इसे बंद करने या इसे छिपाने की संभावना को हटाने के बारे में भी वार्ताएं हैं, इसलिए केवल जानकार उपयोगकर्ताओं को यह पता चलेगा कि यह कैसे करना है - और यह माना जाता है कि उपयोगकर्ता ठीक हैं जो परिणाम समझते हैं।

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

तो, यह उम्मीद में डिफ़ॉल्ट रूप से छोड़ा गया है कि ज्यादातर लोग इसे कम से कम कुछ समस्याओं को रिपोर्ट करने से पहले लंबे समय तक इसका उपयोग करेंगे।

अंत में, यह आपका कॉल है: क्या आप शॉर्ट टर्म फिक्स या सॉफ़्टवेयर के दीर्घकालिक सुधार की तलाश करते हैं, जिससे एक दिन ऐसे प्रश्न पूछने की आवश्यकता को दूर किया जा सकेगा।

13

मैंने तीन या चार साल पहले परिभाषित किया था जब परिभाषित नीतियों में कई नुकसान थे और नीतियां बनाना बहुत कठिन था और मेरे पास सीखने के लिए 'समय नहीं था'। यह निश्चित रूप से महत्वपूर्ण मशीनों पर नहीं था।

आजकल समझदार नीतियों के साथ distros जहाज के लिए किए गए सभी कार्यों के साथ, और tools और tutorials जो मौजूद हैं, जो नीतियों को बनाने, ठीक करने और परिभाषित करने में आपकी मदद करते हैं, इसे अक्षम करने का कोई बहाना नहीं है।

+1

पुhew !! मैं अकेला नहीं हूँ! –

+1

मैं तुम्हारे साथ हूँ, दोस्त! – Gabe

2

मुझे लगता है कि यह बेहतर हो रहा है, लेकिन मैं अभी भी इसे अक्षम कर रहा हूं। सर्वरों के लिए, यह वास्तव में कोई समझ नहीं आता है जब तक कि आप एक आईएसपी या बड़े निगम नहीं हैं जो कई स्थानीय उपयोगकर्ताओं में जुर्माना पहुंच स्तर नियंत्रण को लागू करना चाहते हैं।

वेब सर्वर पर इसका उपयोग करके, मुझे अपाचे अनुमतियों के साथ बहुत सी समस्याएं थीं। मुझे लगातार चलना होगा,

chcon -R -h -t httpd_sys_content_t /var/www/html 

नई फाइलें जोड़े जाने पर एसीएल अपडेट करने के लिए। मुझे यकीन है कि यह अब तक हल हो गया है, लेकिन फिर भी, SELinux सीमित इनाम के लिए बहुत दर्द है जिसे आप मानक वेब साइट परिनियोजन पर सक्षम करने से प्राप्त करते हैं।

+5

सीमित इनाम? इंटरनेट का सामना करने वाली वेबसाइट पर? आप किस दुनिया में रह रहे हैं? –

+3

मैं "सीमित इनाम" से सहमत हूं? सवाल। selinux ने अपने वेब सर्वर को httpd द्वारा उपयोग किए जा रहे पैकेज में सुरक्षा बग के कारण हैक होने से बचाया है, जहां सेलिनक्स ने शोषण से शोषण को रोका था। – Eddie

1

मैं इसे अक्षम नहीं करता, लेकिन कुछ समस्याएं हैं।

कुछ एप्लिकेशन इसके साथ विशेष रूप से अच्छी तरह से काम नहीं करते हैं।

उदाहरण के लिए, मेरा मानना ​​है कि मैंने अपने RAID डिस्क s.m.a.r.t. का ट्रैक रखने और ट्रैक रखने के लिए स्मार्टड सक्षम किया है। स्थिति, लेकिन selinux नए /dev/sda* बूट पर बनाए गए नोड्स के बारे में भ्रमित हो जाएगा (मुझे लगता है कि समस्या क्या थी)

आपको चीजों को समझने के लिए नियमों को स्रोत डाउनलोड करना होगा।

"avc अस्वीकार" संदेशों के लिए बस /var/log/messages देखें और अस्वीकार कर दिया जा सकता है कि डीकोड कर सकते हैं।

google "selinux faq" और आपको एक fedora selinux faq मिलेगा जो आपको बताएगा कि इन समस्याओं के माध्यम से कैसे कार्य करना है।

7

मैंने पिछले साल एक कंपनी के लिए काम किया था जहां हम इसे CentOS 5.x सिस्टम पर सक्षम 'लक्षित' नीति के साथ लागू कर रहे थे। यह हमारे डेवलपर्स पर काम करने वाले किसी भी वेब एप्लिकेशन कोड में हस्तक्षेप नहीं करता क्योंकि अपाचे डिफ़ॉल्ट नीति में था। इसने गैर-रेड हैट (या सेंटोस) पैकेज से स्थापित सॉफ़्टवेयर के लिए कुछ चुनौतियों का कारण बना दिया, लेकिन हम विन्यास प्रबंधन उपकरण, Puppet के साथ उस पर पहुंचने में कामयाब रहे।

हमने अपनी नीतियां उत्पन्न करने के लिए कठपुतली की टेम्पलेट सुविधा का उपयोग किया। SELinux Enhancements for Puppet देखें, "भविष्य सामग्री" शीर्षक, आइटम "नीति जनरेशन"।

यहां लागू किए गए तरीके से कुछ बुनियादी कदम यहां दिए गए हैं। Audit2allow के अलावा अन्य नोट, यह सब स्वचालित था।

$ {name} नाम की कुछ सेवा के लिए एक SELinux टेम्पलेट फ़ाइल जेनरेट करें।

sudo audit2allow -m "${name}" -i /var/log/audit/audit.log > ${name}.te 

एक स्क्रिप्ट बनाएं, /etc/selinux/local/${name}-setup.sh

SOURCE=/etc/selinux/local 
BUILD=/etc/selinux/local 

/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 

कहा कि, ज्यादातर लोगों से बेहतर सिर्फ SELinux को निष्क्रिय करने और इस तरह के The Center for Internet Security's Benchmarks अन्य सामान्य रूप से स्वीकार किए जाते हैं आम सहमति आधारित सर्वोत्तम प्रथाओं के माध्यम से अपने सिस्टम का सशक्तीकरण हैं (ध्यान दें वे SELinux की सिफारिश :-))।

-1

रेड-टोपी के तहत, आप /etc/sysconfig/selinux संपादित कर सकते हैं और SELINIX=disabled सेट कर सकते हैं।

मुझे लगता है कि लिनक्स के सभी संस्करणों के तहत आप lilo.conf या grub.conf में बूट लाइन में selinux=0 noselinux जोड़ सकते हैं।

+0

आप वास्तव में सवाल का जवाब नहीं दे रहे हैं। – Saustrup

5

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

कई क्लाइंट प्रारंभ में सुरक्षा में सर्वश्रेष्ठ चाहते हैं, लेकिन जब वे हमारे एकीकरण समाधान के लिए लागत अनुमान सुनते हैं, तो 'SELinux अक्षम' शब्द बहुत तेजी से प्रोजेक्ट प्लान में दिखाई देते हैं।

यह शर्म की बात है, क्योंकि गहराई में रक्षा एक अच्छा विचार है। सुरक्षा के लिए SELinux कभी भी आवश्यक है, और यह इसकी गिरावट है। जब ग्राहक पूछता है 'तो क्या आप इसे SELinux के बिना सुरक्षित बना सकते हैं?', हमें क्या जवाब देना चाहिए? 'उम्म ... हम निश्चित नहीं हैं'?

हम कर सकते हैं और हम करेंगे, लेकिन जब नरक फ्रीज हो जाता है, और कुछ नई भेद्यता पाई जाती है, और अपडेट समय पर नहीं होते हैं, और आपका सिस्टम ग्राउंड शून्य होने के लिए पर्याप्त भाग्यशाली है ... SELinux बस अपने गधे को बचा सकता है।

लेकिन यह एक कठिन बिक्री है।

+0

आपका मतलब है कि इसमें एमएक्स सी-एम एम-सी एम-तितली लक्ष्य दूरस्थ मशीनों के हार्ड ड्राइव के साथ-साथ स्थानीय लोगों को भी लक्षित करता है? – Joshua

2

अफसोस की बात है, मैं ज्यादातर समय से SELinux को बंद करता हूं, क्योंकि ओरेकल जैसे तीसरे पक्ष के अनुप्रयोगों की अच्छी मात्रा, SELinux के साथ बहुत अच्छी तरह से काम नहीं करती है और/या SELinux चलाने वाले प्लेटफ़ॉर्म पर समर्थित नहीं है।

ध्यान दें कि Red Hat के अपने सैटेलाइट उत्पाद को आपको SELinux को भी बंद करने की आवश्यकता है, जो - फिर से, दुख की बात है - लोगों को SELinux सक्षम प्लेटफ़ॉर्म पर जटिल अनुप्रयोगों को चलाने के कठिनाइयों के बारे में बहुत कुछ कहता है।

उपयोग युक्तियां कि या आपके लिए उपयोगी नहीं हो सकता है हो सकता है: SELinux (वर्तमान स्थिति जांचने के उपयोग getenforce) setenforce का उपयोग करके रनटाइम पर पर और बंद किया जा सकता। पुनर्स्थापना परिस्थितियों में मददगार हो सकता है जहां चॉकलेट बोझिल है, लेकिन ymmv।

0

मैंने कभी भी सेलिनक्स को अक्षम नहीं किया, मेरे ठेकेदार का उपयोग करने के लिए है। और, अगर/कब, कुछ डिमन (ओएसएस लाइसेंस बीटीडब्ल्यू के साथ) में कोई सुरक्षा नीति नहीं है तो उसे (अच्छा) लिखना अनिवार्य है। ऐसा इसलिए नहीं है क्योंकि मेरा मानना ​​है कि सेलिनक्स लिनक्स पर एक अनावश्यक मैक है - उदाहरण देने के लिए बेकार - लेकिन क्योंकि यह वैसे भी ऑपरेटिंग सिस्टम सुरक्षा को बढ़ाता है। वेब ऐप के लिए ओएसएस सुरक्षा बेहतर समाधान mod_security है: इसलिए मैं दोनों का उपयोग करता हूं। सेलिनक्स के साथ सबसे अधिक समस्या छोटी या संगत डोकू पर है, हालांकि हाल के वर्षों में स्थिति में काफी सुधार हुआ है।

1

हां। यह मस्तिष्क मर चुका है। यह मानक डिमन्स को तोड़ने का परिचय दे सकता है जो निदान के लिए लगभग असंभव है। यह एक दरवाजा बंद कर सकता है, लेकिन एक खिड़की खुला छोड़ दें। यही है, ताजा CentOS इंस्टॉल पर किसी कारण से यह "/etc/init.d/smb" से शुरू होने से smbd को अवरुद्ध कर रहा था। लेकिन इसे "sh /etc/init.d/smb" या "smbd-d" के रूप में या init.d/smb फ़ाइल को दूसरी निर्देशिका में स्थानांतरित करने से शुरू करने से इसे अवरुद्ध नहीं किया गया, जिससे यह केवल smbd शुरू करेगा ठीक।

तो जो कुछ भी यह सोचा कि यह हमारे सिस्टम को सुरक्षित करने के कर रहा था - उन्हें तोड़ कर - यह और भी लगातार कर नहीं किया गया था। कुछ गंभीर CentOS गुरुओं से परामर्श, वे या तो अपने व्यवहार की असंगतताओं को समझ में नहीं आता है। यह आपको सुरक्षित महसूस करने के लिए डिज़ाइन किया गया है। लेकिन यह सुरक्षा का मुखौटा है। यह आपके सिस्टम की सुरक्षा को लॉक करने का असली काम करने के लिए एक विकल्प है।

+0

आप इसे गलत कर रहे हैं। उचित तरीका 'run_init सेवा 'है। और _moving_ फ़ाइलों के आस-पास अपने लेबल को पेंच न करें; इसके बजाय उन्हें कॉपी करें। –

-1

यदि यह डिफ़ॉल्ट रूप से चालू है मैं इस पर छोड़ देंगे जब तक यह तो दूर यह जाता है कुछ टूट जाता है।

व्यक्तिगत तौर पर मैं किसी भी सुरक्षा प्रदान नहीं और मैं इसके साथ परेशान करने के लिए नहीं जा रहा हूँ के रूप में देखते।

0

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

3

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

1

मैं इसे, बंद कर देते हैं अपने सभी cPanel बक्से पर के बाद से cPanel इसके साथ पर नहीं चलेंगे।

+0

यदि आप सीपीनल का उपयोग कर रहे हैं, तो शायद आप SELinux 'लक्षित ऑडियंस नहीं हैं। – Saustrup

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