So schützen Sie Ihren Server mit Fail2Ban unter Linux

Die Serversicherheit hat für jedes Unternehmen oder jede Organisation höchste Priorität. Fail2Ban ist eines der wichtigsten Tools im Toolkit eines Systemadministrators. Diese Anleitung erklärt, was Fail2Ban ist und wie Sie Ihren Server mit Fail2Ban in Ihrem Linux vor Angriffen schützen können.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Was ist Fail2Ban?

Fail2Ban ist ein Intrusion-Prevention-Tool, das Protokolldateien überwacht und IP-Adressen blockiert, die Anzeichen böswilliger Aktivitäten aufweisen. Dies geschieht durch die Erstellung von „Filtern“, die mit bestimmten Mustern in Protokolldateien übereinstimmen und Aktionen ausführen, wie z. B. das Blockieren der anstößigen IP-Adresse.

Warum Fail2Ban unter Linux verwenden?

Es gibt mehrere Gründe, Fail2Ban unter Linux zu verwenden. Vielleicht:

  • Es spart Ihnen Zeit, indem bösartige IP-Adressen automatisch blockiert werden.
  • Schützen Sie Ihren Server, indem Sie die Wahrscheinlichkeit eines erfolgreichen Angriffs verringern.
  • Es gibt Ihnen die Gewissheit, dass Ihr Server überwacht und geschützt wird.

Installieren Sie Fail2Ban unter Linux

Standardmäßig ist Fail2Ban in den Ubuntu-Repositories verfügbar. Installieren Sie es mit apt.

sudo add-apt-repository universe sudo apt update && sudo apt install fail2ban -y

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Fail2Ban setzt seinen Dienst in den Hintergrund, systemd deaktiviert ihn jedoch standardmäßig. Sie können es mit den folgenden Befehlen starten und aktivieren:

sudo systemctl start fail2ban sudo systemctl enable fail2ban

Überprüfen Sie mit dem folgenden Befehl, ob Fail2Ban ausgeführt wird:

sudo systemctl status fail2ban

Sie sehen eine Ausgabe ähnlich der Abbildung unten.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Konfigurieren Sie Fail2Ban unter Linux

Das Verzeichnis „/etc/fail2ban“ enthält die Konfigurationsdateien für Fail2Ban. Standardmäßig wird Fail2Ban mit einer „jail.conf“-Datei geliefert, die Einstellungen enthält, die auf alle Dienste angewendet werden.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Es empfiehlt sich jedoch, eine lokale „jail.local“-Datei zu erstellen und die Einstellungen in „jail.conf“ zu überschreiben, da alle Änderungen, die Sie an „jail.conf“ vornehmen, verloren gehen, wenn die Software aktualisiert wird.

Sie können Ihre „jail.local“-Datei mit den folgenden Befehlen erstellen:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Öffnen Sie die jail.local-Datei, um sie zu bearbeiten:

sudo nano /etc/fail2ban/jail.local

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Gut zu wissen: lernen So aktivieren Sie passwortlose SSH-Anmeldungen unter LINUX.

Untersuchen Sie die jail.local-Datei

Sie sehen eine ähnliche Ausgabe wie unten gezeigt und sind möglicherweise von der Anzahl der verfügbaren Optionen überwältigt. Aber keine Sorge, wir führen Sie durch die wichtigsten Optionen.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Sie sehen ein Symbol "#" am Anfang der Zeile, um anzuzeigen, dass es sich um einen Kommentar handelt. Fail2Ban verwendet diese, um zu erklären, was eine bestimmte Einstellung bewirkt. Sie können hier einige Einstellungen aktivieren, indem Sie dieses Symbol entfernen.

Abschnitt enthält "[STANDARD]" über Optionen, die für alle Gefängnisse gelten. Dies ist die allgemeine Konfiguration von Fail2Ban. Der folgende Screenshot zeigt ein Beispiel.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Es gibt auch andere Abschnitte, die mit dem Dienstnamen beginnen. Dieses Gefängnis gilt für einen bestimmten Dienst an der Spitze der Gefängnisse der Welt.

Lesen Sie auch:  So installieren Sie das Deb-Paket in Arch Linux

Beispielsweise gibt es einen Abschnitt für ein Gefängnis "sshd". Dieser Abschnitt enthält die Optionen für den sshd-Dienst.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Tipp: Auch zum Thema Serverhärtung können Sie sich bei Mehr informieren Sichern Sie Ihren SSH-Server.

Aktivieren Sie die Autoban-Funktion

Gehen Sie zur Einstellung „bantime = 1hund entfernen Sie den Code "#" am Anfang der Zeile, um es zu aktivieren. Diese Zeile legt fest, wie lange Fail2Ban braucht, um die IP-Adresse zu deaktivieren. Die Standardeinheit ist XNUMX Stunde. Sie können auch andere Einheiten verwenden, z. B. Minuten (M) oder Tage (D) oder sogar wochen (w).

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Sie können diesen Wert nach Belieben erhöhen oder verringern. Sie können diesen Wert beispielsweise auf 30 Meter ändern, um die Blockdauer auf 30 Minuten zu reduzieren.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Ändern Sie die Standardlänge des Anmeldefensters

