Назад | Перейти на главную страницу

Регулярное выражение Fail2ban не соответствует после того, как сайт переместился за балансировщик нагрузки

Я установил fail2ban с nginx, и он работает, пока я не переместил его за балансировщик нагрузки. Bcoz после перемещения за балансировщик нагрузки я обнаружил, что в журналах отображаются 2 IP-адреса. Я хочу, чтобы fail2ban обнаружил первый IP-адрес и заблокировал его в соответствии с правилом. Ниже приводится образец записи журнала:

46.229.168.138, 64.252.86.102 - - [08/Jul/2020:10:55:08 +0530] "GET /telangana/%E0%B0%B0%E0%B0%BE%E0%B0%B7%E0%B1%8D%E0%B0%9F%E0%B1%8D%E0%B0%B0%E0%B0%82%E0%B0%B2%E0%B1%8B-%E0%B0%85%E0%B0%A6%E0%B1%8D%E0%B0%AD%E0%B1%81%E0%B0%A4%E0%B0%AE%E0%B1%88%E0%B0%A8-%E0%B0%AE%E0%B0%BE%E0%B0%B0/ HTTP/1.1" 200 18082 "-" "Amazon CloudFront"

Мой фильтр fail2ban:

[Definition]
failregex = <HOST> - - .*(POST|GET) .* HTTP.* 403 .*$
ignoreregex =

И моя тюрьма fail2ban:

[httpd-forbidden]
enabled = true
filter = httpd-forbidden
logpath = /var/log/nginx/example.com_custom.access.log
bantime = 1800
findtime = 300
maxretry = 50
port = 80,443
banaction = iptables-multiport

Пожалуйста, помогите исправить регулярное выражение fail2ban.

Это должно сработать в вашем случае, если первый ip-адрес требует запрета

[Definition]
failregex = ^<HOST>,.*"(POST|HEAD|GET|PUT).*HTTP.*" 403 .*$