Der Dienst „fail2ban“ überwacht log-Dateien über misslungene login-Versuche und und blockiert dann den Host durch einen temporären Eintrag in den Firewall-Regelsatz (default: 10 Minuten Dauer). Das Debian-Paket hat nach Installation einen Regesatz (jail) von fail2ban für ssh voreingestellt.
z.B. Auszug aus der log-Datei /var/log/auth.log
bei fehlgeschlagenem ssh-login:
... Mar 01:01:07 server sshd[5641]: error: PAM: authentication failure for root from din123.abc9.ka.dtag.de ...
Installation des Pakets (insgesamt 6 Pakete incl. python-Pakete). Dienst wird dabei auch gestartet:
# aptitude install fail2ban
Konfiguration-Pfad: /etc/fail2ban/
Die Bezeichnung für den Regelsatz eines zu überwachenden Dienstes ist „Jail“.
Befehle:
# fail2ban-client reload # fail2ban-client status ... Number of jail: 1 Jail list: ssh ...
Der Regelsatz für ssh ist voreingestellt in /etc/fail2ban/jail.conf
:
... [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 ...
In dieser Datei kann man auch die „default-action“ abändern, so dass noch zusätzlich eine email versendet wird. Dazu muss man die Kommentarzeichen vor der gewünschten „action“ entfernen. Achtung: die Datei jail.conf
wird bei einem update ggf. überschrieben, es wird empofohlen die Datei jail.local
zu benutzen (siehe HowTo zu fail2ban). Ggf. muss auch noch der Befehl „whois“ nachinstalliert werden. Ebenso muss das mail-Versenden auf dem Server funktionieren.
... destemail = admin@zuhause.de ... action = iptables [ ... mail-whois [ ... ...
Die log-Datei von fail2ban /var/log/fail2ban.log
kann zum Test permanent überwacht werden durch:
# tail -f /var/log/fail2ban.log
Falls fail2ban zuschlägt erhält man dann in der log-Datei eine Zeile:
2014-01-01 17:00 fail2ban.actions: WARNING [ssh] Ban 97.12.34.56
Falls in /var/log/auth.log
keine Authentifizierungs-Einträge erscheinen, kann man folgende Einstellungen überprüfen:
Datei: /etc/ssh/sshd_config
... SyslogFacility AUTH LogLevel INFO ...
Datei: /etc/rsyslog.d/50-default.conf
... auth,authpriv.* /var/log/auth.log ...
In der Datei /etc/rsyslog.conf
gibt es folgende Option:
$RepeatedMsgReduction on
Dadurch erzeugen u.U. mehrere Login-Fehlversuche nur einen Eintrag in der Log-Datei. Ein Abschalten der Option mit „off“ vergrößert natürlich für alle log-Eintrage den Aufwand des Systems.