هل يمكن لـ discourse-setup إضافة سياقات لأنظمة SELinux؟ سيؤدي ذلك إلى تحسين الأمان بشكل كبير لمستخدمي RHEL (CentOS، Fedora، إلخ).
أفضل طريقة لكسب الزخم هنا هي تقديم طلب دمج (PR) كدليل على المفهوم.
لا يمكنني العثور على discourse-setup في الجذر المستودع المصدر. أليس الأمر نصًا sh؟
تعديل: وجدته. كنت أبحث في discourse/discourse بدلاً من discourse/discourse-docker.
أفهم أن العديد من المستخدمين يحتاجون إلى الأمان المعزز الذي يوفره SELinux وكل ما يترتب على ذلك.
إحدى الفوائد الرئيسية والمزايا القوية لهندسات الحاويات (مثل Docker) هي أن التطبيقات المُعبأة في حاويات يمكن تشغيلها على أي بنية أساسية طالما أن نظام إدارة الحاويات (في هذه الحالة، Docker) يعمل بشكل صحيح.
رأيي، بقدر ما يستحق، هو أن فريق تطوير التطبيقات لا ينبغي أن يغوص في متاهة دعم كل توزيع نظام تشغيل مُطلَب (غير قياسي) لتثبيت Docker. فهذا يُفقد أحد الأهداف الرئيسية لتشغيل هندسة الحاويات.
الأكثر قابلية للصيانة، من وجهة نظري، هو أن يضمن مسؤولو النظام أن تثبيت Docker لديهم يعمل بالطريقة القياسية. وإذا لم يتطابق إعداد Docker الخاص بهم مع “المعيار القياسي لـ Discourse”، فعليهم إضافة روابط رمزية للثنائيات والملفات والمجلدات لتتناسب مع تكوينات Docker القياسية الشائعة.
توزيعات أنظمة التشغيل يمكن أن تتغير، وتغير بالفعل، في أي وقت، ويشمل ذلك تكوين التطبيقات المثبتة. إذا بدأ فريق تطبيق (مثل Discourse، على سبيل المثال) في توسيع ملفات الإعداد الخاصة به للتكيف مع تكوينات Docker المختلفة، فسيكون عليه تتبع كل توزيع نظام تشغيل للتغييرات مع كل إصدار جديد من نظام التشغيل.
بالنسبة إلينا، إذا كنا سنشغل Discourse على SELinux (نحن نستخدم Ubuntu، بالمناسبة)، فسنبدأ على الأرجح بكتابة نص برمجي لإنشاء الروابط الرمزية المطلوبة لـ SELinux لتتناسب مع ملفات Docker المطلوبة كما تم تثبيتها وتكوينها في التوزيع القياسي المدعوم من Discourse.
لقد قمت بفحص سريع لبعض موفري VPS لأجلك، وفكرت في أن أقوم بذلك (إنشاء النص البرمجي لك) إذا تمكنت من إعداد توزيع SELinux على VPS رخيص. للأسف، موفرو VPS الذين أستخدمهم (Linode و Digital Ocean) لا يقدمون SELinux، لذا تخليت عن الفكرة.
هل تعرف أي موفر “VPS رخيص وموثوق” حيث يمكنني إعداد SELinux بسرعة؟
كما يوصي Discourse بـ Ubuntu، فمن المؤكد أنك تدافع عن دعم AppArmor قبل أي وقت يُقضى على SELinux؟
شكرًا لك. أتذكر ذلك الآن. شكرًا على التوضيح.
Security-Enhanced Linux ( SELinux ) هو وحدة أمان لنواة لينكس توفر آلية لدعم سياسات أمان التحكم في الوصول، بما في ذلك التحكم الإلزامي في الوصول (MAC).
وحدة أمان لنواة لينكس وحدة أمان لنواة لينكس
يُعد SELinux أحد عدة أساليب ممكنة لحل مشكلة تقييد الإجراءات التي يمكن للبرامج المثبتة اتخاذها. بديل شائع آخر يُسمى AppArmor ومتاح على SUSE Linux Enterprise Server (SLES)، وopenSUSE، ومنصات المبنية على Debian. تم تطوير AppArmor كجزء من منصة Immunix Linux التي لم تعد موجودة. نظرًا لأن AppArmor وSELinux يختلفان اختلافًا جذريًا عن بعضهما البعض، فإنهما يشكلان بدائل مميزة للتحكم في البرامج. بينما يعيد SELinux ابتكار مفاهيم معينة لتوفير الوصول إلى مجموعة أكثر تعبيرًا من خيارات السياسات، صُمم AppArmor ليكون بسيطًا من خلال توسيع دلالات الإدارة نفسها المستخدمة في التحكم في الوصول التقديري (DAC) حتى مستوى التحكم الإلزامي في الوصول.
بصراحة، نسيت أن SELinux وحدة وليس توزيعًا. خطأي.
ربما @GalacticLion7، إذا كنت بحاجة إلى هذا المستوى من التحكم في الوصول، هل فكرت في استخدام SELinux على Ubuntu؟
انظر، على سبيل المثال:
https://www.linode.com/docs/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/
يبدو أن لديك مجموعة واسعة من الخيارات @GalacticLion7 للاختيار منها
ربما يكون اختيار واحد مصمم أو يعمل مع Ubuntu (بما أن Discourse “رسميًا” يدعم Ubuntu) فكرة جيدة، أليس كذلك؟
@neounix ولكن كما قلت، لا يهم أي توزيعة. الأمر يتعلق فقط بالأنظمة التي تحتوي على SELinux، سواء كان مدمجًا أو مُثبّتًا يدويًا.
إذن، اقتراحي هو أن تذهب مع Ubuntu (المدعوم رسميًا من Discourse)، وتقوم بتثبيت SELinux وتنفيذ دليل مفهوم (proof-of-concept)، وعندما يعمل، فكر في تقديم طلب سحب (PR) وفتح نقاش في قسم التطوير حول ذلك.
كيف يبدو ذلك؟