संपादित 3 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
फेडोरासुरक्षाएसईलिनक्सऑपरेटिंग सिस्टमफ़ायरवॉलकॉन्फ़िगरेशननेटवर्कशुरुआतीउन्नत उपयोगकर्ताकंप्यूटर
अनुवाद अपडेट किया गया 3 सप्ताह पहले
सिक्योरिटी-एन्हांस्ड लिनक्स (SELinux) एक सुरक्षा संरचना है जो लिनक्स कर्नेल में एकीकृत होती है और एक बहुमुखी अनिवार्य पहुँच नियंत्रण (MAC) तंत्र प्रदान करती है। Fedora, जो सबसे लोकप्रिय लिनक्स वितरणों में से एक है, SELinux का उपयोग करता है ताकि प्रोग्रामों और फ़ाइलों तक पहुँच को नियंत्रित कर अपनी सुरक्षा को बेहतर बनाया जा सके। इस विस्तृत गाइड में, हम जानेंगे कि कैसे SELinux का उपयोग करके Fedora सिस्टम को सुरक्षित किया जा सकता है, इसके नीतियों का प्रबंधन कैसे किया जा सकता है, सामान्य परिदृश्यों को कैसे संभालना है, और इसकी सुरक्षा लाभों को अधिकतम कैसे किया जा सकता है।
SELinux तीन अलग-अलग मोड में काम करता है, और प्रत्येक मोड अलग-अलग स्तर की सुरक्षा प्रदान करता है। आइए इन्हें जांचें:
कोई भी बदलाव करने से पहले, यह महत्वपूर्ण है कि Fedora सिस्टम पर वर्तमान SELinux स्थिति की जाँच की जाए। यह टर्मिनल में निम्नलिखित कमांड का उपयोग करके किया जा सकता है:
$ sestatus
यह कमांड 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 पहुँच नियंत्रण को परिभाषित करने के लिए नीतियों के एक सेट का उपयोग करता है। मुख्य प्रकार की नीतियाँ लक्षित और मल्टी-लेवल सुरक्षा (MLS) हैं। Fedora आम तौर पर लक्षित नीति का उपयोग करता है, जो प्रमुख प्रक्रियाओं के लिए लक्षित सुरक्षा प्रदान करता है:
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 में वैश्विक सुरक्षा संदर्भों और लेबलों के चारों ओर घूमती है। 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 अनुमतियों को समस्या निवारण कर सकते हैं:
/var/log/audit/audit.log
में दर्ज करता है। आप इसका विश्लेषण करने के लिए ausearch
का उपयोग कर सकते हैं:$ ausearch -m avc -ts recent
sealert
कमांड का उपयोग करें विस्तारपूर्ण डायग्नोस्टिक जानकारी के लिए:$ sudo sealert -a /var/log/audit/audit.log
हालांकि 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
यदि फ़ाइल या निर्देशिका का संदर्भ गलत है, तो यह पहुँच समस्याओं का कारण बन सकता है। आप restorecon
कमांड का उपयोग करके डिफ़ॉल्ट SELinux संदर्भ को पुनर्स्थापित कर सकते हैं:
$ sudo restorecon -Rv /path/to/directory
यह कमांड पुनरावर्तनीय रूप से उस संदर्भ को डिफ़ॉल्ट नीति से मेल करने के लिए पुनः सेट करता है।
SELinux किसी भी Fedora सिस्टम को एक आवश्यक सुरक्षा परत जोड़ता है। चाहे आप अपने घरेलू सेटअप को सुरक्षित कर रहे हों या एक उद्यम प्रबंधक संगठन-व्यापी सुरक्षा बनाए रखते हों, SELinux की क्षमताओं को समझना अत्यंत महत्वपूर्ण है। SELinux मोड, नीतियों, बूलियन, संदर्भों, और नीति निर्माण के साथ परिचित होने से, आप इस शक्तिशाली सुरक्षा उपकरण का उपयोग कर सकते हैं ताकि आपके Fedora सिस्टम को हमलों और अनधिकृत पहुँच के खिलाफ मजबूत बना सकें।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं