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

Fail2ban-regex соответствует из строки, но не из файлов filter.d

Я пытаюсь сопоставить неудачные попытки входа в Wordpress, и я борюсь с конфигурацией fail2ban.

Строки, которые я пытаюсь сопоставить, выглядят так:

116.147.121.40 - - [26/Mar/2020:10:18:24 +0100] "POST /wp-login.php HTTP/1.1" 200 2044 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"

Fail2ban-regex соответствует строкам, только если используется следующим образом:

root@srv1:~# fail2ban-regex -v testlog.log "^<HOST>\s\-\s\-\s.*\s\"POST\s\/wp\-login\.php\sHTTP.*200" | grep Lines
Lines: 10 lines, 0 ignored, 2 matched, 8 missed

Так что это работает, и я получаю несколько совпадений.

Теперь, если я использую это регулярное выражение в своем файле пользовательского фильтра:

root@srv1:~# cat /etc/fail2ban/filter.d/wordpress.conf 

[INCLUDES]
before = common.conf

[Definition]
failregex = ^<HOST>\s\-\s\-\s.*\s\"POST\s\/wp\-login\.php\sHTTP.*200
ignoreregex =

... это просто больше не совпадает:

root@srv1:~# fail2ban-regex -v testlog.log /etc/fail2ban/filter.d/wordpress.conf | grep Lines
Lines: 10 lines, 0 ignored, 0 matched, 10 missed