Собственно ДОС и ДДОС атаки проблема практически всех кто предоставляет такую услугу как хостинг и как всегда кому-то не очень понравится какой нить из проетов что размещены у вас на сервере и как всегда мозгов нет чтобы сломать а задосить ето и 5-ти класник может. Вот собственно нашел модуль какой сможет спасти вас от нашествия ДОС и ДДОС атак вместо того чтобы закидать всех негодяев в фаервол (что же ето за хостинг когда тебя пол мира не видит :)).
И так установка mod_evasive для Apache 1.3 и Apache 2.2 в портаx его нету так что нуно качать вот тут.
srv2# wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
srv2# tar xfz mod_evasive_1.10.1.tar.gz
srv2# cd mod_evasive
srv2# whereis apxs
apxs: /usr/local/sbin/apxs /usr/local/man/man8/apxs.8.gz // По умолчанию он тут
srv2# /usr/local/sbin/apxs apxs -i -a -c mod_evasive.c // для Apache 1.3
srv2# /usr/local/sbin/apxs apxs -i -a -c mod_evasive2.c // для Apache 2.2
srv2# rehash
После успешной установки в конфиг апача нужно добавить несколько строк:
В падарок к етому модулю в архиве сразу предоставлен тест для проверки работоспособности модуля. С вот таким содержанием.
#!/usr/bin/perl
# test.pl: small script to test mod_dosevasive's effectiveness
use IO::Socket;
use strict;
for(0..100) {
my($response);
my($SOCKET) = new IO::Socket::INET( Proto => "tcp",
PeerAddr=> "127.0.0.1:80");
if (! defined $SOCKET) { die $!; }
print $SOCKET "GET /?$_ HTTP/1.0\n\n";
$response = <$SOCKET>;
print $response;
close($SOCKET);
}
Только не забудте поставить на него права для запуска chmod +r имя файла. Если после запуска скрипта видим примерно вот такую штуку
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1200 OK
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
HTTP/1.1403 Forbidden
Значит все работает отлично.
P.S. Проверял на Апаче 1,3 первых 5 - 10 минут ДОС атаки держыт дальше Апач всетаки падает. Всетаки Апач дайот ответ на запрос хоть и Forbidden но отвечает. А окончательно проблему возможно решить с ДОС и ДДОС атаками с стандартным фаерволом OpenBSD тоисть PF. Вскоре статья будет дополнена конфигурацией по настройке PF.