Server mit fail2ban absichern

Um den Server mit etwas mehr Security aus zu statten, kann man fail2ban verwenden. Dieses Programm überprüft Logfiles auf fehlerhafte Login-Versuche und sperrt ab einem bestimmten Schwellwert die IP-Adresse des Angreifers in der Linux Firewall iptables. Dies ist zum Beispiel bei dem sshd auf einem Rootserver sehr nützlich, da dort täglich massenhaft versuche gestartet werden sich am Server an zu melden.

Die Installation auf einem Debian basiertem System ist sehr einfach. Auf anderen Distributionen ist die Installation recht ähnlich.

aptitude install fail2ban -y

Hiermit wird fail2ban mit allen benötigten Abhängigkeiten installiert. Damit ist die Standarteinstellung, welchen bereits den sshd absichert aktiv.

Ich habe die Einstellungen hierfür gerne etwas restriktiver. Gemäß der Dokumentation sollte man seine Einstellungen in einer eigenen Datei pflegen:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Damit erstellt man eine eigene Datei, in der man die Konfiguration für sich anpassen kann. Ich setze den Wert für „maxretry“ immer noch niedriger, welcher den Schwellwert für fehlerhafte Loginversuche darstellt, ab wann eine IP-Adresse gesperrt werden soll.


[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Diesen Code-Block kann man auch für andere Dienste, etwa einen FTP-Server (wer verwendet das noch?) oder den Apache mit mod_auth verwenden. Viele sind schon in der Konfigurationsdatei vorgesehen. Diese müssen nur noch aktiviert werden („enabled = true“).

Die dauer einer Sperrung legt der Wert „bantime“ fest. Diesen gibt es global als Standartwert, man kann ihn aber auch individuell für ein Programm setzen. Beispielsweise den sshd, dazu einfach den Wert im ssh Block mit aufnehmen.

Nach Änderungen an der Konfigurations datei, muss der Dienst natürlich neu gestartet werden:

/etc/init.d/fail2ban restart

Von der funktionsfähigkeit kann man sich meist recht schnell in der Log-Datei /var/log/fail2ban.log überzeugen. Aber vorsicht, man kann sich selber auch vom System aussperren!