Confronting With DDOS - جلوگیری از حملات


اگر این تعداد بیش از حد معمول بود شما باید به حمله شک کنید و آی پی مورد نظر رو از دستور اول پیدا کنید. حال که آیپی رو پیدا کردیم به راحتی می توانیم در Iptable یا فایروال خودتون قرار بدین و از این طریق دسترسی اون آی پی رو به سرور ببندین و باعث جلوگیری از حمله DDos اون فرد بشین...

فرمان های بستن یک آی پی به وسیله آی پی تیبل :

iptables -A INPUT 1 -s IPADRESS -j DROP/REJECT

service iptables restart

service iptables save



به جای IPADRESS آی پی مورد نظر رو وارد میکنین.

سپس تمامی اتصالات به آپاچی رو Kill میکنین و آپاچی رو رستارت می کنین


killall -KILL httpd

service httpd startssl

یه راه دیگه هم هستش...
البته این ماژول که روی اپاچی نصب میشه ۱۰۰ درصد کافی نیست و البته در بعضی مواقع باعث از کار افتادن front page روی سرور میشه .
این ماژول که روی apache نصب میشه از ارسال تعداد زیاد request های ناخواسته به webserver جلوگیری می کنه . این تنظیماتی که من اینجا نوشتم از حملات DOS برای 10 دقیقه برای هر ip جلوگیری می کنه توجه داشته باشید وارد کردن عدد بالا به جای این 10 دقیقه ممکنه باعث بشه بعضی از کاربران هم واقعا attacker نیستند جلوشون گرفته بشه .
اگر نسخه Apache 1.3.x دارید :



command-----
cd /usr/local/src
wget http://www.zdziarski.com/projects/mo..._1.10.1.tar.gz
tar -zxf mod_evasive_1.10.1.tar.gz
cd mod_evasive
/usr/local/apache/bin/apxs -cia mod_evasive.c
-----command-----

اگر نسخه ی Apache 2.0.x دارید:

-----command-----
up2date -i httpd-devel
cd /usr/local/src
wget http://www.zdziarski.com/projects/mo..._1.10.1.tar.gz
tar -zxf mod_evasive_1.10.1.tar.gz
cd mod_evasive
/usr/sbin/apxs -cia mod_evasive20.c
-----command-----


حالا باید این ماژول رو در تنظمیات apache تون اضافه کنید و تنظیمات لازمش رو انجام بدید : (برای apache 1.3.x )


DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600


از نوشته هاش کاملا مشخصه که هر parametr برای چی استفاده شده.
تنضیمات httpd.conf برای نسخه ی apache 2.0.x (توجه داشته باشید نسخه رو درست انتخاب کنید)


DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600


بعد از وارد کردن تنظیمات فوق فایل httpd.conf رو ذخیره کنید و وب سرور رو با دستور service httpd restart ری استارت کنید .
* اگر خواستید که هر وقت یک ip بسته میشه برای شما alert میل کنه این خط رو به تنظیمات فوق اضافه می کنید : DOSEmailNotify root که به جای root می تونید ادرس ایمیلتون رو وارد کنید .
قابل ذکرکه این ماژول از طریق /usr/bin میل میزنه حالا اگر دستور میل شما جای دیگه هست باید یه sybmlink برای اونجا بسازیر که ایمیل ها به دستتون برسه