المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [توضيح] بخصوص mod security والحماية من الشلات



linnou
11-02-2013, بتوقيت غرينيتش 01:16 AM
حياكم الله جميعا وبياكم وأسعد الله أوقاتكم بكل خير
هناك بعض الناس يعتقدون أن كل الحماية موجودة في المود سيكيرتي وحقيقة المود سيكيريتي لا يمثل شيء بالنسبة لحماية السيرفر SERVER ولا الموقع من الشيلات مقابل الدور الذي يلعبه في صد هجمات XSS و SQL injection
وبالنسبة للحماية من الشيلات وخاصة أصحاب السكريبت scriptات مثل المنتديات حيث طورت الشلات نفسها وأصبح بإمكانها مراوغة أي حماية من هذا النوع ، وذلك بإرسال وطلب استعلامات (request) من قبل $_POST وتمريرها عبر الأباتشي دون أن تخضع لقوانين برامج الحماية مثل mod security . وخاصة إذا أقفلنا SecFilterScanPOST وهو خيار ضروري في متابعة كل استعلام صادر من الدالة $_POST بغض النظر عن الإستعلامات المرسلة عن طريق $_GET المباشرة و أما بالنسبة للخيار SecFilterEngine فهو أمر التحكم الكمل في تشغيل وإيقاف البرنامج حيث يشمل $_GET و $_POST معا .
الشيلات التي ظهرت في الآونة الأخرة كلها ترسل استعلامات (request) إلى الأباتشي عن طريق الدالة $_POST مما يسبب بعض مشاكل الخلط وعدم مقدرة البرنامج في تمييز سكريبت script الشيل من اسكريبت scriptات سليمة ونذكر منها على سبيل المثال المنتديات والمجلات وبالتالي أي مستخدم يقوم بالتصفح بإرسال استعلام في اسكريبت script عادي ولاقدر الله يحتوي على كلمة أو كود code لا يتوافق مع قوانين البرنامج يتم حظره مباشرة كما هو الشأن في تعديل قوالب المنتديات أو الرد السريع وغيرهما.



نقرب الصورة أكثر بذكر بعض الأمثلة من الإستغلالات البسيطة وكيف تتم فلترتها :

قراءة محتوى ملف /etc/passwd الذي يشكل أول خطوة في اختراق المواقع الموجودة على السيرفر SERVER
المخترق يحتاج قراءة هذا الملف عن طريق ثغرة من ثغرات البي اتش بي أو SQL و يحتاج لتنفيذ الأمر التالي في سكريبت script الشيل (shell.php) ومن أجل

قراءة محتوى هذا الملف :
cat /etc/passwd
نفترض ان برنامج الفلترة (mod security ) غير مركب على السيرفر SERVER بالتالي يمكن له ارسال الأمر وطلب النتيجه عن طريق $_GET والحصول على نتائج

بدون مشاكل عن طريق الإستغلال التالي :
shell.php?cat=/etc/passwd

نركب برنامج الفلترة
ونقوم بتفعيل الخيارين SecFilterEngine وإغلاق الخيار SecFilterScanPOST
SecFilterScanPOST Off
SecFilterEngine On


