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

رووح القلوب

عضو جديد
20 مارس 2009
246
1
0
السلام عليكم ورحمة الله وبركاته​

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

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

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

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


1- تركيب ملحقات ال SELinux
كود:
yum install policycoreutils setroubleshoot
2- تشغيل SELinux فى وضع permissive
كود:
vi /etc/selinux/config
نحدث البيانات كالتالى
كود:
SELINUX=permissive
SELINUXTYPE=targeted
احفظ الملف واقفله ونعمل ريبوت للسيرفر

3- نتأكد ان SELinux لم تتعارض مع شىء ولم توقف شىء
كود:
grep "SELinux is preventing" /var/log/messages
المفروض مايطلع معك أى أخطاء ومن الأفضل ان يتم عمل Relabel للملفات بالنظام ككل

الأوامر التالية لعمل relabel
- لاسترجاع اوامر الحماية الافتراضية ل /home
كود:
restorecon -Rv -n /home
نفذ ايضا
كود:
 touch /.autorelabel
 reboot
4- تفعيل وضع enforcing
كود:
vi /etc/selinux/config
التعديل لتكون
كود:
SELINUX=enforcing
* نتأكد من عدم الغاء تفعيل SELinux من ال Grub loader
كود:
egrep -i 'selinux=0|enforcing=0' /boot/grub/grub.conf
اذا وجدت السطور التالية تحذفها وتحفظ الملف وتعمل ريبوت
كود:
selinux=0 or enforcing=0
للتأكد من التفعيل
كود:
sestatus
مثال على النتيجة
كود:
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted
كيف أعرف قائمة بالبورتات المفتوحة ؟
كود:
semanage port -l
semanage port -l | less
##لو عاوز تشوف بورت معين وليكن 80###
semanage port -l | grep -w 80
كيفية فتح بورت 8181
كود:
semanage port -a -t http_port_t -p tcp 8181
كيف أعرف الخدمات الغير محمية ؟؟
كود:
ps -eZ | egrep "initrc" | egrep -vw "ps|tr|egrep|awk|bash" | tr  ':' ' ' | awk '{ print $NF }'
SELinux اداة معقدة لكنها مهمة .. ممكن تاخد وقت فى تصليح الأخطاء لكن بالتعامل الجيد ممتازة

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

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