Fail2Ban: Login-Schutz für Linux-Server (2024)

Mit wenigen Handgriffen kannst Du Deinen Server vor fremden Logins schützen. So machst Du es Angreifern schwer, Deinen zu Server zu kapern und für schützt ihn somit vor Missbrauch. Wir zeigen Dir, wie Du mit dem kostenlosen Tool Fail2Ban und ein paar Hilfsmitteln ohne große Fachkenntnis Deinen Linux-Server absicherst.

So wirst Du angegriffen

Botnetze arbeiten rund um die Uhr und greifen ständig unzählige Server an, um sie zu übernehmen und dann für sich arbeiten zu lassen. Die häufigsten Angriffe sind Login-Versuche bei Servern mit dem Nutzernamen „root“ und einem Passwort aus einen Passwort-Wörterbuch. Bei so genannten Brute-Force-Attacken probieren Bots schlichtweg Passwörter aus. Auf diese Weise versuchen Angreifer sich rund um die Uhr im Sekundentakt einzuloggen: bis zu 86.400 Mal pro Tag. Wenn die Attacke in der Zeit nicht gelingt, dann wird sie Tag für Tag fortgesetzt. Und jeden Tag steigt die Wahrscheinlichkeit, dass der Einbruch klappt

Das Schlimmste kommt aber erst noch: nicht nur ein Angreifer versucht die Attacke, sondern meist 10, 20, 30 oder mehr gleichzeitig. Das Resultat: der Server verbraucht mehr und mehr Leistung für die Login-Abfragen und die Webseite wird dadurch immer langsamer.

Fail2Ban: Login-Schutz für Linux-Server (1)

Fail2Ban schickt Angreifer in die Wüste

Mit dem kostenlosen Tool Fail2Ban blockst Du nicht nur falsche Login-Versuche. Du sperrst die Angreifer auch gleich für Stunden, Tage oder Monate aus. Das geht so: das Programm Fail2Ban läuft auf Deinem Server und liest die Log-Datei in Echtzeit mit. Jede IP-Adresse, die sich mehrfach falsch einloggt, kann sich dann für ein paar Stunden oder Tage gar nicht mehr anmelden. Tausende Login-Versuche sind somit unterbunden. Und selbst wenn die Angreifer mit der gleichen IP-Adresse wieder auftauchen, haben sie nur einzelne Versuche und sind wieder gebannt.

Nutze einfach Gratis-Tools!

Alles, was Du für eine Abwehr benötigst, sind die kostenlosen Tools WinSCP und Fail2Ban. Wir sagen Dir im unten stehenden Abschnitt, wie Du an WinSCP kommst. Fail2Ban besorgt sich Dein Server selbst. Du musst dazu nur einen kurzen Befehl eingeben. Auch dazu gleich mehr.

Dein Server hat bereits eine Plesk-Oberfläche?

STRATO stellt Dir den Fail2Ban-Service in Plesk bereit. Du musst ihn nur noch aktivieren. Wie einfach das geht, kannst Du in unserem FAQ-Artikel Plesk 12: das Fail2Ban Modul einrichten nachlesen. Das Fail2Ban-Modul ist bei Dir schon aktiviert? Dann kannst Du in dem Artikel gleich zum Punkt Konfiguration des Fail2Ban-Moduls springen.

So nutzt Du Fail2ban auf einem Linux-Server ohne Plesk

Für die schnellste und einfachste Installation ohne weitere Linux-Kenntnisse benutzt Du am besten das Windows-Tool WinSCP mit der Zusatz-Software PuTTY, welche Dir eine Kommandozeile samt Administratorenrechten zur Verfügung stellt. Du kennst das Tool noch nicht? Alles zum Programm WinSCP kannst Du in dem Artikel WinSCP: Das starke Windows-Tool für den Zugriff auf Linux-Server nachlesen.

Fail2Ban installieren

Starte das Windows-Tool WinSCP und verbinde Dich mit Deinem Server. Für die Fail2Ban-Installation musst Du PuTTY öffnen (Befehle → In PuTTY öffnen). Dort gibst Du noch einmal Dein Server-Passwort manuell ein.

Fail2Ban: Login-Schutz für Linux-Server (2)

Gib den folgenden Befehl in der Kommandozeile ein, wenn auf Deinem Server Ubuntu oder Debian läuft:

sudo apt-get install fail2ban

Wenn Du auf Deinem Server openSUSE nutzt, dann lautet der Befehl:

sudo zypper install fail2ban

Wenn Du auf Deinem Server CentOS nutzt, dann lautet der Befehl:

yum install fail2ban

Drücke Return, um die Installation zu starten. Zur Installation muss das System meist noch ein paar Python-Pakete installieren. Du musst dafür aber nichts weiter machen als mit einem großen J und Return zu bestätigen. Nach etwa einer Minute ist alles automatisch installiert.

Nun beende in WinSCP die Verbindung zu Deinem Server und stelle sie erneut her. Das muss sein, da Du sonst ein paar aktualisierte Verzeichnisse nicht angezeigt bekommst. Im Moment sind nur zwei Verzeichnisse auf dem Server wichtig:

<root>var/log: darin liegen die Log-Dateien Deines Servers
<root>etc/fail2ban: darin liegen alle Programmdateien von Fail2ban

Stelle Dir nun in WinSCP auf der linken Seite ein Arbeitsverzeichnis Deines PCs ein. Danach gehst Du im rechten Fenster in das Fail2Ban-Verzeichnis, klickst mit rechter Maustaste die Datei jail.conf an und wählst Herunterladen. Der Hintergrund: In der Datei jail.conf stecken alle möglichen Einstellungen für Fail2Ban. Aber sie funktioniert nur, wenn man sie bearbeitet, umbenennt in jail.local und zurückkopiert. Sie ist so eine Art Vorlage-Datei.

