fail2ban читает логи и автоматически добавляет временные правила в iptables/nftables, когда видит подозрительную активность.

Установить и включить:

apt install fail2ban
systemctl enable --now fail2ban

Создать /etc/fail2ban/jail.local (не редактировать jail.conf — он перезаписывается при обновлении):

[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
backend  = systemd

[sshd]
enabled = true

[nginx-http-auth]
enabled  = true
logpath  = /var/log/nginx/error.log

Перечитать конфиг и проверить статус:

fail2ban-client reload
fail2ban-client status sshd

Разбанить IP вручную:

fail2ban-client set sshd unbanip 1.2.3.4

Посмотреть список заблокированных:

fail2ban-client banned

#linux #ssh #nginx #безопасность #sysadmin