SSH на публичном IP получает перебор паролей с первых минут после старта — fail2ban читает логи (/var/log/auth.log, journald) через filter, находит совпадения по regex и банит IP через iptables/nftables/firewalld на время bantime.
jail.local — конфиг поверх дефолтов (jail.conf не трогать, апдейты пакета его перезапишут): [sshd] enabled = true, maxretry = 3 — попыток до бана, findtime = 10m — окно, в котором они считаются, bantime = 1h — срок бана (-1 — навсегда).
fail2ban-client status sshd покажет текущие забаненные IP и статистику; fail2ban-client set sshd unbanip 1.2.3.4 снимает бан вручную — полезно, когда банишь сам себя с нового IP и теряешь доступ по SSH.
#linux
