Я пытаюсь сопоставить неудачные попытки входа в 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