جيد جدا في هذه الحالة نستطيع ان نصد اي هجمة من هجمات الهاك productرز عن طريق اي استغلال (فعال جدا في صد ثغرات XSS و SQL Injection )يمر عبر الأباتشي وخاصة عند تركيب install قوانين خاصة على سبيل المثال الفلترة الخاصة بالإستغلال اللي ذكرناه في المثال :
SecFilter /etc/passwd
في هذه الحالة المخترق لن يقدرعلى قراءة ملف /etc/passwd ويرد عليه بخطأ رقمه 500 أو 404 أو 403 على حسب الإعدادات وربما يقوم بحظر الأيبي .
هذا فيما يخص GET_$ والإستغلال shell.php?cat=/etc/passwd
أما فيما يخص $_POST هذا له خيار خاص للتحكم فيه وهو SecFilterScanPOST بحيث يتم اعتبار أي استعلام يمر عن طريقها إذا كان On والعكس إذا كان في وضع Off
كما ذكرنا سابقا بأن الشيلات المتطورة لا تقوم بعرض الإستغلال مباشرة عن طريق $_POST اذا الإستغلالات كلها تكون مخفية وراء هذه الدالة وبالتالي الاستغلال كيف ما كان نوعه يكون shell.php? عكس $_GET وبالتالي لصد هذه الهجمات نحتاج إلى تفعيل الخيار SecFilterScanPOST
ممتاز جدا الأن كل الإستعلامات post مثلها مثل get يتم تمريرها عبر قوانين قبل تنفيذها الآن ليس بمقدور الشيلات فعل شيء لأننا قطعنا عليها الطريق .
لكن ...
المشكلة كما ذكرناها سابقا فيه بعض السكريبت scriptات وخاصة المجلات والمنتديات لا تعمل بعض خصائصها في حالة تم تفعيل SecFilterScanPOST مثل حفظ القوالب لانها تحتوي على أمر cmd و بعض الأعضاء لا يتمكنون من الدخول في حالة كون الهاش كود code تبعهم يحتوي على كلمات مشفر او حروف ممنوع كتجاور الحروف cmd في الهاش و منها عدم المقدرة على الكتابة باللغة العربية في الصتدوق الماسي ومنها تعلق صندوق الرد السريع وغيرها من المشاكل المترتبة عنها كثيرة جدا كل هذه الحالات وغيرها هي ناتجة عن فلترة الإستعلامات المرسلة من $_POST وبالتالي تم منعها من التنفيذ لكونها لا تتوافق مع القوانين .




في هذه الحالة ليس لدينا حل وخيار ثاني غير الغاء تفعيل SecFilterScanPOST والإكتفاء بفلترة $_GET لحين ظهور mod_security متطور وخالي من هذه الثغرات والأخطاء . وبالتالي السماح لكل من هب ودب من اي استغلال كيف ما كان عن طريق $_POST سواء كان شيلات وغيرها وطبعا في هذه الحالة المستضيف ليس مسؤولا عن أي اختراق لاي موقع يتم عن طريق الشيل المسؤولية كل المسؤولية على صاحب الموقع في أمن موقعه والمستضيف مسؤول وعلى عاتقه مسؤولية الحماية من الشيلات ومنعها من قراءة ملفات السيرفر SERVER الخاصة وبالتالي الوصول إلى الحسابات الاخرى اللي على السيرفر SERVER وكذلك تنبيه العميل بوجود شيلات مرفوعة على استضافته .

أمل أن تكون الصورة واضحة للجميع

أما فيما يخص تركيب install mod security فينصح بشدة تركيب installه عن طريق plugin في لوحة تحكم السيرفر SERVER WHM وقبل ذلك يجب ازالة أي اصدار مركب بطريقة مخالفة واعادة تركيب installه كما ذكرنا أما فيما يخص بعض القوانين فينصح بتركيب install قوانين gotroot العامة ولا ينصح بتركيب install كل الأنواع لانها تسبب في ارتفاع اللود عن طريق httpd إلا في حالة السيرفر SERVERات الكبيرة التي تتوفر على مواصفات عالية .

هذه بعض القوانين :
http://www.gotroot.com/downloads/ftp.../rootkits.conf (http://www.gotroot.com/downloads/ftp/mod_security/rootkits.conf)
http://www.gotroot.com/downloads/ftp...he1/rules.conf (http://www.gotroot.com/downloads/ftp/mod_security/apache1/rules.conf)

نرجو من الجميع اللي عندهم معرفة في الموضوع التفاعل واعطاء حلول بحيث يكون هذا الموضوع مرجعا بخصوص هذه المشكلة

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




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى