حرف A

نظام حماية التطبيقات

AppArmor

آخر تحديث: 2026-10-24
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

تخيل أن نظام التشغيل لينكس هو مبنى ضخم، والتطبيقات هي موظفون يعملون داخله. في الوضع الطبيعي، قد يتمكن الموظف من التجول في كل غرف المبنى، مما قد يشكل خطرا إذا كان هذا الموظف مخترقا. هنا يأتي دور نظام حماية التطبيقات (AppArmor) كحارس أمن شخصي لكل تطبيق (Application). يمنح هذا الحارس لكل تطبيق بطاقة دخول تحدد الغرف التي يمكنه دخولها والملفات التي يمكنه قراءتها أو تعديلها. إذا حاول تطبيق معين الوصول إلى مكان غير مصرح له به داخل النظام (System)، سيقوم الحارس بمنعه فورا حتى لو كان يمتلك صلاحيات إدارية، مما يمنع البرامج الضارة من تدمير النظام بأكمله.

الشرح التقني المتقدم

يعد نظام حماية التطبيقات (AppArmor) أداة أمان متقدمة تعمل كوحدة تحكم إلزامي في الوصول (MAC) مدمجة مباشرة داخل نواة لينكس (Kernel). تعتمد هذه الأداة على إطار عمل وحدات أمان لينكس (LSM) لتقييد صلاحيات البرامج وعزلها، مما يضمن عدم قدرة أي تطبيق مخترق على التوسع والوصول إلى أجزاء حساسة من النظام لتنفيذ تعليمات برمجية خبيثة.

آلية عمل ملفات التكوين الشخصية

يعتمد النظام في عمله على ملفات تكوين تعرف باسم الملفات الشخصية (Profiles) والتي يتم تحميلها في النواة (Kernel) عند إقلاع النظام. تحدد هذه الملفات بشكل دقيق المسارات (Paths) التي يسمح للبرنامج بقراءتها، أو الكتابة عليها، أو تنفيذها، بالإضافة إلى تقييد الوصول إلى الشبكة.

مجلد التكوين الأساسي: يتم تخزين جميع ملفات التكوين الخاصة بالتطبيقات داخل المسار /etc/apparmor.d/ في توزيعات مثل أوبونتو (Ubuntu) وديبيان، حيث يمثل كل ملف القواعد الصارمة لبرنامج محدد.

إدارة النظام والتحقق من الحالة العملية

للتحكم في النظام ومراقبة التطبيقات المحمية حاليا، ستحتاج إلى استخدام أوامر إدارة الأداة، وأهمها أمر فحص الحالة الذي يعرض لك الملفات الشخصية المحملة في الذاكرة وتصنيفاتها.

أمر التحقق من حالة النظام:

sudo aa-status

بعد تنفيذ الأمر، سترى قائمة بالتطبيقات المقيدة، وتنقسم هذه التقييدات في النظام إلى وضعين أساسيين:

  • وضع الفرض (Enforce Mode): يقوم النظام بمنع أي تطبيق من تجاوز القواعد المحددة في الملف الشخصي (Profile) بشكل صارم، ويسجل محاولة الاختراق أو التجاوز في سجلات النظام (Logs).
  • وضع الشكوى (Complain Mode): يسمح للتطبيق بتجاوز القواعد دون منعه، ولكنه يسجل هذه التجاوزات في سجلات النظام. يستخدم هذا الوضع لاختبار القواعد الجديدة قبل تطبيقها فعليا لتجنب إيقاف خدمات الخادم (Server).

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

عند تثبيت تطبيق جديد ومعقد مثل خادم ويب، من الأفضل دائما إنشاء ملف شخصي له باستخدام أمر aa-genprof ووضعه في وضع الشكوى لفترة من الزمن لمراقبة نشاطه، ثم استخدام أداة aa-logprof لتحليل السجلات وتحديث القواعد تلقائيا قبل تحويله إلى وضع الفرض النهائي لحماية بيئة الإنتاج.

المصادر المعتمدة :