Die bisher erwähnten Konfigurationsdateien liegen im Unterverzeichnis »filter.d
«
, wo sich auch noch eine Reihe weiterer Anwendungen findet. Wenn sie nicht hundertprozentig auf das eigene Betriebssystem zutreffen, muss man sie gegebenenfalls anpassen. Auf der Fail2ban-Site gibt es für einige Services noch spezifische Howto-Dokumente, die weiterhelfen.
Die Haupt-Konfigurationsdatei heißt »jail.conf
«
und enthält viele nützliche Hinweise. So lässt sich mit »ignoreip
«
eine IP-Adresse oder eine ganzes Netz einstellen, das von der Blockade ausgenommen ist, damit sich der Admin nicht versehentlich selbst aussperrt. Außerdem enthält die Datei Default-Einstellungen, die für alle Dienste gelten, solange diese sie nicht überschreiben, etwa:
bantime = 3600 maxretry = 3
Hiermit hat jeder Anwender drei Versuche frei, sein Glück zu versuchen. Das ist recht restriktiv und vielleicht zu restriktiv für viele Situationen. Die »bantime
«
legt in Sekunden fest, wie lange eine IP-Adresse ausgesperrt bleibt.
Auch der Backend-Daemon, der die Logdateien überprüft, lässt sich festlegen. Hier ist »gamin
«
eine gute Wahl, denn hiermit wird Fail2ban über Änderungen unterrichtet und das System somit weniger belastet als durch eine ständige Überprüfung. Laut Fail2ban-Dokumentation ist diese Einstellung auf Fedora- und Red-Hat-Systemen sogar obligatorisch, weil der Logscanner sonst in Konflikt mit SE-Linux gerät.
Im Verzeichnis »actions.d
«
sind schließlich die Maßnahmen aufgeführt, die Fail2ban ergreift. Der Rest der Datei »jails.conf
«
besteht aus jeweils einer kurzen Defintion für den zu überwachenden Dienst, der sich über die Anweisung »enabled
«
ein- und ausschalten lässt:
[sasl] enabled = true port = smtp filter = sasl logpath = /var/log/mail.log
Statt konkrete Gegenmaßnahmen zu starten, kann Fail2ban auch nur einen Trigger auslösen. Die komplette Breitseite feuert dagegen Listing 2 ab, das den mutmaßlichen Angreifer blockiert und eine E-Mail mit den Logdaten und einem Whois-Auszug der IP-Adresse verschickt.
Listing 2
Aktionen: Sperren und Mailen
Die eigentliche Blockade wird von der jeweiligen Firewall-Software ausgeführt, im Beispiel-Fall ist dies Linux-IPTables. In der Datei »/etc/fail2ban/action.d/iptables-multiport.conf
«
finden sich dafür die Einstellungen:
Actionban: actionban = iptables -I fail2ban-Name 1 -s IP -j DROP Actionunban: actionunban = iptables -D fail2ban-Name -s IP -j DROP
Mit der ersten Zeile wird ein Eintrag in der Firewall vorgenommen, der die IP-Adresse »IP
«
sperrt, die aus dem Muster der Failregex stammt.
Fail2ban kann helfen, Brute-Force-Attacken auf alle möglichen Dienste zu verhindern oder zumindest wesentlich zu bremsen. Vorausgesetzt wird vernünftiges Logging des jeweiligen Service und Kenntnisse von Regular Expressions auf Seiten des Administrators. Nach der Installation sollte man gelegentlich einen Blick in »/var/log/fail2ban.log
«
werfen und die Erfolgsquote des neuen Wächters überprüfen. (ofr)
Infos
Ein Update des Intrusion-Prevention-Skripts bringt Benutzern lange gewünschte Features.