Mit Fail2Ban steht ein in Python geschriebenes Intrusion Prevention System (Framework zur Vorbeugung gegen Einbrüche) zur Verfügung, welches verschiedene Serverdienste gegen unbefugten Zugriff absichern kann. Fail2Ban analysiert Log-Dateien, die von Anwendungen und das Betriebssystem erzeugen werden. Erkennt Fail2Ban durch bestimmte Muster einen unberechtigten Zugriff, so kann die IP des Angreifers für einen gewissen Zeitraum gesperrt werden. Dadurch kann das Fluten des Servers mit bösartigen Verbindungsversuchen verhindert werden.
Um Fail2Ban zu installieren und einzurichten, müssen folgende Schritte ausgeführt werden
1. Zuerst muss sich ein Benutzer an das System (direkt oder per SSH) einloggen. Es wird ein Benutzer benötigt, der Admin-Rechte besitzt oder sich die Berechtigung durch den sudo Befehl geben kann.
2. Über das Paketmanagement-System kann Fail2Ban leicht mit folgendem Befehl installiert werden.
sudo apt-get install fail2ban
3. Jetzt sollte Fail2Ban noch eingerichtet werden. Die Datei mit der Standardkonfiguration findet man normalerweiße unter „/etc/fail2ban/jail.conf“. Diese Datei sollte aber nicht angepasst werden, da diese bei einem Update überschrieben werden kann. Um dies zu vermeiden, wird eine eigene „lokale“ Konfigurationsdatei angelegt.
Dazu muss einfach folgender Befehl ausgeführt werden.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
4. Nun kann die Konfigurationsdatei mit einem Texteditor geöffnet und angepasst werden.
sudo nano /etc/fail2ban/jail.local
Konfiguration
Die Standardkonfiguration enthält bereits einige Regeln, die sogenannten Jails. Diese enthalten Filter, die durch reguläre Ausdrücke definiert werden. Diese können selbstverständlich noch erweitert werden.
Es ist zu empfehlen, dass beim Parameter „ignoreip“ die IP-Adresse des eigenen Computers oder die des internen Netzwerkes eingetragen wird. Somit wird verhindert, dass man von Fail2Ban versehentlich ausgesperrt wird.
Beispiel:
ignoreip = 127.0.0.1/8 192.168.1.0/24 206.156.25.46
5. Damit die Anpassungen an der Konfiguration übernommen werden, muss Fail2Ban mit folgendem Befehl neu gestartet werden.
sudo /etc/init.d/fail2ban restart
Log-Dateien
Die Log-Datei für Fail2Ban kann z. B. mit diesem Befehl angezeigt werden.
sudo tail -f /var/log/fail2ban.log
Wurde für einen bestimmten Jail (z. B. für SSH) eine Logdatei definiert, so kann diese mit diesem Befehl angezeigt werden.
sudo cat /var/log/auth.log | more