Die nächsten Einstellungen sind "maxretry" und "findtime". Sie begrenzen die Anzahl der Anmeldeversuche, die ein Angreifer unternehmen kann, bevor Fail2Ban seine IP-Adresse blockiert.

Die Standardwerte für „maxretry“ und „findtime“ sind 5 und 10 m. Wenn sich eine IP innerhalb von zehn Minuten fünfmal nicht authentifizieren kann, blockiert Fail2Ban sie für die in der Bantime-Einstellung festgelegte Dauer.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Sie können diese Werte beliebig ändern. Sie können beispielsweise „maxretry“ auf 3 und „findtime“ auf 5m setzen: Fail2Ban deaktiviert eine IP-Adresse, wenn sie sich innerhalb von fünf Minuten dreimal nicht authentifizieren kann.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Aktivieren Sie die Fail2Ban-Benachrichtigungsfunktion in Linux

Die folgenden Einstellungen sind destemail, sendername und mta. Diese Einstellungen werden von Fail2Ban verwendet, um E-Mail-Benachrichtigungen zu konfigurieren.

  • Die E-Mail-Einstellung ist die E-Mail-Adresse, an die das Programm seine Benachrichtigungen sendet.
  • Der Name des Absenders ist der Name, der im Feld Von der Benachrichtigungs-E-Mail angezeigt wird.
  • mta ist der Mail-Transfer-Agent, den Fail2Ban zum Senden von E-Mails verwendet. mta ist standardmäßig sendmail , aber Sie können es in etwas anderes wie mail ändern.

Wenn Sie E-Mail-Benachrichtigungen erhalten möchten, müssen Sie diese Zeilen auskommentieren und die entsprechenden Werte wie gezeigt eingeben.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Wenn eine Sperre auftritt, erhalten Sie eine E-Mail-Benachrichtigung mit Details zur Sperre wie gezeigt.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Erstellen Sie benutzerdefinierte Blockorders

Die nächste Einstellung ist „action_=“. Dies gibt die Aktion an, die Fail2ban ergreift, wenn es eine IP-Adresse blockiert. Standardmäßig wird iptables verwendet, um die IP zu blockieren, bis die „bantime“ abläuft.

Sie können auch andere Verfahren verwenden, wie unten gezeigt. Dieses Tutorial hält sich der Einfachheit halber an die Standardeinstellung.

  • action_mw: Sendet eine E-Mail-Benachrichtigung, wenn eine IP-Adresse blockiert wird, zusammen mit relevanten WHOIS-Informationen.
  • action_mwl: Versendet eine E-Mail-Benachrichtigung, wenn eine IP-Adresse gesperrt wird, zusammen mit den relevanten WHOIS-Informationen und Logfile-Einträgen, die zur Sperrung geführt haben.
  • action_xarf: Sendet eine X-ARF-E-Mail-Benachrichtigung, wenn eine IP-Adresse gesperrt wird, zusammen mit den Logfile-Einträgen, die die Sperrung ausgelöst haben.
Lesen Sie auch:  So erstellen Sie einen benutzerdefinierten Webbrowser mit Nyxt

Viele andere Verfahren sind verfügbar, aber es ist unmöglich, sie alle in diesem Tutorial zu behandeln. du kannst Informieren Sie sich über alle verfügbaren Verfahren In der Fail2ban-Dokumentation.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Aktivieren Sie die Konfiguration für den Dienst

Neben der Konfiguration des Standardverhaltens von Fail2ban ist es auch möglich, vorgefertigte Filterdateien für einige beliebte Internetdienste zu verwenden. Dies sind kleine Dateien, die von Entwicklern geschrieben wurden, um nach bestimmten Protokollausgaben für einen bestimmten Server zu suchen.

Beispielsweise enthält die Datei „apache-shellshock.conf“ alle notwendigen Einstellungen, damit Fail2ban nach böswilligen Versuchen suchen kann, einen Shellshock-Fehler zu generieren.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Sie finden alle verfügbaren Filterdateien für Ihr System, indem Sie das Verzeichnis „/etc/fail2ban/filter.d“ auflisten:

ls /etc/fail2ban/filter.d

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Sobald Sie die Filter kennen, die Sie verwenden möchten, weisen Sie Fail2ban an, sie während des Starts zu laden, indem Sie Ihre Datei „jail.local“ öffnen:

sudo nano /etc/fail2ban/jail.local

Erstellen Sie einen Bereich in „jail.local“, wo Sie Ihre neuen Filter aktivieren können. Ich erstelle meine eigene zwischen dem Kommentartitel und dem [INCLUDES]-Block.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Fügen Sie die Filter hinzu, die Sie aktivieren möchten. Das folgende Beispiel ist ein Snippet, das ich in meiner Konfiguration verwende:

# Kommentare: Verwenden Sie '#' für Kommentarzeilen und ';' (nach einem Leerzeichen) für Inline-Kommentare [sshd] enabled = true [nginx-bad-request] enabled = true [bitwarden] enabled = true [INCLUDES]

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Wenn Sie fertig sind, speichern und schließen Sie die Datei. Starten Sie fail2ban neu, um die Änderungen zu übernehmen.

