Я хотел бы добавить конкретный список IP-адресов, для которых я хотел бы получить электронное письмо от Fail2ban после того, как они сделают пару запросов «GET».
Шаблон, который следует искать в журналах доступа apache, - ^ 1.2.3.4 -. * $, Но fail2ban-regex не работает (и я не могу винить это), говоря:
Не удается удалить регулярное выражение. Индекс 0 недействителен Нет группы узлов в ^ 1.2.3.4 -. * $
Могу ли я как-то установить переменную "HOST" в пользовательских фильтрах / тюрьмах?
Регулярное выражение должно иметь группировку (круглые скобки) для IP-адреса, поэтому fail2ban знает какой IP забанить:
В каждой строке failregex часть, которая соответствует имени хоста или IP-адресу, должна быть заключена в
(?P<host> ... )
бутерброд. Это специфичное для Python расширение регулярных выражений, которое присваивает содержимое совпадения имени<host>
. В<host>
Тег - это то, как вы сообщаете fail2ban, какой хост подключается, поэтому он должен присутствовать в каждой строке failregex. В противном случае fail2ban выдаст сообщение об ошибке «Нет группы хоста».
В вашем случае ваше регулярное выражение должно быть
^(?P<host>1.2.3.4) - .*$