Fail2Ban

  • Fail2ban ist ein Dienst, welcher bestimmte IP Adressen, die wahrscheinlich zu Angreifern gehören, blockiert. Dieser Dienst ermittelt aus Log Dateien fehlgeschlagene Anmeldungen und sperrt diese IP Adressen dann.
    In diesem Tutorial zeige ich wie man sehr schnell Fail2ban einrichtet und sogar an Blocklist.de mit einbindet.

    1 Einleitung


    Meiner Meinung nach sollte jeder Server sich mit dem Dienst Fail2ban gegen Brute-Force-Methode absichern.
    Fail2ban besteht darin Angreifer zu erkennen, vor allem Bots, welche versuchen durch ausprobieren des Users und des Passworts sich Zugriff zum Server zu verschaffen.


    2 Installation


    Fail2ban ist sehr einfach zu installieren. Einfach sudo apt-get install fail2ban eingeben und Enter drücken. ;)
    Jetzt sollte Fail2ban installiert sein. Um Fail2ban richtig zu konfigurieren, sollten wir diesen Dienst nun stoppen service fail2ban stop oder systemctl stop fail2ban.


    2.1 Script Installation (only Debian / Ubuntu)


    Weiterleitung: Fail2ban automatisch einrichten


    3 Konfigurieren


    Als Erstes laden wir diese fail2ban.zip herunter. Als Nächstes entpacken wir diese Datei, darin sollte ein fail2ban Ordner zu finden sein.
    Da eigentlich somit alle Configs mitgebracht werden, leeren wir das ganze fail2ban Verzeichnis rm -R /etc/fail2ban/*.
    Jetzt laden wir die Dateien mit allen Unterordnen in das Verzeichnis /etc/fail2ban hoch.
    Die jail.local sollte sich jetzt direkt im Verzeichnis /etc/fail2ban befinden.


    Als Nächstes konfigurieren wir die jail.local Datei.
    In Zeile 2 befinden sich die Includes, die auf das jeweilige System angepasst werden muss. Debian und Ubuntu nutzten die gleiche Datei.
    In Zeile 16 befindet sich die Sender Adresse, hier ändern wir einfach den Hostname z.B.: sender = fail2ban@dev-tek.local.


    Standardgemäß ist fail2ban so konfiguriert, dass Blocklist genutzt wird. Dies kann man in Zeile 39 aber abändern. Einfach die jeweilige Action die davor aufgelistet sind eintragen. Zum Beispiel: action = %(action_blocklist_de)s oder action = %(action_mwl)s


    Ab Zeile 42 findet man die einzelnen Dienste. Solltet ihr einen dieser Dienste benutzen, müsst ihr einfach von enabled = false zu enabled = true setzen.


    3.1 Blocklist API nutzen


    Damit wir die Blocklist API nutzen können, müssen wir uns einen Account bei Blocklist erstellen.
    Wir gehen einfach auf Blocklist.de und drücken registrieren. Nun einfach die Schritte durchführen und man bekommt sein Passwort per E-Mail zugeschickt.


    Sollte dies alles geklappt haben loggen wir uns ein und klicken auf den Reiter Server.
    Da klicken wir nun auf "Neuen Server einrichten".



    Jetzt müssen wir das Formular ausfüllen.



    1. Als Namen können wir Eintragen wir wollen.
    2. Als IPs, die jeweilige IP Adressen des Servers.
    3. Die Absender Adresse muss mit der Adresse, die wir zuvor in Fail2ban eingetragen haben übereinstimmen.
    4. Den API Key lassen wir einfach leer.


    Jetzt sollte der Server in der Übersicht zu sehen sein.



    Der API Key sollte nun auch generiert worden sein. Bei mir lautet der API Key: fc98fe8a8e.
    Diesen API Key fügen wir jetzt in Zeile 24 ein. blocklist_de_apikey = fc98fe8a8e


    Jetzt sollte der Server schon alle Angreifer an Blocklist reporten und Blocklist schreibt dann einen Abuse Report an den IP Inhaber.


    4 Blocklist


    4.1 Blocklist automatisch einbinden (only Debian 7/8 / Ubuntu)


    Weiterleitung: Blocklist automatisch einrichten lassen


    4.2 Blocklist manuell einbinden


    Dieses Script führt ihr einfach einmal am Tag aus und es blockiert dann alle IPs die bei Blocklist gelistet sind. Ihr führt es mit perl blocklist.pl aus.


    Automatisiert mit Crontab sieht das ganze so aus:


    Ihr führt crontabe -e in der Console aus und bearbeitet es mit nano.


    Hier fügt ihr


    0 3 * * * perl /root/blocklist.pl > /dev/null 2>&1 ein.


    Nun mit CTRL + X dann CTRL + Y und Enter speichern und fertig.



    Script: https://forum.blocklist.de/viewtopic.php?f=11&t=205

Teilen