تاريخ اليوم
تعرف على نوع الحماية AppArmor في نظام لينكس

تعرف على نوع الحماية AppArmor في نظام لينكس



شارك المقالة

بسم الله الرحمن الرحيم

الحمد لله رب العالمين، وصلى الله وسلم وبارك على عبده ورسوله نبينا محمد وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته

تعرف على نوع الحماية AppArmor في نظام لينكس

 


يعتبر AppArmor واحدًا من أهم أنظمة الحماية المتقدمة في توزيعات لينكس. وهو نظام أمان يعتمد على فرض القيود والتحكم في صلاحيات التطبيقات، بهدف الحدّ من الأضرار المحتملة في حال تعرّض برنامج للاختراق.
يُستخدم AppArmor على نطاق واسع في توزيعات مثل Ubuntu و Debian و openSUSE.
في هذا المقال، سأشرح لك مفهوم AppArmor، طريقة عمله، ميزاته، مكوناته، كيفية إنشاء ملفات الحماية (Profiles)، الفرق بينه وبين SELinux، وأمثلة عملية.
1. تعريف AppArmor
AppArmor (Application Armor)
هو نظام MAC – Mandatory Access Control.
يعني ذلك أنه يفرض سياسة وصول صارمة تُحدد ما يستطيع التطبيق فعله حتى لو كان يعمل بصلاحيات الجذر root.
بدل أن يعتمد النظام على صلاحيات المستخدم فقط (DAC)، يقوم AppArmor بتحديد قائمة واضحة من:
 الملفات المسموح للتطبيق قراءتها
 الملفات المسموح كتابتها
 الشبكات التي يمكن الوصول إليها
 القدرات (Capabilities) التي يمكن استخدامُها
 المناطق المحظورة بالكامل
هذه السياسة تُكتب داخل ملفات تُعرف باسم profiles.
2. لماذا نحتاج AppArmor؟
لنفترض وجود برنامج ضعيف يحتوي ثغرة.
لو استغلّها مهاجم، فإنه يستطيع:
✔ الوصول لملفات النظام
✔ تنفيذ أوامر بجانب التطبيق
✔ التجسس على الشبكة
✔ تحميل ملفات ضارة
لكن مع AppArmor:
❌ التطبيق المخترق لن يستطيع الوصول لملفات غير مصرح بها
❌ لن يستطيع الاتصال بشبكة غير محددة
❌ لن يستطيع تنفيذ أوامر خارج حدود ملف الحماية
وهذا ما يجعل AppArmor فعالًا جدًا.
3. مكونات AppArmor
يتكون AppArmor من ثلاثة عناصر رئيسية:
(1) نواة AppArmor Kernel Module
وهو الجزء المسؤول عن تطبيق القيود مباشرة داخل نواة لينكس.
(2) ملفات الحماية (Profiles)
توجد عادة في:

```
/etc/apparmor.d/
```

وهي ملفات نصية تحدد المسموح والممنوع لكل تطبيق.
(3) أدوات الإدارة Userspace Tools
مثل:

 `aastatus` لعرض الحالة
 `aaenforce` لتفعيل الوضع الصارم
 `aacomplain` وضع الشكوى (تسجيل فقط)
 `aalogprof` إنشاء بروفايلات تلقائيًا من السجلات
 `apparmor_parser` لتحميل البروفايلات في النواة
4. أوضاع عمل AppArmor
لـ AppArmor وضعي تشغيل:
🔹 Enforce Mode (الوضع الصارم)
يمنع كل ما هو غير مسموح ويسجل المخالفة.

```
sudo aaenforce /etc/apparmor.d/usr.bin.firefox
```
🔹 Complain Mode (وضع الشكوى)
لا يمنع شيئًا، لكنه يسجل أي محاولة مخالِفة.
يُستخدم لإنشاء بروفايلات جديدة بدون تخريب عمل البرنامج.

```
sudo aacomplain /etc/apparmor.d/usr.bin.firefox
```
5. طريقة عمل AppArmor — كيف يفرض الحماية؟
يعتمد AppArmor على تحديد مسارات الملفات pathbased بدل الـ labelbased (مثل SELinux).
فكل تطبيق يملك ملف حماية يحدد:
 الملفات التي يمكنه قراءتها `r`
 الكتابة `w`
 التنفيذ `x`
 الشبكات `network`
 القدرات `capability`
 وموارد النظام الأخرى
مثال بسيط على قواعد AppArmor:

```
/usr/bin/curl {
    /etc/resolv.conf r,
    /tmp/ rw,
    network inet6 stream,
}
```
هنا:
 يمكن للبرنامج قراءة resolv.conf
 يمكنه القراءة/الكتابة داخل /tmp
 يمكنه فتح اتصال شبكي عبر IPv6 فقط
