السلام عليكم ورحمة الله وبركاته
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
ليست هناك تعليقات:
إرسال تعليق