GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So installieren Sie Fail2ban mit Firewalld unter Rocky Linux 8.4

Fail2ban ist ein System-Daemon zum Schutz von Servern vor böswilligen Anmelde- und Brute-Force-Angriffen. Fail2ban ist ein Open-Source-IPS-Framework (Intrusion Prevention Software), das in Python geschrieben und extrem konfigurierbar ist. Es fungiert als Daemon-Dienst, der SystemD-Journal- und Protokolldateien überwacht und dann nach fehlgeschlagenen Authentifizierungsversuchen sucht. Wenn die fehlgeschlagene Authentifizierung die maximale X-Zahl erreicht, blockiert fail2ban automatisch die IP-Adresse mithilfe der Firewall-Software.

Wenn Sie ein VPS (Virtual Private Server) oder Besitzer eines dedizierten Servers sind, sollten Sie die Installation von fail2ban auf allen Ihren Servern in Betracht ziehen. Es hilft Ihnen, einige grundlegende Dienste wie SSH und FTP vor böswilligen Brute-Force-Angriffen zu schützen. Außerdem ist fail2ban sehr praktisch, einfach zu konfigurieren und flexibel.

In dieser Anleitung erfahren Sie, wie Sie fail2ban auf Rocky Linux installieren, fail2ban mit firewalld konfigurieren und den SSH-Dienst vor Brute-Force-Angriffen schützen.

Voraussetzungen

  • Ein Benutzer mit sudo-Root-Berechtigungen.

Firewalld einrichten

Firewalld ist die Standard-Firewall-Software auf Rocky Linux. Es wird automatisch während der Installation von Rocky Linux installiert, ist aber standardmäßig nicht aktiviert.

1. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass das Firewalld-Paket auf Ihrem System verfügbar ist.

sudo dnf info firewalld

Sie erhalten eine ähnliche Ausgabe wie unten.

Wie auf dem Screenshot zu sehen, wird das Firewalld-Paket als „Installierte Pakete“ aufgelistet ".

2. Als nächstes starten Sie den Dienst firewalld mit dem folgenden Befehl.

sudo systemctl start firewalld

3. Aktivieren Sie nun den Dienst firewalld so, dass er bei jedem Systemstart automatisch ausgeführt wird.

sudo systemctl enable firewalld

Und Sie erhalten die folgende Ausgabe.

Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.

4. Überprüfen Sie danach den Status des Firewalld-Dienstes mit dem folgenden Befehl.

sudo systemctl status firewalld

Und Sie erhalten die folgende Ausgabe.

Wie Sie sehen, ist der Firewalld-Dienst aktiv und wird ausgeführt.

5. Optional können Sie den Status des Firewalld-Dienstes mit dem Befehl firewall-cmd überprüfen. Die Firewall-cmd ist die Hauptschnittstelle für die Interaktion mit Firewalld. Der Befehl firewall-cmd ist ein Dienstprogramm zum Verwalten von Firewalld-Regeln, mit dem Sie Regeln hinzufügen, Regeln löschen, den Status überprüfen usw.

Führen Sie den folgenden Befehl firewall-cmd aus, um den Status des Firewalld-Dienstes zu überprüfen.

sudo firewall-cmd --state

Wenn Ihr Firewalld aktiv ist, erhalten Sie die Ausgabe als "running ". Andernfalls erhalten Sie die Ausgabe als "nicht ausgeführt ".

Führen Sie nun den folgenden Firewall-cmd-Befehl aus, um alle derzeit angewendeten Firewall-Regeln zu überprüfen.

sudo firewall-cmd --list-all

Sie erhalten eine ähnliche Ausgabe wie unten.

Hinzufügen des EPEL-Repositorys zu Rocky Linux

Vor der Installation von fail2ban müssen Sie EPEL (Extra Packages for Enterprise Linux )-Repository auf Ihr System.

1. Führen Sie nun den folgenden Befehl aus, um das EPEL-Repository zu installieren.

sudo dnf install epel-release

Geben Sie "y" ein zu installieren und fortzufahren.

2. Überprüfen Sie nach Abschluss der Installation alle verfügbaren Repositories auf Ihrem System mit dem folgenden Befehl.

sudo dnf repolist

Jetzt sehen Sie die Ausgabe wie unten.

Wie zu sehen ist, ist das EPEL-Repository auf dem System verfügbar und aktiv. Fahren wir nun mit der fail2ban-Installation fort.

Installation von Fail2ban auf Rocky Linux

1. Um fail2ban zu installieren, führen Sie den folgenden Befehl aus.

sudo dnf install fail2ban fail2ban-firewalld

Geben Sie "y" ein um die Installation zu bestätigen und drücken Sie "Enter " um fortzufahren.

