fail2ban beobachtet Logdateien und sperrt IP-Adressen, die verdächtige Muster erzeugen — typischerweise fehlgeschlagene Anmeldeversuche. So schützt es Brute-Force-Angriffe vor SSH, Webanwendungen und Mail-Servern automatisch.
Installation und Dienst
sudo apt install fail2ban # Debian/Ubuntu
sudo dnf install fail2ban # RHEL/Fedora
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban
Jails konfigurieren
Die Grundeinstellungen liegen in /etc/fail2ban/jail.conf und werden nicht angefasst. Eigene Anpassungen gehören in /etc/fail2ban/jail.local:
[sshd]
enabled = true
bantime = 3600
findtime = 600
maxretry = 5
ignoreip = 127.0.0.1/8
maxretry Fehlversuche innerhalb von findtime Sekunden führen zu einer Sperre von bantime Sekunden. Filter und Aktionen liegen unter /etc/fail2ban/filter.d/ und /etc/fail2ban/action.d/.
Status und Verwaltung
sudo fail2ban-client status # aktive Jails
sudo fail2ban-client status sshd # gesperrte IPs und Statistiken
sudo fail2ban-client set sshd banip 203.0.113.5
sudo fail2ban-client set sshd unbanip 203.0.113.5
sudo fail2ban-client reload
Die Sperren setzt fail2ban standardmäßig über iptables/nftables — kombiniert mit ipset-Befehle lassen sich große Adressmengen effizient bannen.
Verwandte Grundlagen: iptables-Befehle und firewalld-Befehle.