быстрый вопрос относительно проблемы с регулярным выражением фильтра fail2ban У меня есть шаблон журнала:
2018-02-06 07: 40: 20,954 fail2ban.actions [26058]: УВЕДОМЛЕНИЕ [postfix-sasl] Запрет 192.168.2.14
Я пытаюсь запретить IP (192.168.2.14) следующим фильтром:
failregex = ^ \ d {4} - \ d {2} - \ d {2} \ d {2}: \ d {2}: \ d {2}, \ d {3} ([az]) \ w + . ([az]) \ w + [\ d]: ПРИМЕЧАНИЕ [([a-z]) \ w + - ([a-z]) \ w +] Ban *
Пока не повезло. fail2ban-regex перечисляет недостающую строку
Я уверен, что это простая ошибка где-то посередине.
Любая помощь приветствуется
Я не уверен, почему вы хотите заблокировать IP-адрес с помощью fail2ban, который уже был заблокирован с помощью fail2ban, но в любом случае ...
Я вижу две проблемы, по которым ваш фильтр fail2ban не работает.
У тебя нет <HOST>
в строке failregex.
Заменить *
в конце вашей строки failregex на <HOST>
. Это сообщит fail2ban, что часть строки файла журнала представляет IP-адрес для блокировки.
Ваше регулярное выражение неверно.
Заменить
^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} ([a-z])\w+.([a-z])\w+ [\d]: NOTICE [([a-z])\w+-([a-z])\w+] Ban <HOST>
по
^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3} \w+\.\w+ \[.*\]: NOTICE \[\w+\-\w+\] Ban <HOST>
или даже проще выразить
^\.* Ban <HOST>$