जवाबों:
अपरमोर एक अनिवार्य प्रवेश नियंत्रण (या मैक) प्रणाली है। यह प्रोग्राम को कुछ संसाधनों तक सीमित रखने के लिए एलएसएम कर्नेल संवर्द्धन का उपयोग करता है। सिस्टम शुरू होने पर AppArmor कर्नेल में लोड प्रोफाइल के साथ ऐसा करता है। Apparmor में दो प्रकार के प्रोफ़ाइल मोड, प्रवर्तन और शिकायत हैं। प्रवर्तन मोड में प्रोफाइल उस प्रोफाइल के नियमों को लागू करते हैं और उल्लंघन के प्रयासों की रिपोर्ट करते हैं syslog
या auditd
। शिकायत मोड में प्रोफाइल किसी भी प्रोफाइल नियम को लागू नहीं करती है, बस उल्लंघन के प्रयासों को लॉग करें।
Ubuntu में Apparmor डिफ़ॉल्ट रूप से स्थापित है। यह उन फ़ाइलों और अनुमतियों को निर्धारित करने के लिए प्रोफाइल तक सीमित करता है, जिनके लिए एक प्रोग्राम की आवश्यकता होती है। कुछ एप्लिकेशन अपने स्वयं के गुणों के साथ आएंगे और अधिक apparmor-profiles
पैकेज में पाए जा सकते हैं ।
आप apparmor-profiles
चलाकर स्थापित कर सकते हैं sudo apt-get install apparmor-profiles
।
मुझे उबंटू मंचों पर अप्पमोर का एक अच्छा उदाहरण मिला, जिसे मैंने इस पोस्ट के लिए फिर से लिखा था।
अपरमोर एक सुरक्षा ढांचा है जो अनुप्रयोगों को बुराई को बदलने से रोकता है। उदाहरण के लिए: यदि मैं फ़ायरफ़ॉक्स चलाता हूं और एक खराब साइट पर जाता हूं जो मैलवेयर को स्थापित करने की कोशिश करता है जो मेरे
home
फ़ोल्डर को हटा देगा , तो ऐप्पमोर की फ़ायरफ़ॉक्स पर सीमाएं हैं हालांकि इसे कुछ भी करने से रोकना चाहिए जो मैं नहीं चाहता (जैसे मेरे संगीत, दस्तावेज़ों आदि का उपयोग करना)। इस तरह भले ही आपके आवेदन में समझौता हो जाए, लेकिन कोई नुकसान नहीं हो सकता।
apparmor-utils
पैकेज AppArmor विन्यस्त करने के लिए कमांड लाइन उपकरण शामिल हैं। इसका उपयोग करके आप अप्पर्मर के निष्पादन मोड को बदल सकते हैं, प्रोफ़ाइल की स्थिति ज्ञात कर सकते हैं, नई प्रोफ़ाइल बना सकते हैं, आदि।
ये सबसे सामान्य आदेश हैं:
नोट: प्रोफाइल में संग्रहीत हैं/etc/apparmor.d/
sudo apparmor_status
। आपको सभी प्रोफाइल की सूची * भरी हुई, लागू मोड में सभी प्रोफाइल, शिकायत मोड में सभी प्रोफाइल, एनफोर्स / शिकायत में क्या प्रक्रियाएं परिभाषित हैं, आदि। sudo aa-complain /path/to/bin
, जहां /path/to/bin
प्रोग्राम bin
फ़ोल्डर है। उदाहरण के लिए, रनिंग: sudo aa-complain /usr/bin/firefox
फ़ायरफ़ॉक्स को शिकायत मोड में डाल देगा।sudo aa-enforce /path/to/bin
एक प्रोग्राम प्रोफाइल को लागू करने के लिए उपयोग करते हैं । sudo aa-complain /etc/apparmor.d/*
और sudo aa-enforce.d/*
क्रमशः। एक प्रोफाइल को कर्नेल में लोड करने के लिए जिसका आप उपयोग करेंगे apparmor_parser
। आप -r
पैरामीटर का उपयोग करके प्रोफाइल फिर से लोड कर सकते हैं ।
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
जो प्रभावी रूप profile.name
से एपर्मोर के पार्सर में सामग्री को प्रिंट करता है।-r
पैरामीटर का उपयोग करते हैं, जैसे:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
किसी प्रोफ़ाइल को अक्षम करने के लिए आप इसे इस तरह से उपयोग करने के लिए लिंक/etc/apparmor.d/disable/
करते ln
हैं: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
फिर चलाएँ sudo apparmor_parser -R /etc/apparmor.d/profile.name
:।
नोट: भ्रमित नapparmor_parser -r
के साथapparmor_parser -R
वे एक ही चीज नहीं हैं!
/etc/apparmor.d/disable/
फिर -a
पैरामीटर का उपयोग करके इसे लोड करें ।sudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
और कर्नेल मॉड्यूल का उपयोग करके हटा सकते हैंsudo update-rc.d -f apparmor defaults
sudo service apparmor start
कर्नेल मॉड्यूल शुरू करें और साथ लोड करेंsudo update-rc.d apparmor defaults
प्रोफाइल को /etc/apparmor.d/
'' के साथ '/' की जगह, निष्पादन योग्य प्रोफाइल के लिए पूर्ण पथ के नाम पर संग्रहीत किया जाता है । उदाहरण के लिए /etc/apparmor.d/bin.ping
में प्रोफाइल ping
है /bin
।
प्रोफाइल में उपयोग की जाने वाली दो मुख्य प्रविष्टियाँ हैं:
पथ प्रविष्टियां निर्धारित करती हैं कि कोई एप्लिकेशन किन फ़ाइलों तक पहुंच सकती है।
क्षमता प्रविष्टियाँ निर्धारित करती हैं कि एक प्रक्रिया किन विशेषाधिकारों का उपयोग कर सकती है।
एक उदाहरण के रूप ping
में स्थित प्रोफाइल को etc/apparmor.d/bin.ping
देखें।
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>
global
निर्देशिका में फ़ाइल शामिल है tunables
, यह कई अनुप्रयोगों से संबंधित बयानों को एक सामान्य फ़ाइल में रखने की अनुमति देता है।
/bin/ping flags=(complain)
निर्धारित प्रोग्राम के लिए पथ सेट करता है और शिकायत करने के लिए मोड सेट करता है।
capability net_raw
CAP_NET_RAW Posix.1e
क्षमता के लिए आवेदन का उपयोग करने की अनुमति देता है।
/bin/ping mixr
आवेदन को पढ़ने और फ़ाइल तक पहुंच निष्पादित करने की अनुमति देता है।
/etc/modules.conf r,
के r
लिए आवेदन पढ़ा विशेषाधिकार देता है/etc/modules.conf
नोट: एक प्रोफ़ाइल बनाने / संपादित करने के बाद, आपको प्रभावी होने के लिए प्रोफ़ाइल को फिर से लोड करना होगा।
यहां उन अनुमतियों की सूची दी गई है जिनका आप उपयोग कर सकते हैं:
r
- पढ़ो w
- लिखना ux
- अप्रतिबंधित निष्पादन Ux
- अप्रतिबंधित निष्पादन - पर्यावरण को साफ़ करें px
- असतत प्रोफ़ाइल निष्पादित Px
- असतत प्रोफ़ाइल निष्पादन - पर्यावरण को साफ़ करें ix
- इन्हेरिट निष्पादित m
- कॉल के PROT_EXEC
साथ अनुमति देंmmap(2)
l
- संपर्कAppArmor एक अनिवार्य अभिगम नियंत्रण (मैक) प्रणाली है जो संसाधनों के सीमित समूह में कार्यक्रमों को सीमित करने के लिए एक कर्नेल (LSM) वृद्धि है। AppArmor का सुरक्षा मॉडल उपयोगकर्ताओं के बजाय कार्यक्रमों तक पहुंच नियंत्रण विशेषताओं को बांधने के लिए है। AppArmor कारावास को कर्नेल में लोड प्रोफाइल के माध्यम से प्रदान किया जाता है, आमतौर पर बूट पर। AppArmor प्रोफाइल दो में से एक मोड में हो सकती है: प्रवर्तन और शिकायत। प्रवर्तन मोड में भरी गई प्रोफाइल के परिणामस्वरूप प्रोफ़ाइल में परिभाषित नीति के प्रवर्तन के साथ-साथ नीति उल्लंघन के प्रयासों (या तो साइसलॉग या ऑडिट के माध्यम से) की रिपोर्टिंग होगी। शिकायत मोड में प्रोफाइल नीति लागू नहीं करेगा, बल्कि नीति उल्लंघन के प्रयासों की रिपोर्ट करेगा।
AppArmor लिनक्स पर कुछ अन्य मैक सिस्टमों से अलग है जिसमें यह पथ-आधारित है, प्रवर्तन और शिकायत मोड प्रोफाइल के मिश्रण की अनुमति देता है, विकास को आसान बनाने के लिए फ़ाइलों को शामिल करता है और अन्य लोकप्रिय मैक सिस्टमों की तुलना में प्रवेश के लिए बहुत कम बाधा है।
AppArmor एक स्थापित तकनीक है जिसे पहले Immunix में देखा गया था, और बाद में इसे उबंटू, नोवेल / एसयूएसई, और ट्रिव्रा में एकीकृत किया गया। मुख्य AppArmor कार्यक्षमता मेनलाइन लिनक्स कर्नेल में 2.6.36 के बाद से है; AppArmor, Ubuntu और अन्य डेवलपर्स द्वारा मेनलाइन कर्नेल में अतिरिक्त AppArmor कार्यक्षमता को मर्ज करने के लिए काम जारी है।
मुझे आपके लिए कुछ और उपयोगी लिंक मिले : Wiki.Ubuntu.com Ubuntuforums.org
उबंटू 12.04 और उबुन्टु 12.10 के लिए अप्पमोर गाइड
आशा है कि आपकी मदद करेंगे।
यहाँ Apparmor विकि से एक उद्धरण है :
AppArmor एक प्रभावी और उपयोग में आसान लिनक्स अनुप्रयोग सुरक्षा प्रणाली है। AppArmor लगातार ऑपरेटिंग सिस्टम और अनुप्रयोगों को बाहरी या आंतरिक खतरों, यहां तक कि शून्य-दिन के हमलों से बचाता है, अच्छे व्यवहार को लागू करने और यहां तक कि अज्ञात एप्लिकेशन की खामियों को शोषण करने से रोकता है। AppArmor सुरक्षा नीतियां पूरी तरह से परिभाषित करती हैं कि कौन से सिस्टम संसाधन व्यक्तिगत एप्लिकेशन एक्सेस कर सकते हैं, और किन विशेषाधिकारों के साथ। कई डिफ़ॉल्ट नीतियां AppArmor के साथ शामिल हैं, और उन्नत स्थैतिक विश्लेषण और सीखने-आधारित उपकरणों के संयोजन का उपयोग करके, बहुत जटिल अनुप्रयोगों के लिए AppArmor नीतियों को कुछ ही घंटों में सफलतापूर्वक तैनात किया जा सकता है।