Я давно работаю с регулярными выражениями F2B.Тем не менее, новый тип проверки моего VPS сводит меня с ума, поскольку регулярное выражение F2B не перехватывает эти записи журнала.
Записи журнала (которые пропущены):
| Oct 25 09:58:34 localhost sshd[17381]: Disconnecting invalid user admin 185.246.128.25 port 22937: Change of username or service not allowed: (admin,ssh-connection) -> (root,ssh-connection) [preauth]
| Oct 25 09:59:02 localhost sshd[17385]: Disconnecting authenticating user root 185.246.128.25 port 33103: Change of username or service not allowed: (root,ssh-connection) -> (,ssh-connection) [preauth]
Регулярное выражение F2B (в файле sshd.conf):
^Disconnecting (?:authenticating|invalid) user .+ <HOST>%(__on_port_opt)s: .*%(__suff)s$
Это регулярное выражение прекрасно работает в каждом онлайн-инструменте регулярных выражений (regex101, debuggex и т. Д.), Но когда я проверяю его в своем журналес помощью:
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf --print-all-missed > missed.txt
он пропускает все эти строки.
Я пробовал несколько вариантов и вариантов, но пока не смог найти рабочего решения для этого.Пожалуйста, помогите найти рабочее решение, если это не какая-то ошибка.Спасибо.
Обновление 1 : Вот, например, простейшая форма, которая также не работает: https://regex101.com/r/evQkT1/1
Обновление 2 : Это полностьюстранно и начинает выглядеть как ошибка для изучения, но я заменил стандартный тег <HOST>
на \d+\.\d+\.\d+\.\d+
и фильтр начал работать ...