مقرر أمن أنظمة التشغيل

حماية أنظمة التشغيل (Windows, Linux, macOS) من التهديدات الأمنية

الوحدة 6: التحكم في الوصول وتنفيذ السياسات الأمنية

في سياق حماية أنظمة التشغيل، تأتي سياسات التحكم في الوصول (Access Control Policies) كأحد أعمدة الأمان الأساسية. بعد أن تعرفنا على أنواع التهديدات والهجمات، من الضروري الآن تعلم كيف نمنع هذه التهديدات من الاستفادة من الثغرات، عبر ضبط من يمكنه الوصول، ومتى، وكيف، ولماذا.

أهداف الوحدة:
  • التعرف على مفاهيم التحكم في الوصول وأهميتها.
  • التفريق بين النماذج الرئيسية: DAC، MAC، RBAC.
  • تطبيق سياسات الوصول باستخدام أدوات نظام التشغيل.
  • تقييم مزايا ومخاطر كل نموذج.
  • تحليل تأثير إعدادات التحكم الخاطئة على الأمن العام للنظام.

1. مفاهيم التحكم في الوصول (Access Control Concepts)

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

مبدأ "الحد الأدنى من الامتيازات" (Principle of Least Privilege)

لا يُعطى أي مستخدم أو عملية أكثر مما تحتاجه فعليًا من صلاحيات. هذا المبدأ يقلل من الضرر المحتمل في حال تم اختراق الحساب.

2. نماذج التحكم في الوصول الرئيسية

النموذج الوصف الخصائص مثال
DAC
(التحكم التقديري)
يعتمد على مالك المورد الذي يحدد من له حق الوصول. عالية المرونة، منخفض الأمان إذا أساء المالك الإعداد. صلاحيات الملفات في Windows وLinux.
MAC
(التحكم الإلزامي)
يحدد سياسات أمنية لا يمكن تجاوزها حتى من قبل المستخدمين المتميزين. أمان عالٍ، قابلية تخصيص منخفضة. SELinux, AppArmor.
RBAC
(التحكم حسب الدور)
تُمنح الصلاحيات بناءً على الدور الوظيفي للمستخدم. مناسب للأنظمة المؤسسية الكبيرة، يوازن بين الأمان والمرونة. Active Directory في Windows.

3. تطبيق التحكم في الوصول

في نظام Windows
  • إعداد سياسات المجموعات (Group Policy): لتطبيق سياسات على مجموعات المستخدمين.
  • إذن الوصول على الملفات: استخدام تبويب "أمان" في خصائص الملفات والمجلدات.
في نظام Linux
  • أوامر الصلاحيات: chmod, chown, umask.
  • ملف sudoers: لتحديد صلاحيات المستخدمين في تنفيذ الأوامر الإدارية.
  • SELinux أو AppArmor: لتطبيق سياسات MAC.
نشاط عملي: تجربة نماذج DAC وRBAC في Linux

هذا النشاط يُوضح كيفية تطبيق مبادئ التحكم في الوصول عمليًا.

المطلوب:

  1. إنشاء مستخدمين ومجموعات:
    sudo useradd developer
    sudo groupadd engineering
    sudo usermod -aG engineering developer
  2. تطبيق DAC: أنشئ ملفًا وقم بتغيير صلاحياته ليتمكن المستخدم "developer" من القراءة فقط، بينما يمكن للمالك التعديل.
    touch secret_project.txt
    chmod 640 secret_project.txt
    chown root:engineering secret_project.txt
  3. تطبيق RBAC (بشكل مبسط): استخدم ملف sudoers لمنح صلاحية إيقاف الخدمات للمجموعة "engineering" فقط.
    echo "%engineering ALL=(ALL) /usr/bin/systemctl stop *" | sudo EDITOR='tee -a' visudo

التحليل: هذه التمارين توضح الفروقات بين التحكم التقديري (من يملك الملف) والتحكم القائم على الدور (من يتبع مجموعة معينة).


مصادر إثرائية إضافية:

مخرجات التعلم المتوقعة:

بنهاية هذه الوحدة، ينبغي أن يكون المتعلم قادرًا على:

  • شرح الفرق بين DAC، MAC، RBAC.
  • تطبيق نماذج التحكم في بيئة نظام تشغيل حقيقي.
  • تحليل أثر إعداد سياسات خاطئة.
  • المقارنة بين النماذج من حيث الأمان والمرونة.