sudo systemctl restart fail2ban

Testen Sie Ihre Konfiguration

Nachdem Sie Fail2Ban unter Linux konfiguriert haben, ist es an der Zeit, es zu testen.

Die einfachste Möglichkeit, Ihre Konfiguration zu testen, besteht darin, sich mehrmals kurz hintereinander mit dem falschen Passwort anzumelden. Dazu können Sie eine SSH-Verbindung verwenden.

Versuchen Sie auf der Entsorgungsmaschine, mit dem Benutzernamen „admin“ eine SSH-Verbindung zu Ihrem Fail2ban-Server herzustellen. Ersetzen Sie „your_server_ip_address“ durch die tatsächliche IP-Adresse Ihres Fail2ban-Servers.

ssh admin@your_server_ip_address

Geben Sie ein zufälliges Passwort ein, wenn Sie dazu aufgefordert werden, und wiederholen Sie es mehrmals. Nach mehreren Versuchen sehen Sie eine Meldung, dass der Server Ihren Verbindungsversuch abgelehnt hat.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Neben der Verwendung von ssh können Sie auch andere Filterdateien in Fail2ban testen, indem Sie Fail Status ausführen. In meinem Fall verwende ich den Filter „nginx-bad-request“, der erkennt, ob ein Host den Server mit ungültigen Anfragen überschwemmt.

Lesen Sie auch:  So verwenden Sie Troff zum Formatieren von PDF-Dokumenten unter Linux

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Wenn Sie dies wissen, können Sie diese Funktion testen, indem Sie absichtlich leere Anfragen mit curl an Ihren Webserver senden:

curl -H "User-Agent:" -H "Host:" https://ihrewebsite.com -v

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Überprüfung von Fail2Ban-Routinen unter Linux

Führen Sie schließlich den folgenden Befehl auf dem Fail2ban-Server aus, um zu überprüfen, ob fail2ban die erforderlichen Regeln zu iptables hinzugefügt hat.

Der grep-Befehl filtert die Ausgabe des iptables-Befehls. Die Option -S weist iptables an, die Regeln in einem einfach zu analysierenden Format auszugeben.

sudo iptables -S | grep f2b

Sie sehen eine Ausgabe ähnlich der Abbildung unten. Das Argument „–reject-with icmp-port-unreachable“ weist iptables an, eine ICMP-Port-unreachable-Nachricht an den Client zu senden, wenn er versucht, eine Verbindung herzustellen. Sie können auch die IP-Adressen von Geräten sehen, die der Server blockiert hat.

So schützen Sie Ihren Server mit Fail2Ban unter Linux – %categories

Tipp: Sie sollten SELinux auch verwenden, um Ihren Linux-Server zu sichern.

Häufig gestellte Fragen

F1: Warum erhalte ich eine leere E-Mail-Benachrichtigung, wenn Fail2ban eine IP-Adresse blockiert?
Die Antwort: Wenn Sie eine leere E-Mail-Benachrichtigung erhalten, haben Sie wahrscheinlich Ihren Mailserver nicht richtig konfiguriert. Überprüfen Sie die Konfiguration Ihres Mailservers und stellen Sie sicher, dass er E-Mails senden kann.

F2: Wie kann ich eine IP-Adresse entsperren?
Die Antwort: Suchen Sie zuerst das Gefängnis, in dem die IP-Adresse derzeit blockiert ist: sudo fail2ban-client status , entsperren Sie dann die IP-Adresse, indem Sie Folgendes ausführen: sudo fail2ban-client set unsauber .

F3: Wie zeige ich die fail2ban-Protokolldatei an?
Die Antwort: Möglicherweise möchten Sie die fail2ban-Protokolldatei anzeigen, um Probleme zu beheben oder herauszufinden, warum die IP-Adresse blockiert wurde. Die Datei „/var/log/fail2ban.log“ enthält alle von fail2ban generierten Protokolle. Verwenden Sie den cat-Befehl, um die fail2ban-Protokolldatei anzuzeigen: cat /var/log/fail2ban.log.

F4: Ich habe mehrere Filterdateien aktiviert. Warum funktionieren die alle nicht?
Die Antwort: Dieses Problem tritt höchstwahrscheinlich auf, weil ein Filter eine andere Datei überschreibt, die ihm vorausgegangen ist. Eine Möglichkeit, dies zu beheben, besteht darin, Ihre eigene Filterdatei zu erstellen, indem Sie mehrere Filter miteinander kombinieren.

F5: Schützt Fail2ban meinen Server vor einem DoS-Angriff?
Die Antwort: ja und Nein. Zum größten Teil kann Fail2ban jede IP blockieren, die ungültige Anfragen an Ihren Server sendet. Eine der größten Einschränkungen dieses Programms besteht jedoch darin, dass es nicht auf Ereignisse reagieren kann, die keinen Protokolleintrag erzeugen. Daher ist es nach wie vor wichtig, Ihren Linux-Server mit anderen Tools gegen diese Angriffsformen abzusichern.

Sie können auch mögen