**Все команды в статье выполняются от рута
Первым делом установим fail2ban.
apt-get install fail2ban
Создаем конфигурационный файл с регулярным выражением, для определения несанкционированых попыток логина в Postfixadmin.
nano /etc/fail2ban/filter.d/nginx-postfixadmin-login.conf
Вставляем:
# FAIL2BAN CONFIGURATION FILE # # [Definition] failregex = ^.*PostfixAdmin login failed.*client: <HOST>.*
Проверить до приминения этот фильтр можно с помощью команды
fail2ban-regex /var/log/nginx/error.log /etc/fail2ban/filter.d/nginx-postfixadmin-login.conf regex_to_ignore
Открываем конфиг jail.conf
nano /etc/fail2ban/jail.conf
Находим строки:
# # JAILS #
и после втсавляем
[postfixadmin-login] enabled = true port = http,https filter = nginx-postfixadmin-login logpath = /var/log/nginx/error.log maxretry = 1
enabled — Активировать/Деактивировать правило
port — фильтруемый протокол (80/443)
filter — имя конфигурационного файла созданого ранее без окончания(.conf)
logpath — путь к лог файлу
maxretry — максимальное количество попыток
Сохраняем и перезагружаем fail2ban
/etc/init.d/fail2ban restart
Проверка забаненых ip.
iptables -L -n
Все файлы указаные в статье можно скачать из GitHub репозитория.
Успехов.