Wie auf der Kommandozeile installieren Sie auch das zusätzliche Paket „fail2ban-firewalld“. Es wird fail2ban ermöglichen, Firewall-Regeln zu manipulieren.

2. Wenn die Installation abgeschlossen ist, starten Sie den Dienst fail2ban mit dem folgenden Befehl.

sudo systemctl start fail2ban

3. Führen Sie danach den folgenden Befehl aus, damit der Dienst fail2ban automatisch bei jedem Systemstart gestartet wird.

sudo systemctl enable fail2ban

4. Überprüfen Sie nun die Statusdienste von fail2ban, indem Sie den folgenden Befehl ausführen.

sudo systemctl status fail2ban

Und Sie werden sehen, dass der fail2ban-Dienst aktiv ist und mit der Standardkonfiguration wie unten ausgeführt ausgeführt wird.

Fail2ban konfigurieren

Jetzt konfigurieren Sie fail2ban und aktivieren fail2ban, damit es mit der Firewall funktioniert.

1. Kopieren Sie die standardmäßige fail2ban-Konfiguration aus "jail.conf" zu "jail.local " mit dem folgenden Befehl.

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

2. Bearbeiten Sie als Nächstes die fail2ban-Konfiguration mit dem folgenden Nano-Editor-Befehl.

sudo nano /etc/fail2ban/jail.local

Unter „[DEFAULT] " Abschnitt, überprüfen Sie die Konfigurationen unten.

[DEFAULT]
....
bantime = 1h
findtime = 1h
maxretry = 5

Optionen, die Sie kennen müssen.

  • [DEFAULT] =Alle Konfigurationen in diesem Abschnitt gelten als globale Standardkonfiguration.
  • bantime =Wie oft x IP-Adresse gesperrt wird. Es unterstützt das Format als Tag, Minute oder Stunden. In diesem Beispiel wird der Host oder die IP-Adresse nach maximal fehlgeschlagenen Authentifizierungsversuchen für „1 Stunde“ gesperrt.
  • findtime =Die IP-Adresse wird gesperrt, wenn die maximale Authentifizierung während der letzten "findtime" fehlgeschlagen ist.
  • maxretry =Wenn die IP-Adresse die X-Nummer von maxrtry-Anmeldefehlern hat, wird die IP gesperrt. In diesem Beispiel wird die IP-Adresse nach 5 fehlgeschlagenen Authentifizierungsversuchen gesperrt.

Passen Sie bantime, findtime und maxrety nach Bedarf an, drücken Sie dann "Strg+x" und geben Sie "y" ein, drücken Sie dann "Enter", um die Konfiguration zu speichern.

3. Die standardmäßige fail2ban-Konfiguration verwendet die iptables zum Blockieren. Um es fail2ban zu ermöglichen, firewalld zum Blockieren zu verwenden, kopieren Sie die Konfiguration „00-firewalld.conf " zu "00-firewalld.local " mit dem folgenden Befehl.

sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Diese Konfiguration "00-firewalld.conf " ist Teil der "fail2ban-firewalld " Paket.

4. Starten Sie nun den Dienst fail2ban neu, um neue Konfigurationen mit dem folgenden Befehl zu übernehmen.

sudo systemctl restart fail2ban

Schutz des SSH-Dienstes mit Fail2ban

Standardmäßig blockiert fail2ban keine IP-Adresse, bis Sie die Jail-Konfiguration für jeden Dienst aktivieren, den Sie schützen möchten. Außerdem überschreibt die Jail-Konfiguration die Standardkonfiguration auf „jail.local“. Die Jail-Konfiguration ist im Verzeichnis "/etc/fail2ban/jail.d" verfügbar.

1. Erstellen Sie mit dem folgenden Befehl eine neue Jail-Konfiguration für den SSH-Dienst.

sudo nano /etc/fail2ban/jail.d/sshd.local

Fügen Sie nun die folgende Konfiguration ein.

[sshd]
enabled = true

# Override the default global configuration
# for specific jail sshd
bantime = 1d
maxretry = 3

Wie Sie sehen, überschreibt die Konfiguration die "bantime " und "maxretry " Optionen für das Gefängnis "sshd ".

Drücken Sie "Strg+x" und geben Sie "Y ein " und drücken Sie dann "Enter ", um die neue Jail-Konfiguration zu speichern.

2. Um die neue Konfiguration zu übernehmen, starten Sie den Dienst fail2ban mit dem folgenden Befehl neu.

sudo systemctl restart fail2ban

3. Überprüfen Sie danach den Fail2ban-Status mit dem Befehl fail2ban-client. Der fail2ban-Client ist eine Kommandozeile zur Verwaltung des fail2ban Kontrollservers.

