На главную
DevOps и серверы
Генератор fail2ban
Собирает jail.local и, если нужно, свой фильтр — с проверкой регулярки прямо на строке лога: видно, совпало ли и какой адрес попадёт в бан.
Что защищаем
Пороги
Свой адрес в «не банить» стоит вписать первым делом: fail2ban не отличает вас от перебора, если вы трижды ошиблись паролем.
Свой фильтр
Проверка на строке лога
Совпадение есть. Под бан попадёт адрес:
203.0.113.7
Проверка идёт в браузере по правилам JavaScript. Сам fail2ban использует Python — на простых регулярках поведение совпадает, но перед боем стоит прогнать fail2ban-regex по настоящему логу.
jail.local
[DEFAULT] bantime = 1h findtime = 10m maxretry = 5 backend = systemd ignoreip = 127.0.0.1/8 ::1 bantime.increment = true bantime.factor = 2 bantime.maxtime = 7d [sshd] enabled = true filter = sshd port = ssh
Установка и проверка
sudo install -m 644 jail.local /etc/fail2ban/jail.local fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf # сухой прогон по настоящему логу sudo systemctl reload fail2ban sudo fail2ban-client status sshd sudo fail2ban-client set sshd unbanip 203.0.113.7 # разбанить