SSH-Server mit Fail2Ban ein wenig absichern

Avatar von Christoph Langner

2 Min. Lesezeit

31 Aufrufe

Ein SSH-Server im Netz lädt zu Brute-Force-Versuchen ein. Fail2Ban liest die auth.log mit und sperrt zu neugierige IP-Adressen per iptables aus.

Keyboard Code

Hat man einen SSH-Server installiert und ist dieser auch vom Internet aus zu erreichen, so hat man eventuell ein mulmiges Gefühl bezüglich der Sicherheit. Den Dienst an sich zu missbrauchen ist schwer möglich. Aber gerade an einem Rechner mit mehreren Benutzeraccounts hat man nicht die volle Kontrolle, so dass eventuell schwache Passwörter von Dritten genutzt werden.

So wäre es in der Theorie möglich, durch einen Brute-Force-Angriff einen Account mit einem gültigen Passwort zu treffen. Denn der SSH-Server selber ist sehr geduldig mit einem Angreifer. Dieser könnte über Stunden, Tage oder gar Wochen hinweg immer und immer wieder Accountnamen und Passwörter wiederholt austesten.

Hier kommt der kleine Dienst Fail2Ban ins Spiel. Versucht sich jemand per SSH einzuloggen und misslingt dieser Versuch, so trägt sshd – also der SSH-Server – dieses Ereignis in die Logdatei /var/log/auth.log ein.

Oct 14 20:13:11 knecht sshd[25218]: Failed password for root from 192.168.0.251 
port 43101 ssh2

Fail2Ban überwacht nun die auth.log im Hintergrund und blockiert den Zugriff zum SSH-Server über iptables, falls der Zugriff per SSH über eine IP wiederholt scheitert. In der Datei /var/log/fail2ban.log protokolliert Fail2Ban das Ereignis mit …

2006-10-14 20:13:12,132 INFO: SSH: 192.168.0.251 has 5 login failure(s). Banned.
2006-10-14 20:13:12,132 WARNING: SSH: Ban 192.168.0.251

Fail2Ban ist in den Ubuntu-Paketquellen (universe) vorhanden und kann direkt installiert werden. Hat man das Paket installiert, können über die Konfigurationsdatei /etc/fail2ban.conf noch Einstellungen vorgenommen werden. Aber eigentlich ist die Standardkonfiguration ausreichend. Hat man die fail2ban.conf geändert, so muss man den Dienst mit…

$ sudo /etc/init.d/fail2ban restart

…neu starten, damit die Änderungen eingelesen werden. Der Dienst ist gleich nach der Installation des Paketes aktiv und blockiert nach dem fünften vergeblichen Versuch einer IP, sich einzuloggen, den Zugriff dieser IP zum SSH-Server.

Ähnliche Beiträge

9 Kommentare zu „SSH-Server mit Fail2Ban ein wenig absichern“

  1. Avatar von Naggy

    Auch denyhosts ist ein sehr schönes Skript zum Blocken.

    Was aber bei mir am meisten geholfen hat ist das ändern des ports auf dem SSH lauscht.

  2. Avatar von SSH absichern

    Ich hab in meinem Blog das selbe Thema angesprochen allerdings wie man einen dummy User einrichtet und dann mit su auf root welchsel kann.

  3. Avatar von Jeffrey

    Ich nutze dazu auch DenyHosts.
    Ganz praktisch und sehr einfach zu konfigurieren 🙂

    1. Avatar von Christoph

      Ja, DenyHosts geht natürlich auch, aber nicht „dynamisch“. D.h. du musst selber merken, dass von einer IP aus Schindluder getrieben wird.

      1. Avatar von Jeffrey

        So wie ich das sehe ist es sehr wohl dynamisch 🙂

        Man kann über die Config bestimmten, dass eine IP beispielsweise nach 5 falschen SSH-Login Versuchen in die /etc/hosts.deny eingetragen wird.

  4. Avatar von Hendrik1

    Arbeitet fail2ban mit ufw zusammen oder brauche ich eine andere Firewall als die standard Ubuntu Firewall?

    1. Avatar von Christoph

      Jede ordentliche Firewall in Linux setzt nur iptables. Letztendlich ist ufw nur ein leichter bedienbares für ufw. Von daher, ja natürlich klappt das mit ufw.

  5. Avatar von

    Danke für den klasse Tipp. Mal sehen obs auch wirklich hilft?

    Danke
    ANO

  6. Avatar von xuedi

    12 Jahre spaeter ist der Artikel nicht so gut gealtert ^^

    fail2ban hatte 2 kritische Sicherheitsluecken durch manipulierte usernames (fail2ban text logparser)

    Besser ist einfach passwoerter (und root login) auszuschalten und nur key auth zuzulassen, da koennen angreifer dann ihre hundert milliarden versuchen machen ^_^

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Sicherheitsabfrage: Welches Logo ist das?

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Scene Composer in Aktion: Ein Screenshot wird geladen, in verschiedene 3D-Szenen wie Café, Gaming-Desktop, Homeoffice und Podcast-Studio eingesetzt, gedreht und gezoomt. Anschließend wird eine Vorschau gerendert.

Ich finde Screenshots als Aufmacher oft langweilig. In der Vergangenheit habe ich daher oft den Bildschirm im wahrsten Sinne des Wortes abfotografiert. Das bringt etwas Leben in die Artikel –…

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — SSH-Server mit Fail2Ban ein wenig absichern
https://linuxundich.de/gnu-linux/ssh-server-mit-fail2ban-ein-wenig-absichern/ — gedruckt am 26. September 2026