Я установил fail2ban и пытаюсь настроить его для блокировки IP-адресов, которые появляются в определенном сообщении, которое появляется в системном журнале. Сообщение в системном журнале:
racoon: ERROR: Invalid exchange type 243 from 103.14.62.181[11950]
Обычно каждое сообщение имеет свой IP-адрес, и номер в скобках (порт?) Также отличается. Похоже, я могу создать собственный фильтр, выполнив следующие действия:
racoon: ERROR: Invalid exchange type 243 from <HOST>
Но у меня вопрос, могу ли я остановиться на этом и сделать свое дело с помощью fail2ban, или мне нужно указать что-то вроде этого:
racoon: ERROR: Invalid exchange type 243 from <HOST>[IDONTKNOWWHATGOESHERE]
Если мне нужно указать что-то вроде приведенного выше, какой эффективный подстановочный знак должен появиться в скобках? Документация fail2ban об OpenVPN (ближайший пример) показывает это:
http://www.fail2ban.org/wiki/index.php/OpenVPN
* <HOST>:[0-9]{4,5} Connection reset, restarting \[[0-9]{1,2}\]
Похоже, они используют [0-9] {4,5} в качестве подстановочного знака для номера порта. Сработает ли это в моем случае или нет?
Я совершенно не согласен с моим примером для своего фильтра?
Конечная цель здесь состоит в том, чтобы все, что не удается с ошибкой обмена 243, было добавлено в таблицы IP с флагом DROP. У меня могут возникнуть дополнительные вопросы о моем фильтре и о том, что нет, после того, как я получу ответ на первый вопрос.
Да, вы можете остановиться на этом, и fail2ban сделает это. Вы можете проверить это с помощью fail2ban-регулярное выражение (1) утилита. Резюме
fail2ban-regex [OPTIONS] <LOG> <REGEX> [IGNOREREGEX]
поэтому, используя проделанную вами работу (обратите внимание, что мне пришлось добавить дату и время в начало предоставленной вами записи в журнале, иначе она жалуется.)
fail2ban-regex "Mar 3 07:36:19 racoon: ERROR: Invalid exchange type 243 from 103.14.62.181[11950]" "racoon: ERROR: Invalid exchange type 243 from <HOST>"
Running tests
=============
Use regex line : racoon: ERROR: Invalid exchange type 243 from <HOST>
Use single line: Mar 3 07:36:19 racoon: ERROR: Invalid exchange ty...
Matched time template MONTH Day Hour:Minute:Second
Got time using template MONTH Day Hour:Minute:Second
Results
=======
Failregex: 1 total
|- #) [# of hits] regular expression
| 1) [1] racoon: ERROR: Invalid exchange type 243 from <HOST>
`-
Ignoreregex: 0 total
Summary
=======
Addresses found:
[1]
103.14.62.181 (Mon Mar 03 07:36:19 2014)
Date template hits:
2 hit(s): MONTH Day Hour:Minute:Second
Success, the total number of match is 1