Fail2Ban: Login-Schutz für Linux-Server (3)

Nenne die Datei in jail.local um (mit der F2-Taste). Danach reicht ein Doppelklick, um die Datei im internen Editor von WinSCP zu bearbeiten. In der Textdatei stehen viele Konfigurationszeilen. Die meisten sind Kommentare. Das erkennst Du am vorgestellten #-Zeichen. Ganz unten in der Statuszeile des Editors siehst Du, wie viele Zeilen die Datei hat und in welcher Zeile gerade Dein Cursor steht. Hier unsere Vorschläge, was Du ändern solltest:

Zeile 59: Ändere die Bantime = 600 (Sekunden) auf den Wert 1209600. Das entspricht einer Bannzeit für fremde Server von 14 Tagen. Du kannst hier beliebige Werte nutzen.

Zeile 66: Ändere den Wert für maxretry = 5 auf 3. Hierbei handelt es sich um die gezählten Login-Versuche einer IP-Adresse.

Zeile 216: Diese Zeile ist leer. Trage hier ein enabled = true. Das bedeutet, dass der Abschnitt [sshd,] der für die Root-Login-Versuche zuständig ist, nun überwacht wird.

Dann speichere die Datei jail.local und kopiere sie wieder auf den Server in das Verzeichnis <root>etc/fail2ban.

Jetzt öffnest Du mit Befehle-> In PuTTY öffnen ein Fenster mit der Kommandozeile und gibst Dein Root-Passwort ein. Trage den Befehl service fail2ban reload ein und drücke Return. Falls Du eine Fehlermeldung bekommst, gib service fail2ban start ein. Falls Du den Service mal stoppen musst oder willst, dann nutze service fail2ban stop. Den aktuellen Stand des Service kann Du immer in der Datei fail2ban.log unter <root>var/log nachlesen. Ein Doppelklick auf die Datei reicht.

Nur für CentOS-Nutzer: Hier lauten die Befehle fail2ban-client start, fail2ban-client stop und fail2ban-client reload.

Ab sofort blockt Fail2Ban für Dich alle IP-Adressen, die mehr als drei Mal versuchen sich als Root-Nutzer einzuloggen. Je nachdem, welche Services Du noch installiert hast, kannst Du diese in der jail.local aktivieren. Hier bieten sich zum Beispiel der FTP- oder der Mail-Server-Zugang an. Dazu fügst Du einfach direkt nach dem entsprechenden Eintrag in der jail.local (bei [proftpd] oder [postfix]) die neue Zeile enabled = true ein.

Fail2Ban: Login-Schutz für Linux-Server (4)

Du kannst Dir auch alle Vorgänge von Fail2Ban per E-Mail zukommen lassen. Dafür musst Du in jail.local zwei Einträge ändern:

Zeile 129: Ändere den Eintrag destemail = root@localhost in die gewünschte E-Mail-Adresse, etwa destemail = name@meineDomain.de.

Zeile 204: Dort steht nur action = %(action_)s. Das bedeutet, dass nur falsche Login-Versuche geblockt und in der Log-Datei notiert werden. Ändere den Eintrag in action = %(action_mwl)s. Nun bekommst Du zu jedem falschen Login in einer Mail nicht nur die IP-Adresse genannt, sondern auch noch weitere Angaben zu dem Server, Betreiber und aus welchem Land er kommt.

Und nicht vergessen: Nach jeder Änderung in der jail.local musst Du die Datei wieder auf den Server übertragen und abschließend im Terminalfenster von PuTTY den Befehl service fail2ban reload abschicken (bei CentOS lautet der Befehl fail2ban-client reload).

Du hast dich selbst ausgesperrt?

Falls Du selbst einmal das Passwort zu oft falsch eingegeben hast, dann bist Du, bzw. Deine IP-Adresse, natürlich auch für die voreingestellte Zeitspanne gesperrt. In diesem Fall kannst Du auch einfach Deinen Router neu starten. Dann bekommst Du von Deinem Provider eine neue IP-Adresse.

Hast Du eine feste IP-Adresse, dann solltest Du diese gleich bei der Einrichtung von Fail2Ban von einer Sperrung ausnehmen. Dazu musst Du nur in der jail.local in der Zeile 50 Deine zusätzlich IP-Adresse eintragen: ignoreip = 127.0.0.1/8 001.002.003.004. Zwischen den beiden IP-Adressen muss ein Leerzeichen sein!

Hast Du das zu Beginn vergessen, kannst Du Dich zur Not mit einem anonymen Proxy-Server einloggen. Durch das Tool bekommst Du eine IP-Adresse geliehen, kannst Dich einloggen und Deine Änderungen in der jail.local machen. Nutze am besten das kostenlose CyberGhost in der Basisversion.

Mehr Infos zu Fail2Ban

Es gibt ein sehr umfangreiches, englischsprachiges Wiki zu Fail2ban. Weniger umfangreich, aber in deutscher Sprache gibt es auch eine kleine Untersektion des Wikis. Weiterhin findest Du auf der Seite www.blocklist.de viele Statistiken und weitere Services zu Fail2Ban die besonders für den Server-Einsatz geeignet sind.

Fail2Ban: Login-Schutz für Linux-Server (2024)

References

Top Articles
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 6248

Rating: 4.2 / 5 (63 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.