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

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

grSecurity ما هو؟ وكيف تضيفه لنواة نظامك؟

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

  • grSecurity ما هو؟ وكيف تضيفه لنواة نظامك؟

    السلام عليكم ورحمة الله وبركاته

    أخواني أخواتي الأعزاء/


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

    تعريف: grSecurity هو عبارة عن مجموعة من الترقيعات Patches خاصة بنواة Kernel جنو/لينوكس، من أجل زيادة وتقوية الحماية. تقوية الحماية للنظام ستتم وذلك ﻷنه يعمل طبقات متعددة Multi-Layered على النظام: طبقة إكتشافية Detection وطبقة دفاعية Prevention وطبقة إحتوائية Containment. أكثر الأماكن إستعمالاً لهذه لهذه الـ Patches هم أصحاب الشركات التي تقدم خدمات لها علاقة بالـ Web أو الـ Shell Access مثل شركات الإستضافة. grSecurity يصدر تحت بنود الـ GPL.


    من أهم المزايا التي يقدمها grSecurity الى النظام بعد أن تقوم بترقيع النواة Kernel به هي:

    - يقوم ببناء Policy خاصة بالصلاحيات بأقل صلاحيات ممكنة للنظام كله وذلك من خلال إستعمال طريقة قوية وذكية جداً تسمى RBAC والتي تعني Role-Based Access Control، أي ستقوم بإعطاء الصلاحيات على حسب الأدوار.

    - هناك بعض الطرق التي يمكن من خلالها عمل breakout من السجن Jail الذي قام بعمله chroot، هنا يأتي الـ grSecurity ويقوم بمنع هذه الطرق من تحقيق أهدافها.

    - تقوم بعمل حماية ومنع للمشاكل المتعلقة بالمجلد tmp/

    - إضافة إمكانية التدقيق بشكل أكبر على نواة لينوكس. بحيث يمكن إعدادها لتقوم بعملية تدقيق أكثر على مجموعة معينة من المستخدمين، على عمليات الـ mount والـ umount للأجهزة، التعديلات التي تخص الوقت والتاريخ، وتسجيل عمليات التنقل من مجلد الى آخر chdir وعمليات أخرى.

    - تقوم بتقييد المستخدم بإمكانية عرض العمليات processes الخاصة به فقط، وليس كما في الوضع الطبيعي يستطيع عرض جميع العمليات التي تعمل على النظام.

    - تقوم بعمل إنذارات وتدقيق على عنوان الـ IP الخاص بالشخص الذي يسبب هذه الإنذارات.

    - منع تنفيذ execute للأكواد الإستبدادية أو المتحكمة بغض النظر عن الطريقة المتبعة. حيث في الكثير من الاحيان يقوم المهاجم attacker بإستعمال Shell Code ومحاولة تنفيذه من خلال أوامر معينة على نظام الضحية Victim من خلال وجود ثغرة معينة على نظام الضحية، أو من خلال إرسالها لعملية process قيد العمل. وجود الـ grSecurity سيمنع عملية تنفيذ هذه الأكواد بغض النظر عن التكنيك المتبع فيها، مثل الـ Stack Smashing او Buffer Overflow والـ Heap Corruption أو ما يسمى Memory Curroption أيضاً. راجع PaX للمزيد من المعلومات.

    - منع تنفيذ للأكواد الإستبدادية داخل النواة Kernel. راجع PaX للمزيد من المعلومات.

    - مزايا أخرى مثل:
    * Randomization of the stack, library, and heap bases
    * Kernel stack base randomization
    * Protection against exploitable null-pointer dereference bugs in the kernel
    * Reduction of the risk of sensitive information being leaked by arbitrary-read kernel bugs


    عملية الـ Patching للـ grSecurity الى النواة:
    نأتي الآن الى كيفية إضافة هذه الترقيعات الى النواة. النسخه المتوفرة حالياً من الـ grSecurity هي 2.1.10 والتي يمكنك تركيبها على النواة رقم 2.6.19.2 طبعاً والنواة 2.4.34 لكن ما يهمنا نحن هو النواة الحالية 2.6.19.2 وليس الآخرى.

    الآن أذهب الى المجلد:
    كود:
    cd /usr/src

    بعد ذلك أذهب الى الموقع:

    وقم بتحميل نسخة النواة رقم 2.6.19.2 ستجده بإسم:
    كود:
    linux-2.6.19.2.tar.bz2
    أو
    كود:
    linux-2.6.19.2.tar.gz

    قم بتحميل أحدهم من خلال أحد هذه الأوامر:
    كود:
    wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.2.tar.bz2
    wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.2.tar.gz

    ولنفرض حملت التي تنتهي بإمتداد bz2، قم بفك الضغط من خلال:
    كود:
    tar jxvf linux-2.6.19.2.tar.bz2

    وفي حالة حملت التي تنتهي بإمتداد gz قم بفك الضغط من خلال:
    كود:
    tar zxvf linux-2.6.19.2.tar.gz

    بعد ذلك قم بتحميل Patch الـ grSecurity من الموقع التالي:

    أو من خلال سحب النسخة الحالية (2.1.10) مباشرة من خلال الأمر:
    كود:
    wget -c http://grsecurity.net/grsecurity-2.1.10-2.6.19.2-200701222307.patch.gz

    بعد ذلك سنقوم بعملية الترقيع Patching للـ grSecurity للنواة linux-2.6.19.2 التي قمنا بتنزيلها. قم بتنفيذ الأمر:
    كود:
    gunzip < grsecurity-2.1.10-2.6.19.2-200701222307.patch.gz | patch -p0

    بعد ذلك أدخل الى مجلد النواة linux-2.6.19.2 وأكمل عملية الكومبايل للنواة، ويوجد مواضيع كثيرة قامت بشرح هذه العملية، منها:


    وهذا موضوع فيها أمور مهمة جداً للمهتمين بهذا المجال:




    المصادر التي أعتمدت عليها:


    أتمنى لكم أجهزة أكثر أماناً، وأنظمة أكثر إستقراراً
    أخوكم [email protected] ...
    إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

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


  • #2
    تذكرت حاجة لم أذكرها في الموضوع ... هذا الـ Patch يمنع المستخدم من تشغيل ملفات executable من داخل الشل الخاصة به ... قبل فترة الكثير من الأخوة كانوا يتساؤلون حول:
    كيف يمكن أن أمنع مستخدم معيين من تشغيل ملف perl او python مثلاً ؟ خاصة وإنه هناك طرق كثير تستطيع أن تتجاوز بها حماية صاحب السيرفر وتشغل ما تريد وتلعب بالسيرفر وصاحبه وتسوي له

    هذا الـ Patch أقصد grSecurity سيقوم بمنع هؤﻻء من تنفيذ مثل هذه الألاعيب
    إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

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

    تعليق


    • #3
      هههههههه ياجامد يا ابو محمد انت هتفضل ورانا كدا مش هنعرف نلعب فى السيرفر
      بجد موضوع شيق جدا وتم حفظة فى مكتبتى
      SЄČURiTY TЄΛM
      MyBlog

      تعليق


      • #4
        جميل جدا !! مفيد جدا لأصحاب السيرفرات !!
        راح يحميهم شوي !!

        يعطيك ألف عافية !!

        تعليق


        • #5
          بارك الله فيك يا اخى الفاضل

          تعليق


          • #6
            مشاء الله
            الله يبارك فيك أبو محمد
            ما لها غيرك في هيك شغلات

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

            لكن لدي سؤال، إذا كان يمنع الشل من تنفيذ executable كما تقول فما الفائدة من هكذا شل
            أم تقصد يمنعه من تنفيذ برامج غير المحددة في قائمة ACL

            سؤال آخر كيف نقارنه مع SELinux و ACL الأخرى الموجودة في نوايا لينكس بنكهة الفانيلا
            (في الاصطلاح الفانيلا هي نكهة ما لا نكهة له)

            سؤال آخير: طيب ماذا عن تنفيذ البرامج بواسطة حيلة ld.so

            تعليق


            • #7
              اشكرك ابو محمد على الموضوع الرائع والمفيد جدا ،
              تقبل تحياتي
              EncrYpted Just a Learner
              شبكة الذكر الحكيم
              لاتنسى ذكر الله....

              تعليق


              • #8
                حياك الله يا خوي محمد ... أنت خرب وأنا أرقع وراك
                أسعدني جداً مرورك يا باشا
                المشاركة الأصلية بواسطة ĐΓ.ĐΣΓMλNN مشاهدة المشاركة
                هههههههه ياجامد يا ابو محمد انت هتفضل ورانا كدا مش هنعرف نلعب فى السيرفر
                بجد موضوع شيق جدا وتم حفظة فى مكتبتى
                الله يعافيك يارب أخي الكريم ... شكراً لك ولمرورك الكريم
                المشاركة الأصلية بواسطة rayman_3d مشاهدة المشاركة
                جميل جدا !! مفيد جدا لأصحاب السيرفرات !!
                راح يحميهم شوي !!

                يعطيك ألف عافية !!
                ويبارك بيك أخوي إبراهيم ... شكراً لمرورك وتشجيعك
                المشاركة الأصلية بواسطة ebrahim_0072 مشاهدة المشاركة
                بارك الله فيك يا اخى الفاضل
                دمتم بود جميعاً يا شباب
                إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

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

                تعليق


                • #9
                  ويبارك بيك أخوي مؤيد ... شكراً لك ولتشجيعك ...
                  بصراحة خوادم دبيان لم أعمل عليها بتاتاً، قمت بعمل شي بسيط على سيرفر أوبنتو ولكن توقفت ورجعت لتوزيعات أخرى أفضل وأحسن ... طبعاً هذا رأيي ...

                  المقصود بمنع الشل من التنفيذ، هو منع المستخدمين من تنفيذ الشيلات ... وهنا المقصود المستخدم الذي لنفرض ماخذ إستضافة من شركة معينة ... حيث في الوقت الحالي يقومون برفع سكربتات وينفذونها سواءاً perl أو python من خلال تخطي حماية السيرفر بطرق بسيطة جداً، وذلك ﻷن البيرل او بايثون مثلاً غير محجوبة عن مستخدم معيين في غالب الأحيان ... وحتى لو كانت محجوبة هناك طرق كثيرة لعمل bypass لهذه الحماية

                  المقارنة بينه وبين SELinux لا أستطيع أن أقوم بها صراحة يا مؤيد، فأنا جديد العهد في grSecurity وأيضاً SELinux لم أعمل عليه كثيراً مجرد أمور بسيطة ... ولهذا مو من حقي المقارنة ...

                  بخصوص كونه ACL ؟ ﻻ هو ليس مجرد ACL وذلك ﻷنه يقوم بأدوار:
                  Detection
                  Prevention
                  Containment
                  وهذه الأمور ﻻ يقوم بها جميعها الـ ACL ولهذا نقدر نقول هو ACL مطور مع بعض إمكانيات الـ IDS و IPS عليه ...

                  حيل الـ Dynamic Loading ﻻ أعتقد ستعمل وذلك ﻷنه يقوم بعمل Policy للصلاحيات جديدة من خلال RBAC ... أتمنى أكون فهمت سؤالك صح، وأكون أجبت ببعض الأمور البسيطة عليك ...

                  مشكور يا مؤيد لمرورك وتعليقك
                  المشاركة الأصلية بواسطة alsadi مشاهدة المشاركة
                  مشاء الله
                  الله يبارك فيك أبو محمد
                  ما لها غيرك في هيك شغلات

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

                  لكن لدي سؤال، إذا كان يمنع الشل من تنفيذ executable كما تقول فما الفائدة من هكذا شل
                  أم تقصد يمنعه من تنفيذ برامج غير المحددة في قائمة ACL

                  سؤال آخر كيف نقارنه مع SELinux و ACL الأخرى الموجودة في نوايا لينكس بنكهة الفانيلا
                  (في الاصطلاح الفانيلا هي نكهة ما لا نكهة له)

                  سؤال آخير: طيب ماذا عن تنفيذ البرامج بواسطة حيلة ld.so
                  حياك الله أخوي أحمد ...
                  وشكراً لك ولمرورك وتشجيعك لي
                  المشاركة الأصلية بواسطة EncrYpted مشاهدة المشاركة
                  اشكرك ابو محمد على الموضوع الرائع والمفيد جدا ،
                  تقبل تحياتي
                  دمتم بود يا شباب
                  إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

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

                  تعليق


                  • #10
                    صحيح شباب لمن يريد يستفيد أكثر أليكم هذا
                    http://www.grsecurity.net/grsecurity...iles/frame.htm

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

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

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

                    تعليق


                    • #11
                      صحيح شباب لمن يريد يستفيد أكثر أليكم هذا
                      http://www.grsecurity.net/grsecurity...iles/frame.htm
                      سيبنا اذاكر اول وبعدين يبدا النقاش


                      الاوراق كلها هنا
                      http://www.grsecurity.net/papers.php
                      My sickness is called frozen mind
                      and hopefully I'll find the cure for it

                      تعليق


                      • #12
                        حيل الـ Dynamic Loading ﻻ أعتقد ستعمل وذلك ﻷنه يقوم بعمل Policy للصلاحيات جديدة من خلال RBAC ... أتمنى أكون فهمت سؤالك صح، وأكون أجبت ببعض الأمور البسيطة عليك ...
                        أنا أتحدث عن ما يشبه هذا
                        كود:
                         /lib/ld-2.6.1.so /usr/bin/python
                        طبعاً ضع مكان python أي برنامج وليس script

                        وبهذه الطريقة يمكن تنفيذ أي برنامج حتى لو لم يكن يحمل علامة التنفيذ

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة alsadi مشاهدة المشاركة
                          أنا أتحدث عن ما يشبه هذا
                          كود:
                           /lib/ld-2.6.1.so /usr/bin/python
                          طبعاً ضع مكان python أي برنامج وليس script

                          وبهذه الطريقة يمكن تنفيذ أي برنامج حتى لو لم يكن يحمل علامة التنفيذ
                          لم أفهم قصدك في البداية يا مؤيد ...
                          على كل حال مثل هذه الحيل حسب ما فهمت منهم ﻻ تعمل وهذه أحد أهداف هذه الترقيعة أصلاً ...
                          إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

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

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

                          تعليق


                          • #14
                            انا دخلت هنا بالغلط وقريت الموضوع انلحست شوي خخخخ

                            يبيلي اتعمق بالسيرفرات واضبطه

                            عاد عندي سيرفر لينكس ولاعمري دخلت بالشل حقه خخخخخخ ..{{ مدري وش دخله بالموضوع

                            بس كيف يعني لو احد يعرف الايبي ويجي يخترق جهازك وانت تستخدم لينكس بيكتب لك كود
                            ولا بيدخل من بورت اخاف يرفع شل بسطح المكتب ههههههههههههههه اخاف يخترقون جهازي وانا مفكر انهم يتعبون معي باللينكس يالله مو مشكله خخخخخخ

                            يعطيك العافيه ع الموضوع

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة فــديــتــكــ مشاهدة المشاركة
                              انا دخلت هنا بالغلط وقريت الموضوع انلحست شوي خخخخ

                              يبيلي اتعمق بالسيرفرات واضبطه

                              عاد عندي سيرفر لينكس ولاعمري دخلت بالشل حقه خخخخخخ ..{{ مدري وش دخله بالموضوع

                              بس كيف يعني لو احد يعرف الايبي ويجي يخترق جهازك وانت تستخدم لينكس بيكتب لك كود
                              ولا بيدخل من بورت اخاف يرفع شل بسطح المكتب ههههههههههههههه اخاف يخترقون جهازي وانا مفكر انهم يتعبون معي باللينكس يالله مو مشكله خخخخخخ

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

                              أو لنقل تخيل صندوق به جوهرة وضع في صندوق مقفل وضع في خزنة وضعت في سفينة حربية وأغرقت السفينة الحريية ودفنت في قاع المحيط ثم حدث بركان وغمرتها الصهارة

                              الفكرة تخيل أن برنامج ما أو خادم ما يعمل على جهازك به ثغرة
                              استطاع شخص ما تفادي جدار النار وتفادي قواعد ACL في خادم الويب وقواعد ال host.allow
                              و.....
                              ثم استغلالها ووضع برنامج على الخادم او جعل الخادم ينفذ ما يريد

                              هنا يأتي دور مرحلة أخرى هي النواة ذات الوحدات الخاصة مثل SELinux أو GrSecurity

                              أخي أبو محمد بالنسبة للطريقة المذكورة بواسطة ld
                              فهي لا تعمل إذا عملنا noexec
                              دون الحاجة لأي وحدات أمنية مضاعفة

                              لقد ضللتني وثائق ديبيان إذ جعلتني أظن أنها تسمح بتنفيذ ملفات لا يسمح تنفيذها

                              تعليق

                              يعمل...
                              X