LINUX.ORG.RU
ФорумAdmin

fail2ban настройка


0

1

сделал такую настройку

[http-get-dos]
enabled = true   
port = http
filter = http-get-dos
logpath = /var/www/u/data/logs/*.access.log
maxretry = 12   
findtime = 10   
bantime = 3600
action = iptables[name=HTTP, port=http, protocol=tcp]
# Fail2Ban configuration file
#
# Author: http://www.go2linux.org
#
[Definition]

# Option: failregex
# Note: This regex will match any GET entry in your logs, so basically all valid and not valid entries are a match.
# You should set up in the jail.conf file, the maxretry and findtime carefully in order to avoid false positives.

failregex = ^<HOST> -.*\"(GET|POST).*\.html

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
#ignoreregex = ^<HOST> -.*\"(GET|POST).*Googlebot

проблема- когда я обновляю сайт примерно 1 раз в 2 секунды то после 5 рефреша меня банит. подозреваю что при запросе страницы также запрашиваются скрипты и картинки и это все логируется и на основании этого идет бан.

я прописал в правилах

failregex = ^<HOST> -.*\"(GET|POST).*\.html
чтобы проверять только запросы html файлов но похоже это не работает

проверь свой фильтр
fail2ban-regex <logfile> <filterfile>
даст понятие о том какие строки и как часто появляются.

такая схема отлова ботов кажется мне не самой лучшей, fail2ban не самый шустрый инструмент, особенно при большой нагрузке и очень быстро растущих лог файлах.
ну и представь как раздуются правила iptables при реальной атаке.

более быстрым и главное реально работающими будут лимиты на nginx и последующая обработка лога ошибок с поиском блокированных по лимитам хостов, который обычно растет не так быстро. такую схему реализовывал, правда с привлечением ipset с устаревающими записями.
http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html
http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html

fr_butch ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.