- क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करना चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
**AppArmor** एक कर्नल एन्हांसमेंट है जो **प्रोग्रामों** को **सीमित संसाधनों** के **साथ सीमित** सेट में बाधित करता है। प्रोफ़ाइल्स नेटवर्क एक्सेस, रॉ सॉकेट एक्सेस और मिलते पथों पर फ़ाइलों को पढ़ने, लिखने या निष्पादित करने की अनुमति जैसी **क्षमताओं** को **अनुमति** दे सकते हैं।
यह एक अनिवार्य पहुंच नियंत्रण या **MAC** है जो **उपयोगकर्ताओं के बजाय प्रोग्रामों** को बाधित करने के लिए **पहुंच नियंत्रण** गुणों को **बाधित करता है**।\
AppArmor बाधा आमतौर पर कर्नल में लोड किए जाने वाले प्रोफ़ाइल्स के माध्यम से प्रदान की जाती है।\
* **निष्पादन**: निष्पादन मोड में लोड किए गए प्रोफ़ाइल्स प्रोफ़ाइल में परिभाषित नीति के **निष्पादन के परिणामस्वरूप होंगे और रिपोर्टिंग** नीति उल्लंघन प्रयासों को (सिसलॉग या ऑडिटडी के माध्यम से) करेंगे।
* **शिकायत**: शिकायत मोड में प्रोफ़ाइल्स **नीति का पालन नहीं करेंगे** बल्कि बजाय इसके **नीति उल्लंघन** प्रयासों की **रिपोर्टिंग** करेंगे।
AppArmor लिनक्स पर कुछ अन्य MAC सिस्टमों से अलग होता है: यह **पाथ-आधारित** है, यह निष्पादन और शिकायत मोड प्रोफ़ाइलों को मिश्रित करने की अनुमति देता है, यह विकास को सुगम बनाने के लिए इंकलूड फ़ाइल का उपयोग करता है, और इसका उपयोग करने के लिए अन्य लोकप्रिय MAC सिस्टमों की तुलना में बहुत कम बाधा होती है।
Apparmor प्रोफ़ाइल आमतौर पर _**/etc/apparmor.d/**_ में सहेजे जाते हैं\
`sudo aa-status` के साथ आप उन बाइनरीज़ की सूची देख सकेंगे जिन्हें किसी प्रोफ़ाइल द्वारा प्रतिबंधित किया जाता है। यदि आप प्रतिबंधित किसी भी बाइनरी के पथ के हर एक चार "/" को बदलकर एक डॉट में बदल सकते हैं तो आप में उल्लिखित फ़ोल्डर में apparmor प्रोफ़ाइल का नाम प्राप्त करेंगे।
* प्रभावित एक्ज़ीक्यूटेबल को दर्शाने के लिए, **पूर्ण पथ और वाइल्डकार्ड** (फ़ाइल ग्लॉबिंग के लिए) की अनुमति है।
* **फ़ाइलों** पर बाइनरी के ऊपर एक्सेस को दर्शाने के लिए निम्नलिखित **एक्सेस नियंत्रण** का उपयोग किया जा सकता है:
* **r** (पढ़ना)
* **w** (लिखना)
* **m** (मेमोरी मैप के रूप में एक्सेक्यूटेबल)
* **k** (फ़ाइल लॉकिंग)
* **l** (हार्ड लिंक बनाना)
* **ix** (नई प्रोग्राम को नीति वारिस्त करते हुए एक और प्रोग्राम को एक्सेक्यूट करने के लिए)
* **Px** (एक और प्रोफ़ाइल के तहत एक्सेक्यूट करें, पर्यावरण को साफ़ करने के बाद)
* **Cx** (एक बाल प्रोफ़ाइल के तहत एक्सेक्यूट करें, पर्यावरण को साफ़ करने के बाद)
* **Ux** (एक्सेक्यूट करें अनियंत्रित, पर्यावरण को साफ़ करने के बाद)
* **प्रोफ़ाइल में चर निर्धारित किए जा सकते हैं और प्रोफ़ाइल के बाहर से प्रबंधित किए जा सकते हैं। उदाहरण के लिए: @{PROC} और @{HOME} (प्रोफ़ाइल फ़ाइल में #include \<tunables/global> जोड़ें)
* **अनुमति नियमों को अधिरोहित करने के लिए निषेध नियम समर्थित हैं**।
प्रोफ़ाइल बनाना शुरू करने के लिए आपकी मदद करने के लिए एपार्मोर का उपयोग किया जा सकता है। यह संभव है कि **एपार्मोर बाइनरी द्वारा किए गए कार्रवाईयों की जांच करेगा और फिर आपको निर्धारित करने देगा कि आप कौन सी कार्रवाईयों को अनुमति देना चाहते हैं और कौन सी कार्रवाईयों को निषेध करना चाहते हैं**।\
तो, पहले कंसोल में "**s**" दबाएं और फिर रिकॉर्ड की गई कार्रवाइयों में इंगोर करना, अनुमति देना, या कुछ और करने के लिए दर्ज करें। जब आप समाप्त हो जाएं तो "**f**" दबाएं और नया प्रोफ़ाइल _/etc/apparmor.d/path.to.binary_ में बनाया जाएगा।
ध्यान दें कि एक नई प्रोफ़ाइल में डिफ़ॉल्ट रूप से कुछ भी अनुमति नहीं होती है, इसलिए सब कुछ निषेधित होता है। आपको `/etc/passwd r,` जैसी पंक्तियों को जोड़ने की आवश्यकता होगी, जिससे उदाहरण के लिए `/etc/passwd` बाइनरी को पढ़ने की अनुमति मिले।
डिफ़ॉल्ट रूप से **Apparmor डॉकर-डिफ़ॉल्ट प्रोफ़ाइल** [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) से उत्पन्न होता है।
नोट करें कि **एपार्मर डिफ़ॉल्ट में कंटेनर को प्राप्त किए गए क्षमता अधिकारों को भी अवरुद्ध कर देगा**। उदाहरण के लिए, यदि SYS_ADMIN क्षमता प्राप्त की जाती है, तो यह अनुमति देने के लिए डॉकर एपार्मर प्रोफ़ाइल इस पहुंच को अस्वीकार करेगा:
नोट करें कि आप डॉकर कंटेनर में **क्षमताएं जोड़ सकते/हटा सकते** हैं (यह अभी भी **AppArmor** और **Seccomp** जैसे सुरक्षा उपायों द्वारा प्रतिबंधित रहेगा):
आमतौर पर, जब आपको पता चलता है कि आपके पास एक **विशेषाधिकारित क्षमता** उपलब्ध है **डॉकर** कंटेनर **के अंदर** लेकिन कुछ हिस्सा **उत्पीड़न काम नहीं कर रहा है**, तो यह इसलिए होगा कि डॉकर **apparmor इसे रोक रहा होगा**।
अजीब मामले में आप **एपार्मर डॉकर प्रोफ़ाइल को संशोधित करके और इसे रीलोड करके** उसे बदल सकते हैं। आप प्रतिबंधों को हटा सकते हैं और उन्हें "बाइपास" कर सकते हैं।
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**