أي مخالفة → يتم منعها وتسجيلها.
6. مزايا AppArmor
✔ سهل التعلم مقارنة بـ SELinux
✔ يعتمد على الملفات pathbased
✔ إنشاء بروفايلات تلقائيًا عبر `aalogprof`
✔ حماية قوية لتطبيقات السيرفر مثل Apache – MySQL
✔ حماية snap packages (Ubuntu)
✔ تكامل ممتاز مع Ubuntu و Debian
✔ يمكن تشغيله مع Docker و LXD
7. عيوب AppArmor
❌ أقل قوة وعمقًا مقارنةً بـ SELinux
❌ يعتمد على المسارات، فإذا تم تغيير المسار يجب تحديث البروفايل
❌ ليس مثبتًا افتراضيًا في جميع التوزيعات
❌ بعض التطبيقات قد تحتاج ضبطًا يدويًا
8. الفرق بين AppArmor و SELinux


AppArmor أسهل
SELinux أقوى.



9. كيفية إدارة AppArmor في لينكس

عرض حالة AppArmor

```
sudo aa-status
```
إذا ظهر خطأ أيضًا، فهذا يعني غالبًا أن AppArmor غير مثبت أو غير مفعل على نظامك (خصوصًا على Debian إذا لم تثبّته يدويًا).
✅ تثبيت AppArmor على Debian/Ubuntu
sudo apt update
sudo apt install apparmor apparmor-utils

إيقاف AppArmor مؤقتًا
```
sudo systemctl stop apparmor
```

تفعيل AppArmor
```
sudo systemctl start apparmor
```
إعادة تحميل بروفايل
```
sudo apparmor_parser r /etc/apparmor.d/usr.bin.firefox
```
10. مثال ملف حماية كامل (Profile Example)
مثال لبروفايل Firefox:
```
الملف: /etc/apparmor.d/usr.bin.firefox
/usr/bin/firefox {
    السماح بقراءة ملفات النظام الأساسية
    /usr/lib/firefox/ r,
    /etc/ r,

    السماح بإنشاء ملفات داخل home
    owner @{HOME}/.mozilla/ rwk,
    منع الوصول إلى /root
    /root/ DENY,
    السماح بالاتصال بالشبكة
    network inet stream,
    network inet6 stream,
}
```
11. متى نحتاج كتابة بروفايل؟
عادةً عند:
 تشغيل برنامج حساس مثل سيرفر ويب
 تطبيق جديد غير مدعوم
 حماية سكربتات Bash أو Python
 حاويات docker
 برامج الطرف الثالث
لذلك يعتبر AppArmor جزءًا أساسيًا من أمان .
يعتبر AppArmor هو  نظام حماية قوي يعتمد على التحكم الإجباري MAC، ويسمح لك بحصر التطبيقات في صلاحيات محددة جدًا لمنع أي استغلال أو وصول غير مصرح به.
 إن كنت تستخدم Ubuntu أو Debian فهو الخيار المثالي.
 وإن أردت أمانًا أعمق وتتحمل التعقيد → استخدم SELinux.

 

ليست هناك تعليقات:

إرسال تعليق

(( مَا يَلْفِظُ مِنْ قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ))

السلام عليكم و رحمة الله و بركاته

الصلاة والسلام على اشرف المرسلين صلى الله عليه وسلم

🌍 مرحبًا بكم في مدونة LinuxLaghouat، فضاؤكم الرقمي للتعرف على نظام التشغيل لينكس بكل تفاصيله، من الحاضر وحتى آفاق المستقبل. نحن نؤمن أن المعرفة لا حدود لها، وأن لينكس سيبقى النظام الذي يقود الابتكار لعقود قادمة. 📌 ماذا ستجدون في مدونتنا بإذن الله؟ 🚀 شروحات تثبيت التوزيعات: مقالات تعليمية خطوة بخطوة لمساعدة المبتدئين والمتمكنين على استكشاف مختلف توزيعات لينكس. 💻 أوامر الطرفية (Terminal): دروس عملية من الأساسيات إلى الاحتراف، لتتقنوا التعامل مع قلب لينكس الحقيقي. 🌐 تقنيات وأفكار مستقبلية: مقالات وتحليلات حول تطور لينكس والبرمجيات الحرة عبر الأجيال. 🤝 مجتمع تفاعلي: تبادل خبرات، حلول، وتجارب لبناء جيل رقمي واعٍ ومبدع. 🎯 رؤيتنا أن تكون هذه المدونة مرجعًا دائمًا لعشاق لينكس، جيلًا بعد جيل، لتتعلموا وتبدعوا وتشاركوا المعرفة.

بحث هذه المدونة الإلكترونية


إجمالي مرات مشاهدة الصفحة

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *