Фильтр fail2ban-regex <HOST> отсутствует

Быстрый вопрос относительно проблемы с регулярным выражением фильтра fail2ban У меня есть шаблон журнала:

2018-02-06 07: 40: 20,954 fail2ban.actions [26058]: УВЕДОМЛЕНИЕ [postfix-sasl] Ban 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]: УВЕДОМЛЕНИЕ [([az])\w+-([az])\w+] Ban *

Пока не повезло. fail2ban-regex перечислил пропущенную строку

Я уверен, что это простая ошибка где-то посередине.

Любая помощь приветствуется

1 ответ

Я не уверен, почему вы хотели бы заблокировать 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>$
    
Другие вопросы по тегам