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

Настройка альтернативной тюрьмы в fail2ban для ручного использования

У меня есть экземпляр fail2ban, который работает хорошо.

Но я также люблю иногда проверять журналы вручную и пытаться идентифицировать системные зонды, которые работают с моими стандартными определениями f2b.

Я ищу, как я могу определить тюрьму, которая будет длиться длительный период времени, которую я могу вручную использовать в такой команде:

fail2ban-client set $JAIL banip $IP

Может ли кто-нибудь дать мне синтаксис для указания пользовательской тюрьмы в файле конфигурации, которая на самом деле не запускается из файлов журнала (или это может быть стандартная тюрьма, у которой есть какое-то условие, которое может не привести к ее фактическому срабатыванию), который я могу использовать в заявление вручную? Что я хочу сделать, так это иметь гораздо более длительный период блокировки для ручных запретов, которые я идентифицирую лично при просмотре журналов.

Вот как я это сделал ..

Я добавил это в jail.local:

[manban]
enabled  = true
filter   = manban
action   = iptables[name=HTTP, port="80,443,110,995,25,465,143,585,993,587,21,22", protocol=tcp]
logpath  = /var/log/manban.log
maxretry = 1
# 1 month
bantime  = 2592000
findtime = 3600

Затем я добавил файл /etc/fail2ban/filter.d/manban.conf:

[Definition]
failregex = ^\[\w{1,3}.\w{1,3}.\d{1,2}.\d{1,2}:\d{1,2}:\d{1,2} \d{1,4}. \[error] \[client.<HOST>].File does not exist:.{1,40}roundcube.{1,200}
ignoreregex =

Я скопировал протокол другого фильтра, но указал ему на несуществующий файл, а затем создал фиктивный файл:

touch /var/log/manban.log

затем запустите команду:

fail2ban-client reload

Теперь, чтобы вручную заблокировать IP-адрес на один месяц, введите:

fail2ban-client set manban banip <IP>

Это сработало.

Теперь есть клиенты, которые «узнают» ваше время блокировки fail2ban и автоматически настраивают свои системные зонды, чтобы их не забанили. Но если посмотреть журналы, становится очевидно, что это системные пробы. Вы можете испортить их системы, создав чрезвычайно длительные периоды запрета. Вы также можете написать сценарий, который мог бы сбрасывать IP-адреса, соответствующие определенным критериям, в ваш специальный журнал запретов и блокировать их с помощью fail2ban на длительный период времени.

Почему бы не использовать пустой фильтр? Вот мой /etc/fail2ban/filter.d/manual.conf

[Definition]
failregex=
ignoreregex=

А затем /etc/fail2ban/jail.d/manual.conf

[manual]
enabled = true
port = http,https
action = iptables-multiport[name=manual, port="http,https", protocol=tcp]
bantime = 9999999999999999

А потом после быстрого fail2ban-client reloadЯ могу просто

fail2ban-client set manual banip <IP>