Рейтинг:0

Регулярное выражение фильтра Fail2ban

флаг in

я использую centos8 +fail2ban + haproxy

У меня есть специальный джейл "my-haproxy404" с такими настройками:

[мой-хапрокси404]
включено = верно
порт = http,https
фильтр = мой-haproxy404
logpath = /var/log/my-haproxy.log
серверная часть = опросчик
журналматч =
максимальная попытка = 3
бантайм = 86400
время нахождения = 3600

и фильтр:

[Определение]
failregex = .*:<HOST>(?::\d+)?\s+.*\d* 404

мой пример строки журнала:

19 сентября, 14:38:21 -- 1/1/0/0/0 0/0 "GET /test/string HTTP/1.1"

Итак, ... может быть, это работает, но в fail2ban.log я вижу IP-адрес, например:

ИНФОРМАЦИЯ [my-haproxy404] Найдено 0.0.217.211 - 2021-09-19 14:38:21

это не настоящий IP (настоящий IP: 77.77.77.77), fail2ban заблокировал этот IP-адрес (0.0.217.211) .... но (77.77.77.77) все еще работает

я знаю, что у меня проблема с регулярным выражением

можете ли вы помочь мне с правильным правилом регулярного выражения для этой строки 404

19 сентября, 14:38:21

С Уважением

Рейтинг:0
флаг il
failregex = ^\s*\S+ haproxy\[\d+\]: <ADDR>:\d+(?: \[[^\]]+\])? \S+ \S+ \d+(?:/\d+)+ 404\b

вы также можете заменить 404\б с (?!401)[45]\д\д\б чтобы соответствовать любому "плохому" коду 4хх и 5хх исключая 401 (нужны некоторые предварительные требования для правильного рассмотрения рукопожатий авторизации, и есть фильтр haproxy-http-auth что можно использовать для этого)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.