Защита Apache от DOS

Я использую прямо mod_evasive Apache, поэтому я могу уменьшить вероятность DOS. Проблема, с которой я столкнулся, заключалась в том, что приложение за обратным прокси-сервером (которым является наш серверный apache) очень слабое и разработано так, что одна страница загружает 200 файлов (css, js и т. Д.). Поэтому, когда я использую сценарий вроде https://github.com/rohitchormale/hulk/blob/master/hulk.py , Мне удалось убить приложение, потому что сценарий генерирует множество уникальных URI для атаки, и потому что я был обязан разрешать более 300 страниц (* 10 возможных клиентов, имеющих одинаковый IP-адрес) в секунду.

Итак, решение, которое я подумал about вносит ip в черный список, когда он получает ошибку 404 за одну секунду. Возможно ли это сделать?

0
задан 10 November 2016 в 12:14
1 ответ

Как предположил Свен в своем комментарии, Fail2ban допускает такое поведение, анализируя журналы Apache. Итак, позвольте мне напомнить вам мою цель: запретить пользователю доступ к моему серверу, если он вызвал определенное количество ошибок 404 или любую другую ошибку. Вот что я сделал в своих настройках:

В /etc/fail2ban/jail.conf:

[http-error-dos]  
enabled = true
port = http,https
filter = http-error-dos
logpath = /var/log/httpd/*acces*log #change it to put your path
maxretry = 20
findtime = 100
bantime = 600  #ban for 10 minutes
action = iptables[name=HTTP, port=http, protocol=tcp]

In /etc/fail2ban/filter.d/http-error-dos.conf:

# Fail2Ban configuration file
failregex = <HOST>.* HTTP/.*\" [13456789][1023456789]{2,2}.*

Убедитесь, что вы изменили failregex в зависимости от формата вашего журнала.

0
ответ дан 24 November 2019 в 05:27

Теги

Похожие вопросы