اقرأ في هذا المقال
- ما هو نظام SELinux المحسّن لأمان لينكس
- آلية عمل نظام الأمان SELinux
- كيفية معالجة أخطاء نظام الأمان SELinux
- فوائد نظام الأمان SELinux
- ما هي أوضاع نظام الأمان SELinux
يعتبر (SELinux) نظام تحكم بالوصول المدمج في (Linux kernel)، تتمثل إحدى السمات الرئيسية لنظام (SELinux) في أنه يتيح لمسؤولي النظام بمنع الوصول غير المصرح به إلى موارد النظام، تفرض بنية الأمان هذه فصل الامتياز بين مستخدمي النظام والعمليات، مما يتيح للمسؤولين إدارة الوصول إلى الموارد بشكل أكثر كفاءة.
ما هو نظام SELinux المحسّن لأمان لينكس
(SELinux) هو بنية أمان أنشأتها وكالة الأمن القومي الأمريكية، متاحة لمعظم توزيعات نظام التشغيل (Linux) ولكنها تستخدم بشكل أساسي في (RHEL و Fedora)، يفرض (SELinux) سياسات التحكم في الوصول الإلزامي (MAC)، حيث أن (MAC) هو نوع من أنظمة الأمان التي تسمح لمسؤولي النظام بتعيين سياسة وصول أمان مركزية وتحديد المستخدمين والعمليات التي لها حق الوصول إلى موارد محددة، يعمل النظام أيضًا على نموذج الامتياز الأقل ويمنع الوصول إلى الموارد افتراضيًا.
باستخدام (SELinux)، يميز مسؤولو النظام المستخدم عن التطبيقات التي يشغلها المستخدم، على سبيل المثال، يتمتع (shell user) بالوصول الكامل إلى الدليل الرئيسي، ومع ذلك، إذا قام المستخدم بتشغيل عميل بريد، فإن (SELinux) لا يسمح للعميل بالوصول إلى أجزاء معينة من الدليل الرئيسي.
يعمل (SELinux) أيضًا على زيادة مستوى الحماية من خلال فصل السياسات الأمنية وفرض قرارات الأمان داخل النظام، كما يمنح سيطرة أكبر لمسؤولي النظام على أمان النظام بشكل عام، تنبع الحماية الإضافية أيضًا من دمج (SELinux) في (Linux kernel)، مما يعني أنه يعمل دائمًا، ولا يمكن للمستخدمين والعمليات تعطيله.
ملاحظة: “MAC” اختصار لـ “Media Access Control Address”.
آلية عمل نظام الأمان SELinux
- يحدد (SELinux) ضوابط الوصول للتطبيقات والعمليات والملفات على النظام، كما يستخدم سياسات الأمان، وهي مجموعة من القواعد التي تخبر ((S)ELinux) بما يمكن أو لا يمكن الوصول إليه، لفرض الوصول المسموح به بواسطة السياسة.
- عندما يقوم تطبيق أو عملية بتقديم طلب للوصول إلى كائن مثل ملف، يتحقق (SELinux) من ذاكرة التخزين المؤقت المتجهة (AVC)، حيث يتم تخزين الأذونات مؤقتًا للموضوعات والكائنات.
- إذا لم يتمكن (SELinux) من اتخاذ قرار بشأن الوصول بناءً على الأذونات المخزنة مؤقتًا، فإنها ترسل الطلب إلى خادم الأمان، يتحقق خادم الأمان من سياق الأمان للتطبيق أو العملية والملف، يتم تطبيق سياق الأمان من قاعدة بيانات سياسة (SELinux)، ثم يتم منح الإذن أو رفضه.
- هناك عدة طرق يمكن للمستخدم من خلالها تكوين (SELinux) لحماية نظامه، الأكثر شيوعًا هي السياسة المستهدفة أو الأمان متعدد المستويات (MLS)، السياسة المستهدفة هي الخيار الافتراضي وتغطي مجموعة من العمليات والمهام والخدمات، يمكن أن تكون (MLS) معقدة للغاية وعادةً ما تستخدم فقط من قبل المنظمات المختلفة.
ملاحظة: “MLS” اختصار لـ “Multi Level security”.
كيفية معالجة أخطاء نظام الأمان SELinux
عندما يحصل المستخدم على خطأ في (SELinux)، هناك شيء يجب معالجته، من المحتمل أن تكون إحدى هذه المشاكل الأربعة الشائعة:
- التسميات الخاطئة: إذا كانت التسمية الخاصة بالمستخدم غير صحيحة، يمكنه استخدام الأدوات لإصلاح الملصقات.
- السياسة بحاجة إلى أن تكون ثابتة: قد يعني هذا أن المستخدم بحاجة إلى إبلاغ (SELinux) بالتغيير الذي قام به أو قد يحتاج إلى تعديل السياسة، كما يمكنه إصلاحه باستخدام القيم المنطقية أو وحدات السياسة.
- من الممكن العثور على خطأ في السياسة: فقد يكون هناك خلل في السياسة يحتاج إلى معالجة.
- إذا تم كسر النظام، على الرغم من أن (SELinux) يمكنه حماية أنظمة المستخدم في العديد من المواقف، إلا أن إمكانية اختراق النظام لا تزال قائمة، لذلك حينها يجب على المستخدم اتخاذ الإجراء على الفور.
فوائد نظام الأمان SELinux
- تحدد قواعد سياسة (SELinux) كيفية تفاعل العمليات مع الملفات، وكذلك كيفية تفاعل العمليات مع بعضها البعض، كما لا يُسمح بالوصول إلا في حالة وجود قاعدة سياسة (SELinux) تسمح بذلك على وجه التحديد.
- التحكم في الوصول الدقيق، تجاوز أذونات (UNIX) التقليدية التي يتم التحكم فيها وفقًا لتقدير المستخدم وبناءً على معرفات مستخدم ومجموعات (Linux)، تستند قرارات الوصول إلى (SELinux) على جميع المعلومات المتاحة، مثل مستخدم (SELinux) والدور والنوع ومستوى الأمان اختياريًا.
- سياسة (SELinux) محددة إداريًا ويتم فرضها على مستوى النظام، بالإضافة إلى تحسين التخفيف من هجمات تصعيد الامتيازات.
- تحدد قواعد سياسة (SELinux) كيفية وصول العمليات إلى الملفات، إذا تم اختراق عملية ما، فإن المهاجم لديه فقط حق الوصول إلى الوظائف العادية لتلك العملية والملفات التي تم تكوين العملية للوصول إليها، على سبيل المثال، إذا تم اختراق خادم (Apache HTTP)، فلن يتمكن المهاجم من استخدام هذه العملية لقراءة الملفات في أدلة الصفحة الرئيسية للمستخدم، إلا إذا تمت إضافة قاعدة سياسة (SELinux) أو تكوينها للسماح بهذا الوصول.
ملاحظة: “HTTP” اختصار لـ “HyperText Transfer Protocol”.
- يمكن استخدام (SELinux) لفرض سرية البيانات وسلامتها، فضلاً عن حماية العمليات من المدخلات غير الموثوق بها.
- يضيف (SELinux) أيضًا تفاصيل دقيقة للوصول إلى عناصر التحكم، بدلاً من أن يكون المستخدم قادرًا فقط على تحديد من يمكنه قراءة ملف أو كتابته أو تنفيذه، على سبيل المثال، يتيح (SELinux) تحديد من يمكنه إلغاء الربط والإلحاق فقط ونقل ملف وما إلى ذلك، كما يتيح (SELinux) تحديد الوصول إلى العديد من الموارد بخلاف الملفات أيضًا، مثل موارد الشبكة والاتصال بين العمليات (IPC).
ما هي أوضاع نظام الأمان SELinux
تتمثل إحدى الميزات الرئيسية لـ (SELinux) في القدرة على العمل في أوضاع مختلفة، مما يسمح لمسؤولي النظام بضبط أمان النظام، وهناك ثلاثة أوضاع رئيسية لـ (SELinux):
- الوضع الافتراضي: وضع (SELinux) الافتراضي والأكثر أمانًا، في هذا الوضع، يفرض (SELinux) سياسات التحكم في الوصول التي وضعها مسؤول النظام ولا يسمح للمستخدمين بتجاوزها، إذا حاول مستخدم أو عملية الوصول إلى مورد غير مصرح به من قبل السياسات، فإن (SELinux) يرفض الطلب ويسجل القرار في (AVC).
- الوضع المتساهل: أقل أمانًا من وضع الإنفاذ ولكنه لا يزال يوفر الحماية، في هذا الوضع، لا يفرض (SELinux) السياسات ولكنه يسجل الأحداث عندما يحاول مستخدم أو عملية الوصول إلى مورد تم حظره بواسطة السياسات، يتيح ذلك لمسؤولي النظام مراقبة النظام بحثًا عن مشكلات الأمان المحتملة وإجراء أي تغييرات ضرورية في السياسة قبل اعتماد الوضع الافتراضي.
- وضع المعطل: الوضع الأقل أمانًا لأنه لا يحمي موارد النظام، في هذا الوضع، لا تفرض (SELinux) سياسات التحكم في الوصول، هذا الوضع مفيد للاختبار أو التصحيح.