संपादित 3 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
सुरक्षाएसईलिनक्सकॉन्फ़िगरेशननीतियांकमांड लाइनप्रवर्तनसिस्टम एडमिननिगरानीसर्वोत्तम प्रथाएंएक्सेस नियंत्रण
अनुवाद अपडेट किया गया 3 सप्ताह पहले
SELinux, जिसका पूर्ण रूप सुरक्षा-वर्धित लिनक्स है, एक सुरक्षा आर्किटेक्चर है जो कर्नल में एकीकृत है और इसे एक्सेस नियंत्रण सुरक्षा नीतियों का समर्थन करने के लिए एक तंत्र प्रदान करती है। इसका लक्ष्य ऑपरेटिंग सिस्टम नीतियों को लागू करना है जो प्रोग्राम क्षमताओं को सीमित करती हैं और सिस्टम को संभावित कमजोरियों से सुरक्षित रखती हैं। अपने लिनक्स-आधारित सिस्टम पर SELinux को कॉन्फ़िगर करने से आपको एक अधिक सुरक्षित वातावरण प्राप्त करने में मदद मिल सकती है। यह व्यापक मार्गदर्शिका समझाती है कि लिनक्स मशीन पर SELinux को चरण-दर-चरण कैसे कॉन्फ़िगर किया जाए।
SELinux को कॉन्फ़िगर करने से पहले, यह समझना महत्वपूर्ण है कि SELinux किस मोड में संचालित हो सकता है। ये मोड निर्धारित करते हैं कि आपका ऑपरेटिंग सिस्टम में SELinux एक्सेस नियंत्रण को कैसे प्रबंधित करता है।
SELinux को प्रभावी ढंग से कॉन्फ़िगर करने के लिए, आपको इसकी वर्तमान स्थिति की जांच करने की आवश्यकता होती है। इससे आपको यह समझने में मदद मिलेगी कि SELinux सक्रिय है या नहीं और यह वर्तमान में किस मोड का उपयोग कर रहा है।
टर्मिनल विंडो खोलें और स्थिति की जांच करने के लिए निम्नलिखित कमांड दर्ज करें:
getenforce
आप अधिक विस्तृत जानकारी के लिए निम्नलिखित कमांड का भी उपयोग कर सकते हैं:
sestatus
यह कमांड आपको वर्तमान स्थिति Enforcing
, Permissive
, या Disabled
के रूप में दिखाएगा।
आप SELinux मोड को अस्थायी या स्थायी रूप से बदल सकते हैं। परीक्षण या समस्या निवारण के लिए मोड को अस्थायी रूप से बदलना उपयोगी हो सकता है, लेकिन स्थायी बदलावों को रीबूट के बाद कॉन्फ़िगरेशन को स्थायी बनाने के लिए आवश्यक होते हैं।
सिस्टम को पुनरारंभ किए बिना मोड को अस्थायी रूप से बदलने के लिए, आप setenforce
कमांड का उपयोग कर सकते हैं। उदाहरण के लिए, लागू मोड में स्विच करने के लिए, निम्नलिखित चलाएं:
sudo setenforce 1
अनुमोदन मोड में स्विच करने के लिए, निम्नलिखित का पालन करें:
sudo setenforce 0
परिवर्तन को स्थायी बनाने के लिए, /etc/selinux/config
पर स्थित SELinux कॉन्फ़िगरेशन फ़ाइल को अपडेट करें। इस फ़ाइल को एक टेक्स्ट एडिटर का उपयोग करके खोलें:
sudo nano /etc/selinux/config
उस पंक्ति को देखें जो SELINUX=
से शुरू होती है और अपनी आवश्यकताओं के आधार पर इसके मान को enforcing
, permissive
, या disabled
में बदलें। उदाहरण के लिए:
SELINUX=enforcing
फ़ाइल को सहेजें और बंद करें, फिर परिवर्तनों को प्रभावी बनाने के लिए अपने सिस्टम को पुनरारंभ करें।
SELinux नीतियाँ उन सुरक्षा नियमों को परिभाषित करती हैं जिन्हें SELinux द्वारा लागू किया गया है। ये नीतियाँ सिस्टम पर विभिन्न उपयोगकर्ताओं और सेवाओं को दी गई अनुमतियों को नियंत्रित करती हैं। सबसे सामान्य रूप से उपयोग की जाने वाली नीतियाँ हैं:
वर्तमान में उपयोग की जा रही नीति को जानने के लिए, टर्मिनल में निम्नलिखित कमांड निष्पादित करें:
sestatus | grep "Loaded policy name"
SELinux को प्रभावी रूप से प्रबंधित करने के लिए, आपको संबंधित उपकरण और पैकेज स्थापित करने की आवश्यकता हो सकती है, जो वितरण के आधार पर भिन्न होती हैं। नीचे कुछ सामान्य पैकेज दिए गए हैं जो सहायक हो सकते हैं।
SELinux उपकरणों को स्थापित करने के लिए apt
पैकेज प्रबंधक का उपयोग करें:
sudo apt update sudo apt install policycoreutils selinux-utils setools
SELinux उपकरणों को स्थापित करने के लिए yum
या dnf
पैकेज प्रबंधक का प्रयोग करें:
sudo yum install policycoreutils selinux-policy setools
विशिष्ट सेवाओं के लिए SELinux नीतियों को सक्षम या अक्षम करने का तरीका जानना महत्वपूर्ण हो सकता है जो आपकी आवश्यकता के सुरक्षा स्तर को प्राप्त करने के बिना सेवाओं के इरादा कार्यक्षमता को बाधित करता है। SELinux विशिष्ट कार्यक्षमताओं के लिए नीतियों को टॉगल करने के लिए बूलियन का उपयोग करता है।
उपलब्ध SELinux बूलियन की सूची देखने के लिए, निम्नलिखित कमांड चलाएँ:
getsebool -a
बूलियन मान को अस्थायी रूप से (अगले रीबूट तक) बदलने के लिए:
sudo setsebool httpd_enable_homedirs on
बूलियन मान को स्थायी रूप से बदलने के लिए -P
विकल्प का प्रयोग करें, जो परिवर्तन को डिस्क पर लिखता है:
sudo setsebool -P httpd_enable_homedirs on
SELinux संदर्भों (जिन्हें लेबल भी कहा जाता है) का उपयोग फ़ाइल और प्रक्रियाओं पर अनुमतियाँ निर्धारित करने के लिए करता है। कभी-कभी, आपको मैन्युअल रूप से इन संदर्भों को सेट या बदलने की आवश्यकता होती है। ls -Z
कमांड के साथ किसी फ़ाइल का संदर्भ देखने के लिए:
ls -Z /var/www/html
यदि आपको फ़ाइल का संदर्भ बदलने की आवश्यकता है, तो chcon
कमांड का उपयोग करें। उदाहरण के लिए, वेब सर्वर के लिए उपयुक्त संदर्भ में फ़ाइल बदलने के लिए:
sudo chcon -t httpd_sys_content_t /var/www/html/index.html
यदि किसी फ़ाइल में गलत SELinux संदर्भ है, तो आप उसे उसके डिफ़ॉल्ट संदर्भ में restorecon
कमांड का उपयोग करके पुनर्स्थापित कर सकते हैं:
sudo restorecon -Rv /var/www/html
यह कमांड निर्दिष्ट निर्देशिका के लिए सही SELinux संदर्भ को पुनर्स्थापित करेगा।
जब SELinux लागू मोड में होता है, तो यह कभी-कभी वैध क्रियाओं को अवरुद्ध कर देता है, खासकर जब कस्टम अनुप्रयोग स्थापित किए जाते हैं। SELinux का समस्या निवारण लॉग का विश्लेषण करने और यह समझने की आवश्यकता होती है कि कुछ क्यों अस्वीकार किया गया है।
SELinux संदेश /var/log/audit/audit.log
या, कुछ सिस्टम पर, /var/log/messages
में लॉग किए जाते हैं। लॉग देखने के लिए, टेक्स्ट एडिटर या tail
कमांड का उपयोग करें:
sudo tail -n 50 /var/log/audit/audit.log
लॉग जटिल और बड़े हो सकते हैं, इसलिए विशेष उपकरण जैसे audit2allow
उन्हें समझने में मदद कर सकते हैं। यह उपकरण लॉग प्रविष्टियों को मानव-पठनीय स्वरूपों में परिवर्तित करता है और यहां तक कि अस्वीकृत क्रियाओं की अनुमति देने के लिए आवश्यक नीतियों का सुझाव भी देता है।
grep AVC /var/log/audit/audit.log | audit2allow -m custompolicy
उपरोक्त कमांड आपको एक SELinux मॉड्यूल बनाने में मदद कर सकती है जो किसी विशेष क्रिया की अनुमति दे सकता है। कार्यों की अनुमति देते समय सावधानी बरतें, क्योंकि इससे आपके सिस्टम की कुल सुरक्षा कम हो सकती है।
लिनक्स में SELinux को कॉन्फ़िगर करने में विभिन्न मोडों को समझना, स्थिति की जाँच करना, मोड बदलना, नीतियों और बूलियन्स के साथ कार्य करना, फ़ाइलों को लेबल करना, और संदर्भों को पुनर्स्थापित करना शामिल है। SELinux एक शक्तिशाली प्रणाली है जो सख्त एक्सेस नियंत्रण लागू करके आपके लिनक्स वातावरण की सुरक्षा को महत्वपूर्ण रूप से बढ़ाती है। ठीक से कॉन्फ़िगर किए गए, यह अनधिकृत एक्सेस या बाधा की मांग करने वाली खतरों के खिलाफ बचाव कर सकता है।
सुनिश्चित करें कि आप लगातार लॉग की निगरानी करते हैं और नई स्थापित सॉफ़्टवेयर और बदलती सिस्टम आवश्यकताओं के लिए अद्यतित नीति बनाए रखते हैं। SELinux प्रारंभ में जटिल लग सकता है, लेकिन इसकी विशेषताओं से परिचित होने के बाद यह लिनक्स सुरक्षा बढ़ाने के लिए एक अनिवार्य उपकरण बन जाता है।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं