Назад | Перейти на главную страницу

fail2ban-regex <host> фильтр пропущен</host>

быстрый вопрос относительно проблемы с регулярным выражением фильтра 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 не работает.

  1. У тебя нет <HOST> в строке failregex.

    Заменить * в конце вашей строки failregex на <HOST>. Это сообщит fail2ban, что часть строки файла журнала представляет IP-адрес для блокировки.

  2. Ваше регулярное выражение неверно.

    Заменить

    ^\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>$