विंडोमैकसॉफ्टवेयरसेटिंग्ससुरक्षाएंड्रॉइडउत्पादकतालिनक्सप्रदर्शनएप्पलडिवाइस प्रबंधन सभी

लिनक्स पर SELinux को कैसे कॉन्फ़िगर करें

संपादित 3 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम

सुरक्षाएसईलिनक्सकॉन्फ़िगरेशननीतियांकमांड लाइनप्रवर्तनसिस्टम एडमिननिगरानीसर्वोत्तम प्रथाएंएक्सेस नियंत्रण

लिनक्स पर SELinux को कैसे कॉन्फ़िगर करें

अनुवाद अपडेट किया गया 3 सप्ताह पहले

परिचय

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

SELinux मोड को समझना

SELinux को कॉन्फ़िगर करने से पहले, यह समझना महत्वपूर्ण है कि SELinux किस मोड में संचालित हो सकता है। ये मोड निर्धारित करते हैं कि आपका ऑपरेटिंग सिस्टम में SELinux एक्सेस नियंत्रण को कैसे प्रबंधित करता है।

वर्तमान SELinux स्थिति की जांच करना

SELinux को प्रभावी ढंग से कॉन्फ़िगर करने के लिए, आपको इसकी वर्तमान स्थिति की जांच करने की आवश्यकता होती है। इससे आपको यह समझने में मदद मिलेगी कि SELinux सक्रिय है या नहीं और यह वर्तमान में किस मोड का उपयोग कर रहा है।

टर्मिनल विंडो खोलें और स्थिति की जांच करने के लिए निम्नलिखित कमांड दर्ज करें:

getenforce

आप अधिक विस्तृत जानकारी के लिए निम्नलिखित कमांड का भी उपयोग कर सकते हैं:

sestatus

यह कमांड आपको वर्तमान स्थिति Enforcing, Permissive, या Disabled के रूप में दिखाएगा।

SELinux मोड बदलना

आप SELinux मोड को अस्थायी या स्थायी रूप से बदल सकते हैं। परीक्षण या समस्या निवारण के लिए मोड को अस्थायी रूप से बदलना उपयोगी हो सकता है, लेकिन स्थायी बदलावों को रीबूट के बाद कॉन्फ़िगरेशन को स्थायी बनाने के लिए आवश्यक होते हैं।

SELinux मोड को अस्थायी रूप से बदलना

सिस्टम को पुनरारंभ किए बिना मोड को अस्थायी रूप से बदलने के लिए, आप setenforce कमांड का उपयोग कर सकते हैं। उदाहरण के लिए, लागू मोड में स्विच करने के लिए, निम्नलिखित चलाएं:

sudo setenforce 1

अनुमोदन मोड में स्विच करने के लिए, निम्नलिखित का पालन करें:

sudo setenforce 0

SELinux मोड को स्थायी रूप से बदलना

परिवर्तन को स्थायी बनाने के लिए, /etc/selinux/config पर स्थित SELinux कॉन्फ़िगरेशन फ़ाइल को अपडेट करें। इस फ़ाइल को एक टेक्स्ट एडिटर का उपयोग करके खोलें:

sudo nano /etc/selinux/config

उस पंक्ति को देखें जो SELINUX= से शुरू होती है और अपनी आवश्यकताओं के आधार पर इसके मान को enforcing, permissive, या disabled में बदलें। उदाहरण के लिए:

SELINUX=enforcing

फ़ाइल को सहेजें और बंद करें, फिर परिवर्तनों को प्रभावी बनाने के लिए अपने सिस्टम को पुनरारंभ करें।

SELinux नीति प्रकार को समझना

SELinux नीतियाँ उन सुरक्षा नियमों को परिभाषित करती हैं जिन्हें SELinux द्वारा लागू किया गया है। ये नीतियाँ सिस्टम पर विभिन्न उपयोगकर्ताओं और सेवाओं को दी गई अनुमतियों को नियंत्रित करती हैं। सबसे सामान्य रूप से उपयोग की जाने वाली नीतियाँ हैं:

वर्तमान में उपयोग की जा रही नीति को जानने के लिए, टर्मिनल में निम्नलिखित कमांड निष्पादित करें:

sestatus | grep  "Loaded policy name"

SELinux पैकेज स्थापित करना और प्रबंधित करना

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 विशिष्ट कार्यक्षमताओं के लिए नीतियों को टॉगल करने के लिए बूलियन का उपयोग करता है।

उपलब्ध SELinux बूलियन की सूची देखने के लिए, निम्नलिखित कमांड चलाएँ:

getsebool -a

SELinux बूलियन्स को कॉन्फ़िगर करना

बूलियन मान को अस्थायी रूप से (अगले रीबूट तक) बदलने के लिए:

sudo setsebool httpd_enable_homedirs on

बूलियन मान को स्थायी रूप से बदलने के लिए -P विकल्प का प्रयोग करें, जो परिवर्तन को डिस्क पर लिखता है:

sudo setsebool -P httpd_enable_homedirs on

SELinux संदर्भों के साथ फ़ाइलों की लेबलिंग

SELinux संदर्भों (जिन्हें लेबल भी कहा जाता है) का उपयोग फ़ाइल और प्रक्रियाओं पर अनुमतियाँ निर्धारित करने के लिए करता है। कभी-कभी, आपको मैन्युअल रूप से इन संदर्भों को सेट या बदलने की आवश्यकता होती है। ls -Z कमांड के साथ किसी फ़ाइल का संदर्भ देखने के लिए:

ls -Z /var/www/html

यदि आपको फ़ाइल का संदर्भ बदलने की आवश्यकता है, तो chcon कमांड का उपयोग करें। उदाहरण के लिए, वेब सर्वर के लिए उपयुक्त संदर्भ में फ़ाइल बदलने के लिए:

sudo chcon -t httpd_sys_content_t /var/www/html/index.html

SELinux संदर्भों को पुनर्स्थापित करना

यदि किसी फ़ाइल में गलत SELinux संदर्भ है, तो आप उसे उसके डिफ़ॉल्ट संदर्भ में restorecon कमांड का उपयोग करके पुनर्स्थापित कर सकते हैं:

sudo restorecon -Rv /var/www/html

यह कमांड निर्दिष्ट निर्देशिका के लिए सही SELinux संदर्भ को पुनर्स्थापित करेगा।

SELinux समस्या निवारण

जब 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 प्रारंभ में जटिल लग सकता है, लेकिन इसकी विशेषताओं से परिचित होने के बाद यह लिनक्स सुरक्षा बढ़ाने के लिए एक अनिवार्य उपकरण बन जाता है।

यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं


टिप्पणियाँ