Führen Sie nun den folgenden Befehl fail2ban-client aus, um die Jail-Konfiguration zu überprüfen.

sudo fail2ban-client status

Und Sie erhalten eine ähnliche Ausgabe wie unten.

Der fail2ban läuft mit 1 aktiven Jail-Namen "sshd ".

Um die Konfiguration eines bestimmten Jails zu überprüfen, können Sie die Datei „get " Option gefolgt vom Namen des Gefängnisses, dann die Optionen, die Sie überprüfen möchten.

Überprüfen Sie die „maxretry“-Konfiguration für Jail „sshd“ mit dem folgenden Befehl.

sudo fail2ban-client get sshd maxretry

Und Sie werden sehen, dass die Ausgabe „3 ist ", stimmen Sie mit dem Wert in der Konfiguration "sshd.local" überein.

Überprüfen Sie als Nächstes die standardmäßige Sperraktion für das Gefängnis „sshd“ mit dem folgenden Befehl.

sudo fail2ban-client get sshd actions

Und Sie werden sehen, dass die Ausgabe "firewallcmd-rich-rules" ist ", passen Sie die globale Konfiguration von fail2ban in "00-firewalld.local" an.

Überprüfen Sie die Fail2ban- und Firewalld-Installation

Um die fail2ban-Installation zu überprüfen, überprüfen Sie den vollständigen Status des Jails (für diese Anleitung ist sshd jail) und überprüfen Sie die von fail2ban generierten Firewalld-Regeln.

Zu Testzwecken sehen Sie unten den Screenshot, nachdem Sie versucht haben, sich mit einem falschen Passwort mit einem SSH-Server zu verbinden. Nach Erreichen von maxretry "3 " Mal wird die Verbindung vom Server getrennt.

1. Führen Sie den folgenden Befehl aus, um den Status eines bestimmten Jails zu überprüfen (dieses Beispiel sshd Jail).

sudo fail2ban-client status sshd

Und Sie erhalten eine ähnliche Ausgabe wie die folgende.

Wie Sie sehen, hat das sshd-Gefängnis 1 gesperrte IP-Adresse. Wenn Sie sich auf einem Live-VPS oder einem dedizierten Server befinden, sehen Sie viel mehr IP-Adressen.

2. Das fail2ban generiert Firewall-Rich-Regeln, um IP-Adressen zu blockieren. Die Firewalld-Rich-Rules sind eine erweiterte Filterfunktion von Firewalld.

Führen Sie den folgenden Befehl aus, um die von fail2ban generierten Firewalld-Rich-Regeln anzuzeigen.

firewall-cmd --list-rich-rules

Und Sie erhalten eine ähnliche Ausgabe wie unten.

IP-Adresse von Uban auf Fail2ban

Um die IP-Adresse von fail2ban zu entsperren, können Sie den Befehl fail2ban-client verwenden.

1. Führen Sie den Befehl fail2ban-client unten aus, um die Sperrung der IP-Adresse "192.168.1.10" aufzuheben ".

sudo fail2ban-client unban 192.168.1.10

Und die IP-Adresse wird von der Sperrliste auf fail2ban entfernt.

Führen Sie als Nächstes den folgenden Befehl aus, um sicherzustellen, dass die IP-Adresse aus der fail2ban-Datenbank entfernt wird (in diesem Beispiel die jail sshd).

sudo fail2ban-client status sshd

Und Sie erhalten, dass die IP-Adresse aus der "Banned IP List" entfernt wird " Abschnitt.

Schlussfolgerung

Glückwunsch! Sie haben das fail2ban IPS-Framework erfolgreich auf Rocky Linux 8.4 installiert. Und im nächsten Schritt können Sie sich eine andere Jail-Konfiguration ansehen, um andere Dienste wie FTP-Server, phpMyAdmin, WordPress usw. zu sichern.


Rocky Linux
  1. So installieren Sie Rocky Linux 8.4 Schritt für Schritt mit Screenshots

  2. So installieren Sie Python 3.9 auf Rocky Linux 8

  3. So installieren Sie Apache Tomcat 10 mit Nginx unter Rocky Linux 8

  4. So installieren Sie Fail2ban mit Firewalld auf Rocky Linux 8

  5. So installieren Sie Redis unter Rocky Linux 8

So installieren Sie TeamViewer unter Rocky Linux 8

So installieren Sie Rocky Linux 8 Schritt-für-Schritt-Anleitung mit Screenshots

So installieren Sie Anaconda auf Rocky Linux 8

So installieren Sie Snap unter Rocky Linux 8

So installieren Sie PHP 7.4 auf Rocky Linux 8

So installieren Sie Fail2ban unter Rocky Linux 8