Fail2Ban: automatisches System zur Erkennung und Verhinderung von Systemeinbrüchen

Fail2Ban: automatisches System zur Erkennung und Verhinderung von Systemeinbrüchen

Fail2Ban ist eine verbreitete Linux-Sicherheitssoftware, die durch die Überwachung und Analyse von Log-Dateien des Betriebssystems und von Anwendungen unerlaubte Zugriffe verhindert. Mit Fail2Ban können Angriffe von Hackern und insbesondere Brute-Force-Angriffe mit wenig Aufwand und effektiv unterbunden werden.

Fail2ban auf den datamate-Servern

Auf dem Home Server Homie und Small Business Server Fellow ist Fail2ban standardmäßig installiert, um die unerlaubten Anmeldung per SSH zu vermeiden und den Zugriff via Cockpit und die anderen Serverdienste abzusichern. Bei wiederholten nicht-erfolgreichen Zugriffsversuchen sperrt (englisch “banned”) Fail2Ban die IP-Adresse des anfragenden Rechners und verhindert weitere Zugriffe. Fail2Ban lässt sich im Cockpit individuelle konfigurieren und arbeitet unauffällig im Hintergrund.

Funktionsweise von Fail2Ban

Fail2Ban ist eine in Python geschriebene Software zur Vorbeugung von Einbrüchen auf Linux-Servern. Fail2Ban überwacht die Logdateien des Servers und fahndet nach sich wiederholenden Einträgen, die auf fehlgeschlagene Zugriffsversuche hindeuten. Wenn Fail2Ban wiederholte, nicht-authentifizierte Zugriffsversuche erkennt, dann erzeugt Fail2Ban eine Firewallregel, die die entsprechende IP blockiert und weiteren Datenverkehr unterbindet. Die Frequenz der nicht-erfolgreichen Zugriffe, d.h. Anzahl und überwachte Periode, lassen sich individuell einstellen. Nach einer konfigurierbaren Sperrfrist wird die Firewallregel wieder entfernt. Zugriffe von der bisher geblockten IP-Adresse sind dann wieder möglich.

Fail2Ban ist ein Dienst, der unauffäulig im Hintergrund läuft und der auf praktisch allen Linux-Server Systemen ohne Schwierigkeiten installiert werden kann oder bereits in der Grundinstallation enthalten ist. Mit der Installation liefert Fail2Ban bereits vordefinierte “Filter” (d.h. Suchregeln zum Durchsuchen der Log-Dateien) für Apache, nginx, sshd, roundcube und viele andere populäre Dienste. Filter werden durch einen oder mehrere reguläre Ausdrücke definiert, die auch als Vorlage für die Definition eigener Filter dienen. Dank des guten Manuals von Fail2Ban ist dies mit geringem Aufwand möglich.

Eine valide Alternative zu Fail2Ban ist OSSEC, das sehr umfangreiche Funktionen und eine gute Dokumentation bietet. Gegenüber Fail2Ban ist es weniger verbreitet und kann auch nicht direkt aus den offiziellen Paketquellen installiert werden. Weitere Programme mit ähnlichen Funktionen zu Fail2Ban sind Denyhosts und Stockade, welche jedoch beide seit einigen Jahren nicht mehr gepflegt werden.

Anwendungsfälle von Fail2Ban

Immer wieder ließt man von davon, dass häufig genutzte Softwareprodukte wie z.B. das weit verbreitete Blogging-Tool WordPress massiven Angriffen unterliegt. So ein Angriff ist dabei für einen böswilligen Hacker denkbar einfach. Die Angreifer durchsuchen automatisiert oder manuell das Internet nach WordPress-Blogs. Sobald sie so einen Blog gefunden haben, starten Sie eine sogenannte Brute-Force-Attacke, bei der innerhalb von kürzester Zeit tausende von Passwörtern durchprobiert werden. Der Angreifer hofft dabei, dass ein schwaches Passwort für den Adminbenutzer gewählt wurde.

Üblicherweise wird von Sicherheitsexperten empfohlen ein langes und zufälliges Passwort zu verwenden, um sich vor Brute-Force Angriffe zu schützen. Doch Fail2Ban bietet eine viel sinnvollere Lösung. Wieso die bösen Jungs dazu animieren sich an meinem schweren Passwort die Zähne auszubeißen und vielleicht sogar deren Ergeiz zu wecken? Stattdessen kann man auch mit Fail2Ban den Zugriff zu dem Adminbereich des eigenen WordPress-Blogs automatisch für die IP-Adresse des Angreifers sperren. Der Angreifer probiert einige wenige Passwörter aus und das System ist (nur für ihn) nicht mehr erreichbar. Alle anderen Besucher können weiterhin die spannenden Beiträge des Blogs lesen.

Doch Fail2Ban schützt nicht nur WordPress-Blogs. Man kann mit geringem Aufwand mit Fail2Ban jedes beliebige Programm, jede Webseite oder jeden Dienst auf einem Linux-Server schützen. Man bringt Fail2Ban bei, wie es die entsprechenden Logfiles auszuwerten muss und kann somit diesen Angriffen mit der Brechstange sofort einen Riegel vorschieben. Fail2Ban garantiert zwar keine Sicherheit, aber Brute-Force-Attacke werden wirkungsvoll und mit sofortiger Wirkung unterbunden.

Voraussetzungen für den Einsatz von Fail2Ban

Fail2Ban benötigt lediglich ein installiertes Python (mindestens 2.6 oder 3.2) auf dem Linux-Server. Darüber hinaus hat Fail2Ban keinerlei Abhängigkeiten. Es gibt optionale Pakete, die jedoch keinen Einfluss auf die Schutzwirkung haben, sondern Komfortfunktionen bieten, wie z.B. dem Administrator eine Statusnachricht zukommen zu lassen, wenn eine IP gesperrt wurde.

Fail2Ban – optimaler und unauffälliger Schutz für jeden Linux-Server

Fail2Ban bietet einen einfachen und wirkungsvollen Schutz gegen Brute-Force-Angriffe. Es ist schnell installiert und danke mitgelieferter Filterregeln auch schnell eingerichtet. Ohne großes Aufsehen zu erregen, verrichtet es zuverlässig seinen Dienst im Hintergrund. Fail2Ban sollte auf keinem Linux-Server fehlen.

geschrieben von

Christoph Dyllick-Brenzinger

Christoph ist Gründer und Chefentwickler von datamate. Er ist ein absoluter Linux-Fan und hat schon früh seine Leidenschaft für Technik und Programmierung entdeckt. Seine langjährige Erfahrung als Unternehmensberater spürt man regelmäßig, wenn er nach optimalen Lösungen für die Kunden sucht. Wenn er nicht gerade den Tennisplatz unsicher macht oder bei Overwatch sein Liga-Ranking verbessert, verbringt Christoph seine Freizeit mit seiner Frau und seinen drei Kindern.