نظام حماية التطبيقات
AppArmor
الشرح المبسط
الشرح التقني المتقدم
يعد نظام حماية التطبيقات (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 لتحليل السجلات وتحديث القواعد تلقائيا قبل تحويله إلى وضع الفرض النهائي لحماية بيئة الإنتاج.