طريقة تركيب mod_evasive v1.10.1 للحد من هجمات HTTP DoS و DDoS attack

ENG MUHAMED

[ADMIN]
طاقم الإدارة
25 فبراير 2008
10,079
43
48
support-ar.net
طريقة تركيب mod_evasive v1.10.1 للحد من هجمات HTTP DoS و DDoS attack

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



ماهو ال mod_evasive ؟ :
هو عبارة عن موديول للتصدى لهجمات ال ddos و dos و flood بيتم تركيبة على apache web server

ماهى وظيفة ال mod_evasive ؟ :
وظيفة هذا الموديول انة يقوم بعمل حماية من هجمات الفلود ,والساين اتاك وبعض هجمات الدى دوس
http flood, and DDos attack

وايضا الحد من استهلاك الترافيك الاكثر من اللازم

كيف يعمل ال mod_evasive ؟ :

يتم عمل كاش للاى بى ادريس التى تقوم بعمل ريكويست على السيرفر ويتم عمل بلوك لاى بى معين اذا قام بعمل اتصال لصفحة معينة اكثر من مرة فى

عدد معين من الثوانى حسب اعداداتك
او عمل اكثر من 50 اتصال لنفس الشئ فى الثانية ايضا حسب اعداداتك


الجيد فى هذا الموديول انة متوافق مع جميع برامج الفايروول وايضا يمكنة العمل بمفردة دون الحاجة لفايرول ولاكن الغرض من الفايروول تدعيم الموديول

برولز معينة مثل الايبيهات التى توجد فى البلوك لست من قبل
يتفاداها الموديول تلقائيا وبالتالى لا يقوم بسحب ريسورس من السيرفر .

الجيد ايضا انك يمكنك عمل بلوك لرنج معين من الايبيهات عن طريق هذا الموديول ايضا ولاكن لابد من توافر apf على السيرفر


كيفية تركيب الموديول

يمكنك تركيب الموديول على apache1 و apach2

طبعا حسب خبرتك او امكانياتك التقنية اختر ما ما يناسبك من بين الاقواس 💘

رابط التحميل للسورس
كود:
http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
اولا كيفية التركيب على APACHE v1.3.x عن طريق السورس
كود:
wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz

tar -zxvf mod_evasive_1.10.1.tar.gz

cd mod_evasive
الان تذهب لمجلد تركيب الاباتشى

وتقوم بكتابة هذا الامر

كود:
/usr/local/apache/bin/apxs -iac mod_evasive.c
بعد ذلك قم بعمل اعادة تشغيل للاباتشى
كود:
/etc/init.d/httpd restart
الان تم اضافة الموديول لك على الاباتشى

افتح الان ملف الاعدادات للاباتشى على هذا المسار

كود:
/usr/local/apache/conf/httpd.conf
وراح تجد ان الموديول موجود بالملف على النحو التالى

كود:
LoadModule evasive_module   modules/mod_evasive.so
الان ضع هذه الاعدادات باى مكان بالملف

كود:
<IfModule mod_evasive.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
</IfModule>
هذه هى اعدادات الموديول وسيتم شرح كل متغير منها على حدا



الان نتطرق لكيفية تركيب الموديول على APACHE v2.0.X

نفس طريقة سحب الملف وفك الضغط واحدة

الان طريقة التركيب تختلف

قم بكتابة هذا الامر

كود:
/usr/local/apache/bin/apxs -i -a -c mod_evasive20.c
بعد ذلك قم بعمل اعادة تشغيل للاباتشى
كود:
/etc/init.d/httpd restart
افتح ايضا الان ملف اعدادات الاباتشى ستجد انة تم اضافة المديول على النحو التالى

كود:
LoadModule evasive20_module   modules/mod_evasive20.so
قم باضافة هذه الاعدادات باى مكان

كود:
<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
</IfModule>
بذلك نكون قد انتهينا من تركيب الموديول على اباتشى 1 و 2

وكيفية اضافة الاعدادات

الان نتطرق لشرح هذه الاعدادات نفسها وكيف يمكننا التحكم بها
هنا الاحتراف
وليس التركيب هو الاحتراف والحماية
هذه الاعدادات الافتراضية وهى لا تناسبنا كعرف ابدا

الان نشرح هذه المتغيرات وكيفية التحكم بها


اولا : DOSHashTableSize

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

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

هى


ثانيا : DOSPageCount
عدد الريكويست للصفحة الواحدة فى عدد معين من الثوانى يتم تحديدها فى قيمة "DOSPageInterval" بالثانية
اذا تعدى عدد الريكويست اكثر من المحدد فى هذه القيمة بيتم اضافة الاى بى للبلوك ليست تلقائيا حسب المدة المحددة للبلوك

ثالثا : DOSSiteCount
عدد الريكويست للموقع الواحد نفسة بمعنى اذا قمت بعمل ريكويست اكثر من ريكوسيت للموقع الواحد " الموقع ككل وليس صفحة معينة " فى عدد

ثوانى المحددة فى القيمة "DOSSiteInterval" سيتم اضافتك فى البلوك ليست تلقائيا

رابعا : DOSPageInterval
وهى عدد الثوانى المحددة لكمية الاتصال بصفحة واحدة المحددة فى قيمة dospafecount

خامسا : DOSSiteInterval
عدد الثوانى المحددة لكمية الاتصال بموقع معين المحدد فى قيمة dossitecount

سادسا : DOSBlockingPeriod
عدد الثوانى التى يتم حجم الاى بى فيها وخلال هذه المدة يظهر للزائر صفحة خطأ 403 (Forbidden) ويقوم الموديول بعمل ريسيت عند انتهاء مدة البلوك



اضافة اخرى للاعدادات :

يمكنك اضافة هذه السطور للاعدادات


كود:
DOSEmailNotify    you@yourdomain.com
DOSWhitelist    127.0.0.1
DOSSystemCommand "/sbin/iptables -A INPUT -s %s -j DROP"
DOSSystemCommand "/usr/local/sbin/apf -d %s"
السطر الاول مكان البريد هذا بريدك وسيتم ابلاغك فورا بكل عملية بلوك مع اخبارك بالوقت والتاريخ والاى بى الذى تم عمل بلوك لة



السطر الثانى يمكنك اضافة ايبيهات معينة لمنع الموديول من عمل بلوك لها مثل ال safe list
يمكنك تكرار السطر طبعا اذا كان لديك اكثر من اى بى تريد وضعة فى ال safe list
او يمكنك وضع رينج كامل باستبدال اخر خانة من خانات الاى بى بعلامة *
هكذا
كود:
DOSWhitelist    127.0.0.*
السطر الثالث يقوم الموديول باستعمال رولز الiptables
السطر الرابع يقوم الموديول باستعمال رولز ال apf



تم عمل سكربت ليقوم بعملية تركيب الموديول وازالتة بدون اى مشكلة

يقوم بتركيبة على اباشتى 1 واباتشى 2 ويقوم بعملية الازالة من السيرفر

ملحوظة هامة : عملية الازالة لا تعمل الا على طريقة التركيب التى يقوم بها السكربت نفسة
اذا كنت مركب الموديول من قبل احذفة مانوال

للتحميل
http://m7mod.com/geek/src/mod_evasive.sh

اسحب الملف

wget http://m7mod.com/geek/src/mod_evasive.sh
وقم بتشغيلة

./mod_evasive.sh


صورة من السكربت

ArbShaRe-14770326.jpg


تحياتى واتمنى ان يكون الموضوع مفيد

نقلا عن الاخ MR_MAMI