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

कैसे SELinux का उपयोग कर Fedora को सुरक्षित करें

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

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

कैसे SELinux का उपयोग कर Fedora को सुरक्षित करें

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

सिक्योरिटी-एन्हांस्ड लिनक्स (SELinux) एक सुरक्षा संरचना है जो लिनक्स कर्नेल में एकीकृत होती है और एक बहुमुखी अनिवार्य पहुँच नियंत्रण (MAC) तंत्र प्रदान करती है। Fedora, जो सबसे लोकप्रिय लिनक्स वितरणों में से एक है, SELinux का उपयोग करता है ताकि प्रोग्रामों और फ़ाइलों तक पहुँच को नियंत्रित कर अपनी सुरक्षा को बेहतर बनाया जा सके। इस विस्तृत गाइड में, हम जानेंगे कि कैसे SELinux का उपयोग करके Fedora सिस्टम को सुरक्षित किया जा सकता है, इसके नीतियों का प्रबंधन कैसे किया जा सकता है, सामान्य परिदृश्यों को कैसे संभालना है, और इसकी सुरक्षा लाभों को अधिकतम कैसे किया जा सकता है।

SELinux मोड को समझना

SELinux तीन अलग-अलग मोड में काम करता है, और प्रत्येक मोड अलग-अलग स्तर की सुरक्षा प्रदान करता है। आइए इन्हें जांचें:

SELinux स्थिति की जाँच

कोई भी बदलाव करने से पहले, यह महत्वपूर्ण है कि Fedora सिस्टम पर वर्तमान SELinux स्थिति की जाँच की जाए। यह टर्मिनल में निम्नलिखित कमांड का उपयोग करके किया जा सकता है:

$ sestatus

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

SELinux मोड स्विच करना

SELinux मोड स्विच करना सीधा है, लेकिन इसके लिए प्रशासनिक (रूट) विशेषाधिकार की आवश्यकता होती है। मोड बदलने के लिए, /etc/selinux/config में स्थित फ़ाइल को संपादित करें और SELINUX= लाइन को enforcing, permissive, या disabled में अपडेट करें।

# यह फ़ाइल सिस्टम पर SELinux की स्थिति को नियंत्रित करती है।
# SELINUX= इनमें से एक तीन मूल्य ले सकता है:
#     enforcing - SELinux सुरक्षा नीति को लागू किया जाता है।
#     permissive - SELinux चेतावनियाँ प्रिंट करता है बजाय लागू करने के।
#     disabled - SELinux पूरी तरह से अक्षम होता है।
SELINUX=enforcing
# SELINUXTYPE= इनमें से दो मूल्य ले सकता है:
#     targeted - लक्षित प्रक्रियाओं को सुरक्षा प्रदान की जाती है,
#     minimum - लक्षित नीति का संशोधन।
#     MLS - मल्टी लेवल सुरक्षा संरक्षण।
SELINUXTYPE=targeted

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

# SELinux को एन्फोर्सिंग मोड पर सेट करें
$ sudo setenforce 1
# SELinux को परमिसिव मोड पर सेट करें
$ sudo setenforce 0

SELinux नीति के प्रकार

SELinux पहुँच नियंत्रण को परिभाषित करने के लिए नीतियों के एक सेट का उपयोग करता है। मुख्य प्रकार की नीतियाँ लक्षित और मल्टी-लेवल सुरक्षा (MLS) हैं। Fedora आम तौर पर लक्षित नीति का उपयोग करता है, जो प्रमुख प्रक्रियाओं के लिए लक्षित सुरक्षा प्रदान करता है:

SELinux बूलियन का प्रबंधन करना

SELinux बूलियन स्विच होते हैं जो विशेष SELinux नीति नियमों को सक्षम या अक्षम करते हैं बिना नीति को संशोधित किए। यह अस्थायी समायोजन के माध्यम से अधिक लचीलापन प्रदान करता है। सभी उपलब्ध बूलियन की सूची बनाने के लिए, इस कमांड का उपयोग करें:

$ semanage boolean -l

प्रत्येक बूलियन में एक विवरण, एक वर्तमान मूल्य, और एक डिफ़ॉल्ट मूल्य होता है। एक बूलियन मूल्य बदलने के लिए, setsebool कमांड का उपयोग करें:

