الرئيسية > أمن المعلومات > تحسين قوانين المود سكيورتي لتقليل الضغط على الخادم

تحسين قوانين المود سكيورتي لتقليل الضغط على الخادم

ModSec

ModSec

مرحبا, في الفترة الماضية كنت اعمل على اعداد قوانين للمود سيكورتي, وبعد الانتهاء منها بدأت بمرحلة الاختبار والتنقيح. وفي اثناء تنفيذ بعض الاختبارات الصعبة لاحظت ان الطلب او ال Request يتأخر او يعتبر من الطلبات الثقيلة على الـ Apache.

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

مثال اول: لنفرض اننا لدينا القوانين التالية

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
START
 
SecRule REQUEST_URI "\phpshell"
SecRule REQUEST_URI "\commander\.php\?&cmd"
SecRule REQUEST_URI "\r00r\.php\?&cmd=chmod"
SecRule REQUEST_URI "\lolshell\.php\?&cmd=chown"
SecRule REQUEST_URI "\phpshell\.php\?&cmd=ls&d"
SecRule REQUEST_URI "\shell\.php\?&cmd=sql"
SecRule REQUEST_URI "\r00r\.php\?&act=chmod"
SecRule REQUEST_URI "\lolshell\.php\?&act=chown"
SecRule REQUEST_URI "\phpshell\.php\?&act=ls&d"
SecRule REQUEST_URI "\shell\.php\?&act=sql"
SecRule REQUEST_URI "\r00r\.php\?&command=chmod"
SecRule REQUEST_URI "\lolshell\.php\?&command=chown"
SecRule REQUEST_URI "\phpshell\.php\?&command=ls&d"
SecRule REQUEST_URI "\shell\.php\?&command=sql
SecRule REQUEST_URI "\shell11234\.php\?&act"
SecRule REQUEST_URI "\rootshell\.php\?&command"
SecRule ARGS "\shell"
SecRule REQUEST_LINE "/niceshell\.txt"
 
END


الأن لو جمعنا القوانين هذه سوف يكون لدينا 23 قانون. السؤال هنا, كيف نقوم بتحسينا ؟ الجواب هو عن طريق دمج ماسبق بداخل قانون واحد. كتالي

بعد التحسين:

1
2
3
4
5
START
 
SecRule REQUEST_URI|ARGS|REQUEST_LINE "/[A-Za-z0-9]\.(txt|php)\?&(cmd|command|act)=(chmod|chown|ls&d|sql&)"
 
END

مثل ماتلاحظون تم دمج 23 قانون بداخل قانون واحد بإستخدام الريجيكس
ولو اردنا إضافة تفاعل خاص مع القانون هذا, التفاعل يعني Action خاص بالقانون يتم تنفيذة في حالة تطابق ال REQUEST مع ال RULE المعين.

المثال الأخير: بعد إضافة التفاعل الخاص

1
2
3
4
5
6
START
 
SecRule REQUEST_URI|ARGS|REQUEST_LINE "/[A-Za-z0-9]\.(txt|php)\?&(cmd|command|act)=(chmod|chown|ls&d|sql&)" \
        "deny,log,auditlog,msg:'Bad Request',id:'000000',severity:'2'"
 
END

وبهذا نكون اختصارنا 23 قانون بداخل قانون واحد مع إضافة تفاعل خاص مع القانون السابق.
وعند تنفيذ طلب معين سوف يمر على قانون واحد فقط بدل من ان يمر في 23 قاون

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

تحياتي, مصطفى.

VN:F [1.9.3_1094]
Rating: 5.0/5 (2 votes cast)
تحسين قوانين المود سكيورتي لتقليل الضغط على الخادم, 5.0 out of 5 based on 2 ratings
شـاركـهـا:-
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Print
  • Live
  • Reddit
  • Technorati
  • MySpace
  • Yahoo! Buzz
  • LinkedIn
  • Identi.ca
  • Twitter
  1. مارس 6th, 2010 at 08:07 | #1

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

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

    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  2. Mohd
    مارس 6th, 2010 at 17:18 | #2

    يعطيك العافية على الشرح الوافي

    تقبل مروري

    VA:F [1.9.3_1094]
    Rating: +1 (from 1 vote)
  3. احمد ابو المجد
    مارس 6th, 2010 at 17:52 | #3

    شكرا يا مصطفي علي المعلومات الجميله في المدونه هنا ويارب الي الاحسن والافضل

    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  4. محمد
    مارس 7th, 2010 at 18:45 | #4

    شكرا اخي الكريم
    معلومات حلوه
    ممكن تضع لنا رولز كامل وشكرا

    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  5. مهند
    مارس 26th, 2010 at 12:01 | #5

    يعطيك العافية اخي مصطفى لدي طلب ان امكنك تحقيقه هل يوجد لديك قواعد جيدة لموقعي ؟ موقعي عبارة عن منتدى vb4 + مدونتين ورد بريس آخر اصدار +سكربت ترايدنت لرفع الصور هل اجد لديك قواعد لوضعها لدي بالمود سكيوريتي انا نصبته لكن لا خلفية لي بتاتا بالقواعد اذا امكن تزودني بها

    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  6. مارس 29th, 2010 at 17:20 | #6

    الله يعافيكم يااخوان.

    @محمد
    @مهند
    في الحقيقة اعتذر لكم. لايوجد لدي قوانين غير التي اكتبها “لعملي”. على اي حال, هنالك قوانين نجاانية تقدمها المودسيكورتي نفسها وهي جيدة.

    تجدونها على الرابط
    http://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project#tab=Download

    مصطفى.

    VN:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  1. لا يوجد تعقيبات.