Если вам действительно нужен способ «ограничить скорость» одного конкретного IP-адреса и вам нужен модуль Apache для него, то это может быть для вас:
https://wiki.debian.org/en/Apache/mod_evasive
mod_evasive - это модуль, который обнаруживает возможные шаблоны атак в сети, аналогичные IPS (системе предотвращения вторжений).
Базовое объяснение того, что делает IPS прямо здесь .
Чтобы настроить модуль, запустите
sudo apt-get install libapache2-mod-evasive
Затем активируйте модуль с помощью
sudo a2enmod evasive
Проверьте установку, запустив
sudo apachectl -M | grep evasive
Ожидаемый вывод: evasive20_module (shared)
Теперь мы создаем новую папку для нашего модуля apache, чтобы он мог записывать логик нему.
sudo mkdir /var/log/mod_evasive
sudo chown www-data:root /var/log/mod_evasive
Давайте отредактируем конфиг mod_evasive. Я использую nano для этого примера
sudo nano /etc/apache2/mods-available/evasive.conf
Обратите внимание: никогда не редактируйте конфигурацию модуля в / apache2 / mods-enabled / use / apache2 / mods-available / вместо этого. Приведенный выше пример верен.
Это пример конфигурации:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify email@yourdomain.com
DOSSystemCommand "echo +%s > /proc/net/xt_recent/badguys" or block them with iptables "su root -c '/sbin/iptables -A INPUT -s %s -j DROP'" ##command that will be sent to the system - %s = attackers ip
DOSLogDir "/var/log/mod_evasive"
DOSWhitelist 127.0.0.1
</IfModule>
Если вы хотите получать уведомления по электронной почте через sendmail, используйте
sudo ln -s /usr/bin/mail /bin/mail
Наконец, просто перезапустите apache, используя
sudo systemctl restart apache2
Чтобы ограничить модуль одним местоположением, используйте
<Directory /var/www/test/>
<IfModule moduleLimitedToTest>
... do something with module
</IfModule>
</Directory>
Подробнее о том, как использовать контейнеры, можно найти здесь . Вы можете поместить это в конфигурацию сайта / virtualhost. Это объясняется здесь .
Хотя я настоятельно рекомендую то же самое, что и Олаф Кок.