تركيب تطبيق mod_evasive لحماية خادم الويب من الهجمات المتكررة


السلام عليكم

كثيرا ما يجد مدير السيرفر نفسه اما مشكلة غريبة و عويصة ، و هي أن المواقع او الموقع لا يفتح ، و السيرفر في حالة جيدة ، يعني لا وجود للود و لا استهلاك للموارد العالية ، و يحير أمره أمام موقف لا يحسد عليه

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

netstat -n --tcp --udp --numeric-hosts | grep -v 10.0.0.1 | grep -v 127.0.0.1 | awk '{if (/(tcp|udp)/) { print $5 }}' | sed 's/:.*//' | sort | uniq -c | awk '{ if ($1 > 25) { print $2 "#" $1; }}'


يكون الناتج مثلا

41.140.104.120#29
41.140.140.128#33
41.140.107.150#47
41.140.81.140#102



هذا يبين لنا وجود هجمات من تلك الابيات باتصالات كبيرة جدا ، فالحل يكون هنا تركيب موديل و تطبيق mod evasive الذي يساعد على كبح هجمات من نوع (HTTP, DDoS attack and brute force attack) . و الطريقة كما يلي :

1 - تحميل برنامج الموديل في اخر اصداره .

wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz


2- فط الضغط عن الملف

tar xfz mod_evasive_1.10.1.tar.gz


3 - الدخول للمجلد

cd mod_evasive


4 - التثبيت على الأباتشي 2 Apache ، لن اعطي طريقة تركيب على الاباتشي 1.3 لانه قديم و لا انصح و لا أدعوا لاستعماله .

/usr/sbin/apxs -cia mod_evasive20.c


أغلب السيرفرات يعمل معها المار السابق ، لكن بعض التوزيعات يكون عليها تركيب الامر التالي

/usr/sbin/apxs -cia mod_evasive20.c


أو لمعرفة الرابط الصحيح استخدم الامر التالي

type apxs


5 - النتيجة ، نجاح التركيب .

----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/apache/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/apache/modules/mod_evasive20.so
[activating module `evasive20' in /usr/local/apache/conf/httpd.conf]


6 - إضافة الإعدادات لملف httpd.conf

pico /usr/local/apache/conf/httpd.conf


نضيف الاعدادات التالية كباشرة بعض حقوق إضافة الموديلات


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


نحفظ التعديلات كما العادة cntr+x ، و نعيد تشغيل الاباتشي

/etc/init.d/httpd restart


اتمنى أن اكون قد وفقت في الشرح ، و تحياتي لكم .