الرئيسية / CEntOS / تعرف على طريقة التعامل مع SELinux

تعرف على طريقة التعامل مع SELinux

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

تكون دائما بسبب ثغرة في خدمة أو برنامج أو طريقة تعامل النظام مع شيء أو حقن أوامر و غيرها من الطرق BuffierOverFlow و يقوم المخترق باستغلال الثغرة عن طريق (Remote root/Local root) معين و تُعرف بـ . apache , rsync, curl, BIND, NetworkManger ,Netcat .

و جميعنا يعرف أنه كانت هناك ثغرات خطيرة للنظام ( National Security Agency – NSA ) و بناء على ما سبق ذكره,قامت حكومة الولايات المتحدة بأسناد مهمة تطوير النظام إلى وكالة الامن القومي.

يحتوي SELinux على قواعد للتعامل مع الملفات و العمليات و طريقة الاتصال في ما بينهم و هذا بناء على أبحاث أثبتت أن أخطر الثغرات تكمن في أن المستخدم العادي يستطيع تخطي حماية الانظمه الداخلية و كأخطر مثال ما ذكرناه آنفا , أيضا إعطاء التصريح 777 لملفات تنفيذية مهمة و هكذا.

على ان تكون قاعدته مبنية على عزل البرامج/العمليات و الملفات ”Flask” على نظام التشغيل ”Mach“ في البداية قامة وكالة الأمن القومية بتطوير نظام إسمه Type Enforcement للملفات التنفيذية و المستخدمين و عدم السماح للقسم الأول بالتعامل مع القسم الثاني بشكل ارتجالي و تم تسمية فكرة العزل ب TE .

وجدت وكالة الامن القومي أن هذه الطريقة فعالة و قوية فقررت دمج هذا النظام في داخل نظام التشغيل الذي سيعمل فيه و قد اختاروا نظام تشغيل مفتوح المصدر و حينها تم تغير اسم (Linux Security Modules – LSM) بعد اذن لينوس تروفالدز) و إسناد حزم ) Linux Kernel فقاموا بإضافة الرقع إلى ecurity Enhancement Linux -SELinux و تم تسمية المشروع ب Mandatory Access Control -MAC .

التقنية التي يعمل بها .ext2,ext3,ext متوفر في أغلب التوزيعات بشكل افتراضي و يعمل على نظام ملفات 4 هناك مقولة مشهورة في عالم اللينوكس تقول: كل شيء يُعتبر ملف – Every Thing is a File .Group أو User حيث الوصول للملف يخضع إلى تصاريح تقليدية يتحكم بها المالك .

اما الان مع SELinux فالمقولة تحولت واصبحت كل شيء يُعتبر موضوع – Every Thing is an Object Security) حيث الوصول للموضوع يخضع إلى مجموعة عناصر تخضع تلك العناصر إلى قوانين يتم تطويرها باستمرار حيث هذه العناصر تسمى و هي متجددة أيضا باستمرار. Policy و مجموعة القواعد الموجودة تسمى Context SELinux

SELinux أو “Security Enhanced Linux” هو عباره عن ألية متقدمة للتحكم بالوصول الى النظام “Access Control” مبنيه في معظم توزيعات لينكس. تم تطويرها أساسا من قبل وكالة الأمن القومي الأمريكي لحماية أنظمة الكومبيوتر من الاختراق . مع الوقت, تم إصدار SELinux للعامه وأصبحت التوزيعات تملكه وتدمجه مع الكود الخاص بها . العديد من مدراء الأنظمة يجدون ان SELinux نوعا ما شي غير مفهوم .

وجود نظام SELinux مع الإعدادات الصحيحة يمكن له ان يقلل من المخاطر الأمنية بشكل كبير. ومعرفة القليل عنه يمكنها مساعدتك بحل رسائل الخطر المتعلقة بالدخول “Access error messages”.

في هذا الشرح سوف نتعلم طريقة التعامل مع SELinux

للتتحقق من حالة SELinux على توزيعة CentOS نستعمل الامر التالى

$ sestatus

مخرجات الامر السابق تظهر بهذا الشكل

[root@centos-lan ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

ايضا يمكننا استعمال الامر التالى للتتحقق من حالة SELinux على توزيعة CentOS

$ getenforce

مخرجات الامر السابق تظهر بهذا الشكل

[root@centos-lan ~]# getenforce
Enforcing

لتعطيل SELinux على توزيعة CentOS نستعمل الامر التالى لفتح ملف الاعداد الخاص بـ SELinux بواسطة المر التالى

تنبيه مهم جدا

استعمل الامر التالى للدخول بصلاحيات الروت

$ su -

بعد ذلك استعمل الامر التالى

$ gedit /etc/selinux/config

اذا كان جهازك غير منصب علية المحرر (Gedit) يمكنك استعمل المحرر nano بواسطة الامر التالى

$ nano /etc/selinux/config

الان سوف يتم فتح ملف (selinux/config) ويكون بهذا الشكل

لايقاف SElinux نقوم بالتعديل هذه الجملة (enforcing)

وجعلها (disabled) كما تشاهد فى الصورة التالية

ايضا يمكنك ايقاف تشغيل SELinux مباشرة من الترمنال بواسطة الامر التالى

$ setenforce 0
تنبيه مهم جدا
عدم ايقاف SELinux على نظامك ابدا وذلك منعا لحدوث مشاكل امنية

لمزيد من المعلوات حول SELinux يمكنك تحميل أول كتاب عربي يتحدث عن حماية خدمات و ملفات نظام لينكس

بــأتي الكتاب في  خمسة أبواب:

  • الباب الأول: مقدمة عن SELinux
  • الباب الثاني: استخدام الـ SELinux
  • الباب الثالث: السياسة الموجهة(خاص بـ ريدهات)
  • الباب الرابع: التتبع و حل المشاكل Troubleshooting
  • الباب الخامس: أدوات سياسات الحماية (برامج إضافية)

اعداد/المهندس صبري صالح

SELinux Arabic Guide

 

ايضا يمكنك الاطلاع على المستندات الخاصة من مشروع فيدورا SELinux User’s and Administrator’s Guide

عن fouad

احاول من خلال مدونتي البسيطة التى نادرا ما اجد الوقت للكتابة نشر مبادئ حركة البرمجيات الحرة والتى هدفها ضمان الحريات الأربع الأساسية لمستخدمي البرمجيات: حرية تشغيل البرمجيات, دراستها وتغييرها, وتوزيع نسخ منها مع تعديلات أو بدون تعديلات. ,ونشر فلسفة الحركة هي إعطاء مستخدمي الحاسوب الحرية عن طريق استبدال البرمجيات الاحتكارية بالبرمجيات الحرة.
Optimization WordPress Plugins & Solutions by W3 EDGE