Linux Tutorials

Erweiterte Systemsicherheit mit Fail2Ban und Blocklist auf Debian

Linux-Systeme sind heutzutage ein häufiges Ziel von Hackerangriffen. Dabei ist es ganz einfach, ein System in gewissen Punkten abzusichern. Das häufigste Angriffsziel ist hier der SSH Zugang auf dem Port 22.

Wer gerne mal in seine Log-Dateien hineinschaut, wird vielleicht einige solcher Einträge gefunden haben:

plocalhost sshd[5571]: Failed password for root from 111.11.111.11 port 35022 ssh2
plocalhost sshd[5571]: Failed password for root from 111.11.111.11 port 35022 ssh2
plocalhost sshd[5571]: Failed password for root from 111.11.111.11 port 35022 ssh2
plocalhost sshd[5571]: Received disconnect from 111.11.111.11: 11:plocalhost sshd[5571]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.11.111.11 user=root

(IP-Adressen und Hostname geändert)

Wie man auffällig bemerkt, versucht jemand auf dem falschen Port eine Verbindung herzustellen (Port 35022). Hierbei handelt es sich um sogenannte „Bots“, welche das Internet nach ungesicherten SSH Ports durchsuchen. Ich gehe hier aber nicht weiter auf diese ein.

Die meisten dieser IPs sind bei Services wie https://www.blocklist.de/ bereits bekannt und können konsequent mit einer Firewall geblockt werden.

1. Vorbereitung

Bevor wir beginnen sorgen wir dafür, dass unser System auf dem neuesten Stand ist.

$ apt-get update && apt-get upgrade

Sollte auf dem System die Firewall IPTables noch nicht installiert sein, so müsst ihr dies auch noch tun.

$ apt-get install iptables
1 2 3Nächste Seite
Tags

Martin Krzeminski

Moin,mein Name ist Martin, bin 23 Jahre alt und komme aus der schönen deutschen Hauptstadt Berlin. Selbst bin Ich gelernter Elektroniker für Betriebstechnik und hobbymäßiger Linux System-Administrator.In meiner Freizeit setze Ich mich viel mit Linux-Systemen auseinander und begegne dementsprechend auch vielen Problemen und versuche jene zu lösen. Ansonsten bin Ich ein einfacher Zocker der alles anspielt was er in die Finger bekommt (okay...fast alles :D). Wenn Ich mal vom PC wegkomme treffe Ich mich mit Freunden oder gehe zum Sport.

Ähnliche Beiträge

4 Kommentare

  1. Hallo Herr Krzeminski,
    ich habe folgendes Problem mit der bantime. In der jail.conf-datei ist der Befehl bantime = 3600 ein Kommentar. Nachdem ich die Raute davor entfernt habe bekomme ich aber folgende Fehlmeldung beim Neustart von fail2ban:
    Job for fail2ban.service failed because the control process exited with error code. See „systemctl status fail2ban.service“ and „journalctl -xe“ for details.

    Nachdem ich dann den Befehl journalctl -xe ausführe bekomme ich folgende Meldungen:
    — Unit fail2ban.service has failed.

    — The result is failed.
    Mär 01 22:21:08 lizzy58 systemd[1]: fail2ban.service: Unit entered failed state.
    Mär 01 22:21:08 lizzy58 systemd[1]: fail2ban.service: Failed with result ‚exit-code‘.
    Mär 01 22:21:08 lizzy58 systemd[1]: fail2ban.service: Service hold-off time over, sched
    Mär 01 22:21:08 lizzy58 systemd[1]: Stopped Fail2Ban Service.
    — Subject: Unit fail2ban.service has finished shutting down
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit fail2ban.service has finished shutting down.
    Mär 01 22:21:08 lizzy58 systemd[1]: Starting Fail2Ban Service…
    — Subject: Unit fail2ban.service has begun start-up
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit fail2ban.service has begun starting up.
    Mär 01 22:21:08 lizzy58 fail2ban-client[12288]: ERROR Failed during configuration: Fil
    Mär 01 22:21:08 lizzy58 fail2ban-client[12288]: file: ‚/etc/fail2ban/jail.conf‘, line:
    Mär 01 22:21:08 lizzy58 fail2ban-client[12288]: ‚ bantime = 3600n‘
    Mär 01 22:21:08 lizzy58 systemd[1]: fail2ban.service: Control process exited, code=exit
    Mär 01 22:21:08 lizzy58 systemd[1]: Failed to start Fail2Ban Service.
    — Subject: Unit fail2ban.service has failed
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit fail2ban.service has failed.

    — The result is failed.
    Mär 01 22:21:08 lizzy58 systemd[1]: fail2ban.service: Unit entered failed state.
    Mär 01 22:21:08 lizzy58 systemd[1]: fail2ban.service: Failed with result ‚exit-code‘.
    Mär 01 22:21:09 lizzy58 systemd[1]: fail2ban.service: Service hold-off time over, sched
    Mär 01 22:21:09 lizzy58 systemd[1]: Stopped Fail2Ban Service.
    — Subject: Unit fail2ban.service has finished shutting down
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit fail2ban.service has finished shutting down.
    Mär 01 22:21:09 lizzy58 systemd[1]: fail2ban.service: Start request repeated too quickl
    Mär 01 22:21:09 lizzy58 systemd[1]: Failed to start Fail2Ban Service.
    — Subject: Unit fail2ban.service has failed
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit fail2ban.service has failed.

    — The result is failed.

    Daraus schließe ich das es wie gesagt an dem bantime-Befehl liegt und wie erwartet, sobald ich die Zeile wieder auskommentiere funktioniert auch alles wieder. Mir stellt sich jetzt die Frage wo das Problem liegt? Können Sie mir da eventuell weiter helfen? Mir scheint es so als wäre dadurch fail2ban nutzlos? Vielen Dank für ihre Hilfe

    1. Schau mal in die Datei
      Die Fehlerausgabe sagt ja:
      Mär 01 22:21:08 lizzy58 fail2ban-client[12288]: file: ‚/etc/fail2ban/jail.conf‘, line:
      Mär 01 22:21:08 lizzy58 fail2ban-client[12288]: ‚ bantime = 3600n‘
      Steht hinter 3600 wirklich noch ein ’n‘?

      Michael

  2. Hallo Herr Krzeminski,

    die folgenden Tippfehler sind in Ihrer ansonsten sehr guten Dokumentation enthalten.
    Der Befehl:
    ./ban.sh ssh-blacklist ssh 3600
    muss
    ./ban.sh ssh ssh-blacklist 3600
    lauten, wie in der nachfolgenden Zeile beschrieben:
    ./ban.sh service blocklist zeitraum
    Das sollte dann auch noch für die crontab angeglichen werden.

    Auch in der jail.conf hat sich ein kleiner Tippfehler eingeschlichen:
    logpath /var/log/null.log
    ….
    logpath = /var/log/null.log
    wäre richtig.

    Vielen Dank für diesen Beitrag von Ihnen, denn er hat mir gezeigt, dass ich meinen ssh-Server noch besser konfigurieren kann.

    Michael Wagner

    1. Guten Abend Herr Wagner,

      Sie haben recht, dass in der Dokumentation die von Ihnen gefundenen Tippfehler vorhanden sind.
      Vielen Dank für Ihre Aufmerksamkeit, Ich werde mich darum kümmern, dass es korrigiert wird.

      Schön, dass Ihnen der Artikel gefällt und positives Feedback macht Laune auf mehr 🙂

      Grüße

      Martin Krzeminski

Schreibe einen Kommentar

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

Close