# एक बूलियन सक्षम करें
$ sudo setsebool httpd_enable_homedirs on
# एक बूलियन अक्षम करें
$ sudo setsebool httpd_enable_homedirs off

सुनिश्चित करने के लिए कि परिवर्तन रीबूट के दौरान बरकरार रहें, -P विकल्प जोड़ें:

$ sudo setsebool -P httpd_enable_homedirs on

SELinux में संदर्भ और लेबल

SELinux में वैश्विक सुरक्षा संदर्भों और लेबलों के चारों ओर घूमती है। Fedora में फ़ाइलों, निर्देशिकाओं, और प्रक्रियाओं के अद्वितीय संदर्भ होते हैं जिसमें एक उपयोगकर्ता, भूमिका, प्रकार, और स्तर होता है। संदर्भों को समझना और उन्हें उपयुक्त रूप से लेबल करना SELinux सुरक्षा को बनाये रखने में महत्त्वपूर्ण है। आप ls -Z कमांड का उपयोग करके फाइलों के संदर्भ देख सकते हैं:

$ ls -Z /var/www/html

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

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

यह ध्यान रखना महत्वपूर्ण है कि chcon के साथ मैनुअल परिवर्तनों को लेबलिंग संचालन के दौरान पुनः स्थगित किया जा सकता है। स्थायी परिवर्तन करने के लिए, आप नीतियों और semanage fcontext कमांड का उपयोग करेंगे।

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

SELinux के साथ काम करते समय कभी-कभी अनुमति त्रुटियाँ हो सकती हैं। यह अक्सर नीति नियम सही ढंग से लागू किए जाने का संकेत होता है, लेकिन यदि अप्रत्याशित हो सकता है, तो कार्यप्रवाह को बाधित कर सकता है। इस प्रकार आप SELinux अनुमतियों को समस्या निवारण कर सकते हैं:

  1. लॉग जांचें: SELinux अधिकांश पहुँचा अस्वीकारताओं को /var/log/audit/audit.log में दर्ज करता है। आप इसका विश्लेषण करने के लिए ausearch का उपयोग कर सकते हैं:
  2. $ ausearch -m avc -ts recent
  3. रिपोर्ट उत्पन्न करें: SELinux समस्या समाधानकर्ता के sealert कमांड का उपयोग करें विस्तारपूर्ण डायग्नोस्टिक जानकारी के लिए:
  4. $ sudo sealert -a /var/log/audit/audit.log
  5. एन्फोर्सिंग मोड को समायोजित करें: यह जांचने के लिए कि क्या SELinux के कारण कोई एप्लिकेशन समस्याओं का सामना कर रही है, परमिसिव मोड में अस्थायी रूप से स्विच करें और सिस्टम लॉग की निगरानी करें।

कस्टम SELinux नीतियाँ बनाना

हालांकि Fedora की डिफ़ॉल्ट नीतियाँ कई परिदृश्यों को कवर करती हैं, उन्नत उपयोगकर्ता अद्वितीय उपयोग के मामलों को कवर करने के लिए कस्टम SELinux नीतियाँ बना सकते हैं। ऐसा करने के लिए, आप नीति फ़ाइलें (आमतौर पर .te पर समाप्त होती हैं) लिखेंगे और उन्हें checkmodule और semodule_package टूल का उपयोग करके संकलित करेंगे:

# अपनी नीति को एक .te फ़ाइल में लिखें
module mycustom 1.0;
require {
    type user_home_t;
    type httpd_t;
    class file { read write };
}
# httpd प्रक्रिया को उपयोगकर्ता होम फाइलों को पढ़ने और लिखने की अनुमति दें
allow httpd_t user_home_t:file { read write };

इसके बाद, अपने कस्टम मॉड्यूल को संकलित करें और इंस्टॉल करें:

$ checkmodule -M -m -o mycustom.mod mycustom.te
$ semodule_package -o mycustom.pp -m mycustom.mod
$ semodule -i mycustom.pp

डिफ़ॉल्ट SELinux संदर्भ को पुनर्स्थापित करना

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

$ sudo restorecon -Rv /path/to/directory

यह कमांड पुनरावर्तनीय रूप से उस संदर्भ को डिफ़ॉल्ट नीति से मेल करने के लिए पुनः सेट करता है।

निष्कर्ष

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

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


टिप्पणियाँ