НАВИГАЦИЯ

Защита Nginx и Fail2ban: готовые регулярные выражения и фильтры от ботов и брутфорса

Практический справочник готовых правил и фильтров для мгновенной блокировки парсеров, сканеров уязвимостей и брутфорс-атак на Linux-сервере.

1. Базовый конфиг /etc/fail2ban/jail.local

Создайте или добавьте в конец файла jail.local настройки для защиты Nginx от частых повторных запросов (HTTP Flood) и сканеров:

[nginx-req-limit]
enabled  = true
filter   = nginx-req-limit
action   = iptables-multiport[name=ReqLimit, port="http,https", protocol=tcp]
logpath  = /var/log/nginx/access.log
findtime = 60
maxretry = 30
bantime  = 86400

[nginx-bad-bots]
enabled  = true
filter   = nginx-bad-bots
action   = iptables-multiport[name=BadBots, port="http,https", protocol=tcp]
logpath  = /var/log/nginx/access.log
maxretry = 2
bantime  = 604800

2. Фильтры и Регулярные выражения (Regex)

Блокировка сканеров уязвимостей (.env, wp-config, phpmyadmin)

Файл: /etc/fail2ban/filter.d/nginx-scanners.conf

[Definition]
failregex = ^<HOST> -.*"(GET|POST|HEAD) .*\.(env|git|config|phpmyadmin|aws|xmlrpc\.php).* HTTP/.*" (403|404|400)
ignoreregex =

Фильтрация вредоносных User-Agent (Bad Bots)

Файл: /etc/fail2ban/filter.d/nginx-bad-bots.conf

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*"(?:sqlmap|nikto|cyverse|python-requests|curl|wget|go-http-client).*
ignoreregex =

3. Блокировка частых ботов средствами самого Nginx

Если сервер слаб и не хочется нагружать Fail2ban, можно отсекать ботов прямо в `nginx.conf` через модуль map:

map $http_user_agent $bad_bot {
    default 0;
    ~*(360Spider|AhrefsBot|SemrushBot|MJ12bot|Bytespider) 1;
}

server {
    if ($bad_bot = 1) {
        return 444; # Закрывает соединение без ответа
    }
}

Полезные команды управления:

  • fail2ban-client reload — перезапуск конфигурации без разрыва сессий.
  • fail2ban-client status nginx-bad-bots — просмотр текущих заблокированных IP.
  • fail2ban-client set nginx-bad-bots unbanip 1.2.3.4 — разблокировка IP-адреса.

Помощь автору

NICE DAY

Web Studio

Разработка сайтов и IT-решения
Заказать
Быстрая связь