Всем доброе время суток!
Прошу помощи в поиске ошибки в самописном правиле для Fail2ban. Суть проблемы: имеется DNS сервер Unbound, так вышло что ему надо торчать в интернет. С недавнего времени стали ломиться на DNS с левыми запросами, в логах вижу вот такое:
Apr 04 01:01:25 unbound[20735:0] info: 177.0.0.177 sl. ANY IN
Решил прикрутить Fail2ban для решения этой проблемы, написал правило, но - оно не работает. Вот само правило:
Правило Fail2ban
[Definition]
_daemon = unbound
failregex = unbound: (.*) info: <HOST> .* ANY IN
unbound: (.*) info: <HOST> sl.* ANY IN
unbound: (.*) info: <HOST> .* VERSION\.BIND\. TXT CH
unbound: (.*) info: <HOST> .* version\.bind\. TXT CH
ignoreregex =
При проверке правила получаю вот такое:
fail2ban-regex /var/log/unbound.log unbound
Running tests
=============
Use failregex filter file : unbound, basedir: /etc/fail2ban
Use log file : /var/log/unbound.log
Use encoding : UTF-8
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [23575] {^LN-BEG}(?:DAY )?MON Day %k:Minute:Second(?:\.Microseconds)?(?: ExYear)?
`-
Lines: 23575 lines, 0 ignored, 0 matched, 23575 missed
Понимаю, что Fail2ban не может переварить формат даты, но вот тут я не могу победить. Пробовал передавать такой формат даты:
fail2ban-regex -d «%b %d %H:%M:%S» /var/log/unbound.log unbound
но неудачно:
fail2ban-regex -d "%b %d %H:%M:%S" /var/log/unbound.log unbound
Running tests
=============
Use datepattern : MON Day 24hour:Minute:Second
Use failregex filter file : unbound, basedir: /etc/fail2ban
Use log file : /var/log/unbound.log
Use encoding : UTF-8
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [23575] MON Day 24hour:Minute:Second
`-
Lines: 23575 lines, 0 ignored, 0 matched, 23575 missed
Прошу помощи разобраться с правилом.