Модуль libapache2-mod-evasive может помочь защитится веб-серверу Apache от от атак медленного чтения, а так же некоторых других направленных атак.
Установка в Linux Ubuntu/Debian:
sudo apt-get install libapache2-mod-evasive
Откроем стандартный или создадим файл конфигурации:
sudo nano /etc/apache2/mods-available/evasive.conf
Пример содержимого:
<IfModule mod_evasive20.c> #Размер таблицы адресов DOSHashTableSize 4096 #Количество одновременно открытых одинаковых страниц сайта для каждого хоста в интервал времени DOSPageCount 5 #Количество открытых страниц сайта для каждого хоста в интервал времени DOSSiteCount 50 #Интервал времени для DOSPageCount в секундах DOSPageInterval 1 #Интервал времени для DOSSiteCount в секундах DOSSiteInterval 1 #Период блокировки хоста в секундах DOSBlockingPeriod 10 #Файл логов DOSLogDir /var/log/mod_evasive.log #Email для уведомлений о блокировке DOSEmailNotify test@example.com #Можно выполнить команду #DOSSystemCommand "su - someuser -c '/sbin/... %s ...'" #Список адресов для которых не будут работать ограничения DOSWhitelist 127.0.0.1 DOSWhitelist 192.168.1.1 </IfModule>
Активируем модуль:
sudo a2enmod mod-evasive
Перезагружаем apache:
/etc/init.d/apache2 restart
Проверяем (должно отобразится evasive20_module (shared)):
sudo apachectl -t -D DUMP_MODULES|grep evasive
Выполняем стандартный скрипт для проверки:
perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl