Здравствуйте! Имеется fail2ban по соседству с zimbra. Повадились неприятные личности ходить, хочу банить таких.
Кусок лога ngnix.log для понимания:
2019/05/08 07:06:34 [error] 3683#0: *111054 An error occurred in mail zmauth: user not found:vinzavod-s@domain.ru while SSL handshaking to lookup handler, client: 197.210.130.186:51366 using starttls, server: 0.0.0.0:143, login: «vinzavod-s@domain.ru»
Соответственно в jail.conf я добавил следующее:
[zimbratest]
enabled = true
filter = zimbra
logpath = /opt/zimbra/log/ngnix.log
bantime = 3600
maxretry = 4
В zimbratest.conf я добавил вот такое выражение:
failregex = \[error\] \d+#\d+: \*\d+ An error occurred in mail zmauth: user not found:?(\S+).*client: <HOST>.*server:? (\S+), login:? \"(\S+)\"
И он не отрабатывает.
Естественно я тестировал это через regex101 , можно посмотреть вот тут https://regex101.com/r/Wumis5/2
естественно там есть различие с приводимым примером в client: . так как fail2ban нужен <HOST>, без него не пашет.
Когда я перепробовал все варианты я попытался добавить в zimbratest.conf следующее выражение :
failregex = .*client: <HOST>.*
и он все равно ничего не находит. Честно сказать я в тупике
Тестирую я через:
fail2ban-regex /opt/zimbra/ngnix.log ".*client: <HOST>.*" -v --print-all-missed
или
fail2ban-regex /opt/zimbra/ngnix.log /etc/fail2ban/filter.d/zimbratest.conf -v --print-all-missed
И получаю на выходе Lines: 1 lines, 0 ignored, 0 matched, 1 missed
|- Missed line(s):
| /opt/zimbra/ngnix.log
Чтобы я не делал, я всегда получаю 1 lines, 0 ignored, 0 matched, 1 missed
Помогите пожалуйста составитель регулярное выражение, я определенно делаю что-то не так, но мои идеи закончились.