2015/04/15

تفعيل وضبط SELinux والإستفادة من حمايتها


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

SELinux هى اداة حماية لكيرنل بتحجم المدى المسموح لدخول الملفات من البرامج وتحديد أى فعل مناسب

SELinux لها ثلاث حالات :

- SELINUX=enforcing ( تطبيق قوانين SELinux مباشرة بدون تحذير او انظار )
- SELINUX=permissive (تطبيق قوانين SELinux ولكن تظهر تحذير بذلك )
- SELINUX=disabled ( الغاء تفعيل SELinux بالكامل )

قبل كل شىء .. خد باك اب من اى تعديل هاتعمله فى أى شىء


1- تركيب ملحقات ال SELinux

رمز Code:

yum install policycoreutils setroubleshoot


2- تشغيل SELinux فى وضع permissive

رمز Code:

vi /etc/selinux/config


نحدث البيانات كالتالى

رمز Code:

SELINUX=permissive
SELINUXTYPE=targeted


احفظ الملف واقفله ونعمل ريبوت للسيرفر

3- نتأكد ان SELinux لم تتعارض مع شىء ولم توقف شىء

رمز Code:

grep "SELinux is preventing" /var/log/messages


المفروض مايطلع معك أى أخطاء ومن الأفضل ان يتم عمل Relabel للملفات بالنظام ككل

الأوامر التالية لعمل relabel
- لاسترجاع اوامر الحماية الافتراضية ل /home

رمز Code:

restorecon -Rv -n /home


نفذ ايضا

رمز Code:

 touch /.autorelabel
reboot


4- تفعيل وضع enforcing

رمز Code:

vi /etc/selinux/config


التعديل لتكون

رمز Code:

SELINUX=enforcing


* نتأكد من عدم الغاء تفعيل SELinux من ال Grub loader

رمز Code:

egrep -i 'selinux=0|enforcing=0' /boot/grub/grub.conf


اذا وجدت السطور التالية تحذفها وتحفظ الملف وتعمل ريبوت

رمز Code:

selinux=0 or enforcing=0


للتأكد من التفعيل

رمز Code:

sestatus


مثال على النتيجة

رمز Code:

SELinux status:                 enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted


كيف أعرف قائمة بالبورتات المفتوحة ؟

رمز Code:

semanage port -l
semanage port -l | less
##لو عاوز تشوف بورت معين وليكن 80###
semanage port -l | grep -w 80


كيفية فتح بورت 8181

رمز Code:

semanage port -a -t http_port_t -p tcp 8181


كيف أعرف الخدمات الغير محمية ؟؟

رمز Code:

ps -eZ | egrep "initrc" | egrep -vw "ps|tr|egrep|awk|bash" | tr ':' ' ' | awk '{ print $NF }'


SELinux اداة معقدة لكنها مهمة .. ممكن تاخد وقت فى تصليح الأخطاء لكن بالتعامل الجيد ممتازة

بعض الأدوات للتعرف على المشاكل

رمز Code:

ps -Z -p 
ls -Z fn اسم الملف
ausearch
restorecon
semodule
audit2allow
Log files: /var/log/audit/audit.log and /var/log/setroubleshoot/setroubleshootd.log



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

إرسال تعليق