Модуль 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