могу подтвердить с регулярное выражение fail2ban ... /etc/fail2ban/filter.d/sshd.local что фильтр находит записи журнала
Фильтр по умолчанию (в режиме нормальный) будет игнорировать его с другим уже доступным RE, который помогает учитывать IP-адрес сеанса (для других сообщений, происходящих в том же сеансе, но без IP-адреса), и он останавливается. первый RE соответствие сообщению. Тогда как fail2ban-regex показывает все совпадающие RE, а также дубликаты.
Так что вы также увидите 20) [88] ... на выходе.
А также Строки: N строк, 88 пропущено, X совпало, Y пропущено.
Чтобы добиться этого правильно (вообще без ваших локальных модификаций):
- любой набор фильтр = %(известный/фильтр)s[publickey=любой]вsshdjail (поскольку ваша версия уже должна его поддерживать, см. https://github.com/fail2ban/fail2ban/discussions/3176#discussioncomment-1768538 для дополнительной информации).
- или просто установить режим = агрессивныйвsshdтюрьма.
Чтобы справиться с этим правильно (с вашими локальными изменениями):
- либо переписать mdre-нормальный-другой, например в jail.local:
[сшд]
filter = %(известный/фильтр)s[mdre-normal-other=""]
failregex = %(известное/failregex)s
            ^Соединение закрыто...
- или напишите свой пользовательский RE перед оригинальным RE... Просто обратите внимание, что в новейших версиях fail2ban их порядок будет изменен (https://github.com/fail2ban/fail2ban/pull/3007):
failregex = ^Соединение закрыто...
            %(известно/ошибочное выражение)s
И не используйте %(__prefix_line)s в отказоустойчивое выражение, потому что он уже обработан в префрегекс, поэтому нужно написать это так:
- ^%(__prefix_line)sСоединение...
+ ^Соединение...