ماذا يعني SELinux؟
السلام عليكم جميعاً،
اليوم راح نحجي عن تقنية مهمة جداً في Linux اسمها:
SELinux
واختصارها:
Security-Enhanced Linux.
شنو يعني؟
هي طبقة حماية إضافية داخل Linux وظيفتها تفرض قوانين أمنية صارمة على البرامج والمستخدمين.
بمعنى آخر:
حتى لو البرنامج أو المستخدم أخذ صلاحيات Root، SELinux يبقى يحدد شنو يگدر يسوي وشنو ما يگدر يسوي.
ليش انعمل؟
بالأنظمة التقليدية، إذا الهاكر قدر يحصل صلاحيات Root، تقريباً يگدر يسوي أي شيء داخل السيرفر.
أما مع SELinux، حتى المستخدم Root يخضع لقواعد أمنية محددة.
مثال:
عدك Web Server مخترق.
الهاكر أخذ صلاحيات عالية.
طبيعياً راح يحاول:
– يقرأ ملفات النظام.
– يوصل إلى قاعدة البيانات.
– يغير إعدادات السيرفر.
– يشغل برامج خبيثة.
لكن SELinux يمنعه إذا هاي العمليات مو مسموحة حسب الـ Policy.
شلون يشتغل؟
SELinux يعتمد على:
Policies
يعني مجموعة قوانين تحدد:
– منو يگدر يوصل لأي ملف.
– منو يگدر يشغل أي خدمة.
– منو يگدر يتصل بالشبكة.
– شنو العمليات المسموح بيها.
شنو أوضاع التشغيل؟
1- Enforcing
القوانين مطبقة فعلياً وأي مخالفة يتم منعها.
2- Permissive
يسجل المخالفات داخل الـ Logs لكن ما يمنعها.
3- Disabled
SELinux مطفي تماماً.
شلون نعرف حالته؟
getenforce
أو:
sestatus
تفعيل وضع Permissive:
setenforce 0
تفعيل وضع Enforcing:
setenforce 1
ليش يستخدم بالشركات؟
لأن أغلب شركات الـ Enterprise تستخدم:
– Red Hat Enterprise Linux
– Rocky Linux
– AlmaLinux
وهنا SELinux يعتبر جزء أساسي من حماية السيرفرات.
مثال عملي:
عندك Apache Web Server.
إذا أحد حاول يخلي Apache يقرأ ملف خارج المجلدات المسموح بيها:
SELinux يمنع العملية فوراً.
حتى لو Apache شغال بصلاحيات عالية.
شنو فوائده؟
– تقليل تأثير الاختراق.
– منع Privilege Escalation.
– حماية الملفات الحساسة.
– حماية السيرفرات من البرمجيات الخبيثة.
– زيادة مستوى الأمان داخل الـ Data Center.
وين يستخدم؟
– Web Servers
– Database Servers
– Cloud Platforms
– Kubernetes
– Enterprise Linux
– Cyber Security
تخيل الشركة عبارة عن بناية كبيرة.
حتى المدير العام ما يگدر يدخل كل الغرف.
كل غرفة عدها صلاحيات محددة.
هذا تقريباً شنو يسوي SELinux داخل Linux.
ولهذا يعتبر SELinux من أهم تقنيات الحماية لأي شخص يريد يدخل عالم:
– Linux Administration
– Cyber Security
– Cloud Security
– DevSecOps
– Server Hardening