إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

حصريا: HOWTO SELinux

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • حصريا: HOWTO SELinux

    منذ فترة و انا ابحث عن موضوع يتكلم عن هذا الجبار في عالم السيكيوريتي و الذي يسمى SELinux او Secure Linux ، و طبعا لم أجد اي موضوع عربي يشرح هذه التقنية و احببت ان اعد هذا الموضوع ليكون نقطة انطلاق لكي يعرف الناس ما هو الSELinux .

    طبعا الموضوع موجه لمدراء الأنظمة وذوي الخبرة فقط و هو لايناسب الاعمار دون ال18 سنة لا تأخذوا كلامي على محمل الجد :thumpsup_green:

    -مقدمة:

    طبعا كميزة جديدة في توزيعات ريدهات لينكس انتربرايز و بالتحديد الاصدار الرابع منها تم اضافة الSELinux لتكون اضافة جديدة لمدراء الانظمة من أجل رفع مستوى الحماية على خوادمهم. و طبعا الSELinux بدأ كمشروع من تطوير الNSA "www.nsa.gov/selinux" كخدمة لمدراء الانظمة ليتمكنوا من عمل تقنيات حماية على مستوى الكيرنل اثناء أداءه لوظائفه العادية.

    باستخدام الSELinux يتم تصنيف الخدمات processes لتعمل ضمن ما يسمى الSELinux domain وكل المصادر الأخرى ( مثل الملفات ، السوكتس ، السستم كولز ...) يتم فرض ما تسمى SELinux context عليها، و هي الpolicy أو الآلية التي سيتم تطبيقها في حالة طلب هذا الريسورس (الملف مثلا) من قبل اي خدمة اخرى (مثل الSSH أو الscp على سبيل المثال) . يتم تحميل الpolicy على الكيرنل عادة في مرحلة البووت وهي ستحدد اي process domain يمكنها استخدام اي resource context .

    ان اي ميكانيكية للحماية تتطلب ان تكون مرنة وسهلة لمدير النظام بحيث يتجنب المشكلة الشائعة التي يقع فيها اي مدير للحماية و هي هل النظام مكشوف اكثر من اللازم؟ أو انه ليس متوفرا كفاية لباقي الخدمات و المستخدمين؟ لذلك فإن أي مدير للحماية يرغب في استخدام الSELinux عليه ان يسأل نفسه الأسئلة التالية:

    1- هل احتاج فعلا الى تفعيل الSELinux ؟
    2- اذا كان الجواب بنعم، هل اجعله بوضع الenforcing اي تطبيق الpolicy أم وضع الpermissive اي التحذيري فقط دون منع الخدمات؟
    3-ما هي الcontext المناسبة التي سأطبقها على الملف حتى ارفع من مستوى الحماية عليه؟

    المنهجية (policy) التي سيختارها مدير النظام لنظامه قد تشكل موضوعا صعبا عليه ، ورغم وجود العديد من المنهجيات او الpolices لكن ريدهات انتربرايز تأتي مع policy واحده رئيسية تسمى targeted وهي تشمل بعض الخدمات الخاصة بالشبكات فقط والخدمات المشمولة هي كالتالي:

    dhcpd
    httpd
    mysqld
    named
    nscd
    ntpd
    portmap
    postgres
    snmpd
    squid
    syslogd

    وطبعا يمكنك تفعيل الcontext على اي خدمة من الخدمات اعلاه و تعطيلها ايضا.

    -تفعيل الSELinux

    عند تشغيل النظام و في مرحلة البووت يتم تحديد الحالة التي سيعمل فيها الSELinux وهي الحالات الثلاثة التالية:
    1-disabled : اي خيار التعطيل و عندها لن يتم تطبيق اي خيار للSELinux .
    2-ا permissive : وهي احدى حالات التفعيل للSELinux و تعمل على مبدأ ان اي محاولة لاستخدام الملف المراقب من قبل الcontext سيتم تسجيله في اللوغ /var/log/messeges ولكن لن يتم منع الوصول للريسورس او الملف.
    3-enforcing : وهي الحالة الثانية في حالات التفعيل للSELinux حيث يتم منع اي محاولة وصول لا تسمح بها الcontext للملف او الريسورس المطلوب.

    -ملف اعدادات الSELinux
    في ريدهات انتربرايز المسار لملف الاعدادات الاساسي للSELinux هو :
    كود:
    /etc/sysconfig/selinux
    و هذا مثال لمحتوى الملف:
    كود:
    [[email protected] ~]$ cat /etc/sysconfig/selinux
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - SELinux is fully disabled.
    SELINUX=permissive 
    # SELINUXTYPE= type of policy in use. Possible values are:
    #       targeted - Only targeted network daemons are protected.
    #       strict - Full SELinux protection.
    SELINUXTYPE=targeted
    طبعا الملف واضح و السطر الذي يحتاج للتعديل هو:
    كود:
    SELINUX=permissive
    طبعا الحالات التي يمكننا استخدامها هي:
    permissive , enforcing , disabled
    طبعا في حالة التحويل من الوضع disabled الى احد وضعي التفعيل (enforcing , permissive ) فإن ذلك يستلزم عمل اعادة تشغيل للجهاز ليتم تطبيق الخيار على مستوى الكيرنل كما سبق و ذكرنا. ولكني افضل وضعه على الخيار permissive في البداية عند اعادة التشغيل لأن الوضع enforcing قد يبدا بمنع بعض الخدمات من الوصول للملفات عند بدء التشغيل للخدمات مما سيسبب في كثير من الاحيان عدم اقلاع الجهاز بالشكل الطبيعي. و لكن لا تبالي لأنك ستتمكن من الانتقال من الوضعية permissive الى enforcing اثناء العمل دون الحاجة لاعادة تشغيل الجهاز.

    - التبديل بين الوضعين التحذيري permissive والوضع التنفيذي enforcing
    يمكنك عمل ذلك باستخدام الأمر setenforce على النحو التالي:
    كود:
    [[email protected] ~]# setenforce 0
    [[email protected] ~]# getenforce
    Permissive
    طبعا الرقم 0 لتفعيل الخيار permissive التحذيري ، والرقم 1 لتفعيل الخيار enforcing :
    كود:
    [[email protected] ~]# setenforce 1
    [[email protected] ~]# getenforce
    Enforcing
    طبعا كما لاحظت فإن الأمر getenforce يعطيك الحالة الحالية.

    -كيف اشاهد الcontext المطبقة على ملف او خدمة ما؟

    الأمرين ps -Z و ls -Z يعطيانك اسماء الcontext المطبقة على خدمة او ملف على الترتيب:
    كود:
    [[email protected] ~]$ ps ax -Z
    LABEL                             PID TTY      STAT   TIME COMMAND
    user_u:system_r:unconfined_t        1 ?        S      0:00 init [5]
    user_u:system_r:unconfined_t        2 ?        SN     0:00 [ksoftirqd/0]
    user_u:system_r:unconfined_t        3 ?        S<     0:00 [events/0]
    user_u:system_r:unconfined_t        4 ?        S<     0:00 [khelper]
    
    ...
    user_u:system_r:syslogd_t        2251 ?        Ss     0:00 syslogd -m 0
    user_u:system_r:unconfined_t     2255 ?        Ss     0:00 klogd -x
    user_u:system_r:portmap_t        2277 ?        Ss     0:00 portmap
    root:system_r:httpd_t            3955 ?        Ss     0:00 /usr/sbin/httpd
    root:system_r:httpd_t            3956 ?        S      0:00 /usr/sbin/httpd
    ...
    مثال آخر:
    كود:
    [[email protected] ~]$ ls -a -Z
    drwxr-xr-x  student  student  root:object_r:file_t             .
    drwxr-xr-x  root     root                                      ..
    -rw-------  student  student  user_u:object_r:file_t           .bash_history
    -rw-r--r--  student  student  root:object_r:file_t             .bash_logout
    -rw-r--r--  student  student  root:object_r:file_t             .bash_profile
    -rw-r--r--  student  student  root:object_r:file_t             .bashrc
    drwx------  student  student  user_u:object_r:file_t           .gconf
    drwx------  student  student  user_u:object_r:file_t           .gconfd
    - مراقبة محاولات تعدي الSELinux

    كما سبق و ذكرت فإن اي محاولة سيتم تسجيلها في الملف var/log/messeges والآتي هو مثال:
    كود:
    kernel: audit(1122958950.808:0): avc:  denied  { getatt
    r }for  pid=15842 exe=/usr/bin/ssh path=/etc/krb5.conf dev=hda3 ino=609458 scon
    text=root:system_r:httpd_sys_script_t tcontext=system_u:object_r:krb5_conf_t tcl
    ass=file
    طبعا بعض ما نستخلصه من المثال السابق أنه تم عمل منع denied لخدمة برقم 15842 ,وهي الأمر usr/bin/ssh لمحاولة استخدام الريسورس الملف etc/krb5.conf و اسم الcontext التي قامت بمنعه.

    -تعديل الcontext المطبقة على ملف

    يتم ذلك باستخدام الأمر chcon وهو اختصار ل change context و باسلوب تطبيق context معروفة لملف يعمل جيدا على الملف الذي لا نستطيع الوصول اليه بسبب الSELinux اليكم هذا المثال:
    لدينا ملف اسمه named.conf يقوم الSELinux بمنع الوصول اليه، ولدينا ملف آخر اسمه named.conf.rpmorig يعمل بشكل طبيعي و غير محجوب بواسطة الSELinux ، عندها نقوم بالتالي:
    كود:
    [[email protected] ~]# chcon --reference=/etc/named.conf.rpmorig /etc/named.conf
    -تفعيل او تعطيل الcontext على خدمة معينة.

    يمكننا تعديل بعض المتغيرات الخاصة بالcontext المطبقة على خدمة بعينها بعمل on أو off لها و باستخدام الأمر setsebool الاختصار لset SELinux boolean و المثال التالي يوضح الآلية:
    الأمر getsebool سيعطينا معلومة عن حالة الcontext وهل هي فعالة أم لا على خدمة معينة:
    كود:
    [[email protected] ~]# getsebool -a 
    allow_ypbind --> active
    dhcpd_disable_trans --> inactive
    httpd_disable_trans --> inactive
    httpd_enable_cgi --> active
    httpd_enable_homedirs --> active
    ...
    لتفعيل context معينة يمكننا عمل التالي:
    كود:
    [[email protected] ~]# getsebool syslogd_disable_trans
    syslogd_disable_trans --> inactive
    [[email protected] ~]# setsebool syslogd_disable_trans 1
    [[email protected] ~]# getsebool syslogd_disable_trans
    syslogd_disable_trans --> active
    كما هو واضح من المثال فإننا قمنا بتفعيل context على احدى الخدمات الخاصة باللوغ وهي الsyslogd

    طبعا هذه المتغيرات يتم تخزينها بشكل مؤقت في الملف :
    كود:
    /etc/selinux/targeted/booleans
    شاهد المثال التالي الذي يستعرض المتغيرات المخزنة فيه:

    كود:
    [[email protected] ~]# cat /etc/selinux/targeted/booleans
    httpd_enable_cgi=1
    httpd_enable_homedirs=1
    httpd_ssi_exec=1
    named_write_master_zones=0
    httpd_unified=1
    httpd_tty_comm=0
    ذكرت أن القيم ستعود لحالتها الأصلية عند اعادة التشغيل (active or inactive) واذا رغبت في تثبيتها استخدم الخيار -P مع الأمر setsebool .

    -استخدام graphical tool

    لمستخدمي ريدهات انتربرايز يمكنك تعديل خيارات الSELinux باستخدام الأداة system-config-securitylevel وهذه صورة للأداة:



    -الخاتمة

    ارجو ان يكون الموضوع قد حاز على اعجابكم و رضاكم و اريد ان اوضح انني لم أتطرق لكثير من الأمور الأخرى التي يتميز فيها الSELinux حيث ان هناك كورس كامل في شهادة الRHCSS يشرح عن هذا الموضوع و لن استطيع شمله في موضوعي هذا ، ولكنه يشكل نقطة انطلاق جيدة للراغبين في التعرف على هذه التقنية الجديدة. و في النهاية ارجوكم ثم ارجوكم ان لا تنسوني من دعائكم في قلوبكم لأني في أمس الحاجة اليه
    التعديل الأخير تم بواسطة سامر حداد; الساعة 23-03-2007, 01:37 AM.
    V.I.P

    (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
    هود 115

    Linux is user-friendly, but it happens to be selective about its friends

    "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


    مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...



  • #2
    السلام عليكم ولي الشرف أن أكون أول من يرد على الموضوع
    والله الموضوع روعة وأنت يا أخ سامر أروع والدعاء لك في ظهر الغيب إن شاء الله
    وشكرا ثم شكرا ثم شكرا على الموضوع المفيد رغم اني لن أحتاجه حاليا لكن فقط لنكون على دراية بما تحتويه أنظمتنا اللينوكسية من تطبيقات و اللهم زدنا علما
    تحياتي




    تعليق


    • #3
      اشكر لك مرورك مشرفنا العزيز knoppix_dark و الموضوع اهداء لكل الأمة الاسلامية و هو مهدى بشكل خاص لأخي ابو محمد [email protected] وانا وهو فقط نعلم سبب ذلك
      التعديل الأخير تم بواسطة سامر حداد; الساعة 23-03-2007, 02:04 AM.
      V.I.P

      (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
      هود 115

      Linux is user-friendly, but it happens to be selective about its friends

      "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


      مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


      تعليق


      • #4
        بارك الله فيك
        موضوع رائع وشرح اروع
        تقبل تحياتى وشكرى على العمل المتميز
        اسلام
        http://i9.photobucket.com/albums/a90...868/442737.png
        http://i9.photobucket.com/albums/a90/kondor868/18tu.gif

        تعليق


        • #5
          السلام عليكم
          بارك الله فيك اخي سامر على هذه الجوهرة الرائعة
          ان شاء الله في ميزان الحسنات
          السلام عليكم.

          تعليق


          • #6
            السلام عليكم ورحمة الله وبركاته ...

            مشكور أخي سامر على الموضوع روعة بكل أمانة وﻻ تنقصه سوى أمرين:
            1- كيف يقوم المستخدم من تنصيبه إن لم يكن موجود عنده ؟
            2- ما هو الــ context بشكل أوضح وأدق ؟ يعني لأضرب لك مثال:
            user_u ماذا يعني ؟
            system_r ماذا يعني ؟
            unconfined_t ماذا يعني ؟ وهكذا ...

            أيضا أخي سامر مسألة يبدو كتبتها بالغلط:
            من قبل اي خدمة اخرى (مثل الSSH أو الscp على سبيل المثال)
            يبدو السرعة في كتابة الموضوع جعلتك تكتب إن الــ scp هي خدمة أرجوا أن تقوم بتعديلها ﻷنها عبارة عن Tool تأتي مع package الــ ssh والذي هو أيضا Tool ولكن الـ sshd هو الخدمة

            أعتذر إني قمت بنقد الموضوع بهذه الطريقة ... ولكن صدقني الموضوع رائع جدا لكنه سيكون الأروع لو ذكرت فيه ما أخبرتك أعلاه ... في النهاية الإختلاف بالرأي ﻻ يفسد للود قضية ...

            وأليك هذه الهدية مني:


            هذه صورة الــ SELinux Troubleshooter الموجودة في RHEL5 الجديد ...
            مشكور على الــ Access مرة أخرى ومشكور على الموضوع ... وجزاك الله خيرا عليه يا رجل

            ملاحظة:-
            قبل فترة قرأة مش عارف وين واحد من الأخوة ناوي يكتب أو كتب على الــ SELinux لا أدري هل أنتهى من موضوعه أم ﻻ ؟
            التعديل الأخير تم بواسطة علي الشمري; الساعة 23-03-2007, 10:36 AM.
            إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

            إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
            ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
            فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
            إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
            ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
            وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

            [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

            تعليق


            • #7
              السلام عليكم و رحمة الله و بركاته
              شكرا على الشرح القيم و المرجعي
              بارك الله فيك
              User N4m3 | FLoOoD HacKeR
              e-mail | e@Hotmail.com | zo@Hotmail.com
              ZoNe-H
              FaceBook

              تعليق


              • #8
                المشاركة الأصلية بواسطة [email protected] مشاهدة المشاركة
                السلام عليكم ورحمة الله وبركاته ...

                مشكور أخي سامر على الموضوع روعة بكل أمانة وﻻ تنقصه سوى أمرين:
                1- كيف يقوم المستخدم من تنصيبه إن لم يكن موجود عنده ؟
                2- ما هو الــ context بشكل أوضح وأدق ؟ يعني لأضرب لك مثال:
                user_u ماذا يعني ؟
                system_r ماذا يعني ؟
                unconfined_t ماذا يعني ؟ وهكذا ...

                أيضا أخي سامر مسألة يبدو كتبتها بالغلط:

                يبدو السرعة في كتابة الموضوع جعلتك تكتب إن الــ scp هي خدمة أرجوا أن تقوم بتعديلها ﻷنها عبارة عن Tool تأتي مع package الــ ssh والذي هو أيضا Tool ولكن الـ sshd هو الخدمة

                أعتذر إني قمت بنقد الموضوع بهذه الطريقة ... ولكن صدقني الموضوع رائع جدا لكنه سيكون الأروع لو ذكرت فيه ما أخبرتك أعلاه ... في النهاية الإختلاف بالرأي ﻻ يفسد للود قضية ...

                اخي ابو محمد اشكر لك مرورك وتعقيبك على الموضوع، سأبدأ نقطة نقطة:
                بالنسبة لتنصيبه ان لم يكن موجود... الSELinux هو kernel component لذا هو يأتي دائما مع جميع توزيعات ريدهات، اي انك لا تختار تنزيله من عدمه ، ولكن يمكنك تفعيله أو تعطيله اثناء تنصيب ريدهات انتربرايز.

                بالنسبة لنقطة الSSH و SCP ، كلا انا لم أخطئ بالكتابة بسبب السرعة، ولكن الترجمة الى العربية هي التي افسدت مقصدي من الموضوع. انا لم اقصد خدمة service كما تقصد انت او كما فهمت من موضوعي، ولكني اقصد الخدمة process لذا اعتقد انها العملية بالعربية. اي ان شيء يتم تنفيذه الآن هو process سواء أتى منsshd او توول او حتى application . وصدقني انا اعرف ان الsshd هي الخدمة و ليس الSSH يا ابو محمد، لا اعتقد اني غبي الى هذا الحد واعرف ان الscp هو command

                بالنسبة لموضوع الcontext و غيرها من الأمور التي طلبتها... انا ذكرت ان موضوعي لم يتطرق الى كل شيء في الSELinux ولا استطيع شرح كل شيء للأخ القارئ... إلا اذا اراد الامور تأتي جاهزة له و لا يكلف نفسه عناء البحث . اذا اردت المزيد يمكنك الاطلاع على الكثير من الكتب و المواقع الأخرى و حتى موقع الNSA الذي اشرت له في البداية. الموضوع هو مدخل بسيط للSELinux الذي يدرس في كورس الRHCSS في مدة 5 ايام نظام الfull day ، فهل استطيع شرحه كاملا في بضعة اسطر؟ طبعا لا، ولكني احببت ان يكون هناك مدخل او مقدمه لهذا الجبار في عالم السيكيوريتي.

                اشكر للجميع مروكم و تعليقاتكم
                V.I.P

                (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
                هود 115

                Linux is user-friendly, but it happens to be selective about its friends

                "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


                مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


                تعليق


                • #9
                  المشاركة الأصلية بواسطة greyhunter مشاهدة المشاركة
                  اخي ابو محمد اشكر لك مرورك وتعقيبك على الموضوع، سأبدأ نقطة نقطة:
                  بالنسبة لتنصيبه ان لم يكن موجود... الSELinux هو kernel component لذا هو يأتي دائما مع جميع توزيعات ريدهات، اي انك لا تختار تنزيله من عدمه ، ولكن يمكنك تفعيله أو تعطيله اثناء تنصيب ريدهات انتربرايز.
                  سامر نعلم إنه ياتي مع الريدهات وهو كيرنل component... ولكن القصد إنك لم تشرح كيف تفعله في التوزيعات الأخرى !!! يعني قصدي تعطي مثال فقط عن الطريقة ...

                  المشاركة الأصلية بواسطة greyhunter مشاهدة المشاركة
                  بالنسبة لنقطة الSSH و SCP ، كلا انا لم أخطئ بالكتابة بسبب السرعة، ولكن الترجمة الى العربية هي التي افسدت مقصدي من الموضوع. انا لم اقصد خدمة service كما تقصد انت او كما فهمت من موضوعي، ولكني اقصد الخدمة process لذا اعتقد انها العملية بالعربية. اي ان شيء يتم تنفيذه الآن هو process سواء أتى منsshd او توول او حتى application . وصدقني انا اعرف ان الsshd هي الخدمة و ليس الSSH يا ابو محمد، لا اعتقد اني غبي الى هذا الحد واعرف ان الscp هو command
                  أعتذر لك يا صاحبي لم أقصد إنك غبي أو من هذا الكلام وهذا مستحيل يصدر مني تجاهك ... ولكن على كل حال حتى عربيا، الـ process هي ليست خدمة وإنما "إجراء" يا صديقي ... وأكرر أسفي مرة أخرى

                  المشاركة الأصلية بواسطة greyhunter مشاهدة المشاركة
                  بالنسبة لموضوع الcontext و غيرها من الأمور التي طلبتها... انا ذكرت ان موضوعي لم يتطرق الى كل شيء في الSELinux ولا استطيع شرح كل شيء للأخ القارئ... إلا اذا اراد الامور تأتي جاهزة له و لا يكلف نفسه عناء البحث . اذا اردت المزيد يمكنك الاطلاع على الكثير من الكتب و المواقع الأخرى و حتى موقع الNSA الذي اشرت له في البداية. الموضوع هو مدخل بسيط للSELinux الذي يدرس في كورس الRHCSS في مدة 5 ايام نظام الfull day ، فهل استطيع شرحه كاملا في بضعة اسطر؟ طبعا لا، ولكني احببت ان يكون هناك مدخل او مقدمه لهذا الجبار في عالم السيكيوريتي.

                  اشكر للجميع مروكم و تعليقاتكم
                  نعم أخي سامر أنا معك وأكره الــ Spoon Feeding وتعرفني جيدا ... ولكن لم يتم ذكر على الأقل ماهي هذه الـ context وكيف تقسم ... إنسى كيف تعمل على الأقل كيف تقسم ... هذه كانت تعليقاتي على الموضوع ... وكما ذكرت لك:
                  1- الموضوع روعة وتسلم أيدك عليه، وإن شاء الله هو في ميزان حسناتك ...
                  2- الإختلاف بالرأي ﻻ يفسد للود قضية ...

                  تحياتي الحارة لك
                  إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                  إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                  ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                  فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                  إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                  ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                  وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                  [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة [email protected] مشاهدة المشاركة
                    سامر نعلم إنه ياتي مع الريدهات وهو كيرنل component... ولكن القصد إنك لم تشرح كيف تفعله في التوزيعات الأخرى !!! يعني قصدي تعطي مثال فقط عن الطريقة ...
                    اخي ابو محمد الشرح كما ذكرت موجه لتوزيعة ريدهات انتبرايز ويستحيل علي شرحه على السوزي وعلى الاوبنتو و على ديبيان لأني ببساطة لا استخدمها في عملي ولن اعرف ان اضبط الشرح عليها كلها. انت تطلب شيئا مستحيلا علي ، هل تقوم بشرح عمل كل شيء على جميع التوزيعات و مختلف انواعها عند طرحك لأحد المواضيع اخي ابومحمد؟ غريب ان تطلب هذا الشيء مني!! :shocking:

                    المشاركة الأصلية بواسطة [email protected] مشاهدة المشاركة
                    أعتذر لك يا صاحبي لم أقصد إنك غبي أو من هذا الكلام وهذا مستحيل يصدر مني تجاهك ... ولكن على كل حال حتى عربيا، الـ process هي ليست خدمة وإنما "إجراء" يا صديقي ... وأكرر أسفي مرة أخرى
                    كما ذكرت لك سابقا ان المشكلة هي الترجمة للعربية، فأنا لا اقرأ ايا من الكتب العربية (رغم عدم وجود ما يكفي منها اصلا) و لذلك لا اعرف الااجراء من العملية ، ولكني اعرف الprocess

                    المشاركة الأصلية بواسطة [email protected] مشاهدة المشاركة

                    نعم أخي سامر أنا معك وأكره الــ Spoon Feeding وتعرفني جيدا ... ولكن لم يتم ذكر على الأقل ماهي هذه الـ context وكيف تقسم ... إنسى كيف تعمل على الأقل كيف تقسم ...
                    حسنا سأشرح لك ما هي تقسيمات الcontext لأنه على ما يبدو انك لست في مزاج للبحث
                    تركيب اسم الcontext يكون حسب ثلاثة أمور :
                    كود:
                    <user>:<role>:<type>
                    مثلا:
                    كود:
                    system_u:object_r:httpd_exec_t
                    الجزء system_u يدل على نوع او اسم المستخدم للSELinuxو هو في هذه الحالة الSELinux يوزر هو: system ، و تجدها في احيان أخرى root أو user_u ، عادة الSELinux user المستخدم مع الdeamons هو المستخدم system_u . طبعا هذا مستخدم خاص بالSELinux وليس النظام.

                    الجزء object_r يدل على الدور role الذي تلعبه الcontext وفي حالة الobject فهي تعني ملف او device . وهناك roles اخرى مثل system_r الخاصة عادة بالsystem process وايضا sysadm_r وغيرها.

                    الجزء httpd_exec_t هو نوع الcontext الذي ينتمي الى الrole الذي تكلمنا عنه ومثلا اذا اردت معرفة انواع الcontext التابعة للrole الخاص بها مثل system_r هذه قائمة بأسماء بعض منها
                    كود:
                    unconfined_t  
                    httpd_t  
                    httpd_sys_script_t  
                    httpd_suexec_t  
                    httpd_php_t  
                    httpd_helper_t  
                    dhcpd_t  
                    ldconfig_t  
                    mailman_queue_t  
                    mailman_mail_t  
                    mailman_cgi_t  
                    system_mail_t  
                    mysqld_t  
                    named_t  
                    ndc_t  
                    nscd_t  
                    ntpd_t  
                    portmap_t  
                    postgresql_t  
                    snmpd_t  
                    squid_t  
                    syslogd_t  
                    winbind_t  
                    ypbind_t
                    هنا جميع الانواع التي في القائمة تأتي ضمن الدور الخاص ب system_r او ما يمكن تسميته في أحيان أخرى SELinux domain

                    وفي النهاية ارجو ان اكون قد وضحت لك الصورة واذا أردت المزيد فعليك بالبحث لأني أكره spoon feeding والنقاش لا يفسد للود قضية طبعا
                    V.I.P

                    (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
                    هود 115

                    Linux is user-friendly, but it happens to be selective about its friends

                    "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


                    مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


                    تعليق


                    • #11
                      موضوع رائع

                      توني اشوف موضوع يتكلم عن SELinux

                      تعليق


                      • #12
                        تسلم ايديك اخى سامر على الموضوع الهام جدا ومشكور ابو محمد للاضافات كما عودتنا بصراحه اول موضوع اشوفه يتكلم عن selinux عربى
                        SЄČURiTY TЄΛM
                        MyBlog

                        تعليق


                        • #13
                          السلام عليكم

                          ولكن على كل حال حتى عربيا، الـ process هي ليست خدمة وإنما "إجراء" يا صديقي
                          كلمة process كترجمة عربية تعنى عملية وبمفهوم ال application تعنى running program

                          أما كلمة اجراء فتعنى procedure

                          وجزاك الله كل خير أخى سامر على الموضوع :PP

                          السلام عليكم
                          شاركنا بمواضيعك، أفكارك، إقتراحاتك، ومساعدتك لنا هي أساس إستمرارنا ... فلا تبخل علينا بما لديك ولو كان بنظرك قليل، فهو بنظرنا الكثير
                          | قناة المجتمع التعليمية | قناة المجتمع للفيديوهات | ويكي مجتمع لينوكس العربي | البريد الألكتروني (eMail) |

                          تعليق


                          • #14
                            100 100
                            مرجع كامل

                            هناك نقطة بسيطة ممكن تضيفها للمرجع بخصوص ال policy واللي هناك ثلاثة انواع منها
                            مع توضيح ال policy المناسبة لكل استخدام
                            targeted, strict, MLS

                            ايضا نقطة اخرى قد تفيد البعض وهي عند عمل ابديت لل policy تحدث احيانا بعض الاخطاء في ال labels
                            ولحلها تعمل mount بدون دعم SELinux .. ممكن من ال rescue mode
                            وتنفذ:
                            # touch /.autorelabel
                            # shutdown -r now
                            There's no place like 127.0.0.1

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة أبو عبدالرحمن مشاهدة المشاركة
                              السلام عليكم



                              كلمة process كترجمة عربية تعنى عملية وبمفهوم ال application تعنى running program

                              أما كلمة اجراء فتعنى procedure

                              وجزاك الله كل خير أخى سامر على الموضوع :PP

                              السلام عليكم
                              نعم صحيح أخي عبد الرحمن ...
                              أنا جلبت الكلمة من من موقع arabeyes من تجرماتهم ...
                              أما عني فتراني ضعيف جدا في العربي وسبق وذكرت ذلك في مدونتي
                              إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                              إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                              ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                              فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                              إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                              ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                              وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                              [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                              تعليق

                              يعمل...
                              X