GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und konfigurieren Sie Fail2ban unter CentOS 8

Alle Server, die dem Internet ausgesetzt sind, sind von Malware-Angriffen bedroht. Wenn Sie beispielsweise eine Software mit einem öffentlichen Netzwerk verbunden haben, können Angreifer Brute-Force-Versuche verwenden, um Zugriff auf die Anwendung zu erlangen.

Fail2ban ist ein Open-Source-Tool, das Ihren Linux-Computer vor Brute-Force- und anderen automatisierten Angriffen schützt, indem es die Dienstprotokolle auf böswillige Aktivitäten überwacht. Es verwendet reguläre Ausdrücke, um Protokolldateien zu scannen. Alle Einträge, die mit den Mustern übereinstimmen, werden gezählt, und wenn ihre Anzahl einen bestimmten vordefinierten Schwellenwert erreicht, sperrt Fail2ban die anstößige IP für eine bestimmte Zeit. Die standardmäßige System-Firewall wird als Sperraktion verwendet. Wenn die Sperrfrist abgelaufen ist, wird die IP-Adresse von der Sperrliste entfernt.

Dieser Artikel erklärt, wie man Fail2ban unter CentOS 8 installiert und konfiguriert.

Fail2ban auf CentOS installieren #

Das Fail2ban-Paket ist in den standardmäßigen CentOS 8-Repositories enthalten. Um es zu installieren, geben Sie den folgenden Befehl als root oder Benutzer mit sudo-Berechtigungen ein:

sudo dnf install fail2ban

Sobald die Installation abgeschlossen ist, aktivieren und starten Sie den Fail2ban-Dienst:

sudo systemctl enable --now fail2ban

Um zu überprüfen, ob der Fail2ban-Server läuft, geben Sie Folgendes ein:

sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-09-10 12:53:45 UTC; 8s ago
...

Das ist es. An diesem Punkt läuft Fail2Ban auf Ihrem CentOS-Server.

Fail2ban-Konfigurationsnummer

Die Standardinstallation von Fail2ban enthält zwei Konfigurationsdateien, /etc/fail2ban/jail.conf und /etc/fail2ban/jail.d/00-firewalld.conf . Diese Dateien sollten nicht geändert werden, da sie möglicherweise überschrieben werden, wenn das Paket aktualisiert wird.

Fail2ban liest die Konfigurationsdateien in der folgenden Reihenfolge:

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

Jede .local Datei überschreibt die Einstellungen aus der .conf Datei.

Der einfachste Weg, Fail2ban zu konfigurieren, ist das Kopieren der jail.conf zu jail.local und ändern Sie die .local Datei. Fortgeschrittene Benutzer können eine .local erstellen Konfigurationsdatei von Grund auf neu. Die .local Datei muss nicht alle Einstellungen aus der entsprechenden .conf enthalten Datei, nur die, die Sie überschreiben möchten.

Erstellen Sie eine .local Konfigurationsdatei aus der standardmäßigen jail.conf Datei:

sudo cp /etc/fail2ban/jail.{conf,local}

Um mit der Konfiguration des Fail2ban-Servers zu beginnen, öffnen Sie die jail.local Datei mit Ihrem Texteditor:

sudo nano /etc/fail2ban/jail.local

Die Datei enthält Kommentare, die beschreiben, was jede Konfigurationsoption bewirkt. In diesem Beispiel ändern wir die Grundeinstellungen.

IP-Adressen auf die Whitelist #

IP-Adressen, IP-Bereiche oder Hosts, die Sie von der Sperrung ausschließen möchten, können zu ignoreip hinzugefügt werden Richtlinie. Hier sollten Sie Ihre lokale PC-IP-Adresse und alle anderen Computer hinzufügen, die Sie auf die Whitelist setzen möchten.

Entkommentieren Sie die Zeile, die mit ignoreip beginnt und fügen Sie Ihre IP-Adressen durch Leerzeichen getrennt hinzu:

/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24

Sperreinstellungen #

Die Werte von bantime , findtime und maxretry Optionen definieren die Sperrzeit und Sperrbedingungen.

bantime ist die Dauer, für die die IP gesperrt ist. Wenn kein Suffix angegeben ist, werden standardmäßig Sekunden verwendet. Standardmäßig ist die bantime Der Wert ist auf 10 Minuten eingestellt. Im Allgemeinen werden die meisten Benutzer eine längere Sperrzeit festlegen wollen. Ändern Sie den Wert nach Ihren Wünschen:

/etc/fail2ban/jail.local
bantime  = 1d

Um die IP dauerhaft zu sperren, verwenden Sie eine negative Zahl.

findtime ist die Dauer zwischen der Anzahl der Fehler, bevor ein Bann gesetzt wird. Wenn beispielsweise Fail2ban so eingestellt ist, dass eine IP nach fünf Fehlern gesperrt wird (maxretry , siehe unten), müssen diese Fehler innerhalb der findtime auftreten Dauer.

/etc/fail2ban/jail.local
findtime  = 10m

maxretry ist die Anzahl der Fehler, bevor eine IP gesperrt wird. Der Standardwert ist auf fünf gesetzt, was für die meisten Benutzer in Ordnung sein sollte.

/etc/fail2ban/jail.local
maxretry = 5

E-Mail-Benachrichtigungen #

Fail2ban kann E-Mail-Benachrichtigungen senden, wenn eine IP gesperrt wurde. Um E-Mail-Nachrichten zu empfangen, müssen Sie ein SMTP auf Ihrem Server installiert haben und die Standardaktion ändern, die nur die IP auf %(action_mw)s bannt , wie unten gezeigt:

/etc/fail2ban/jail.local
action = %(action_mw)s

%(action_mw)s wird die betreffende IP sperren und eine E-Mail mit einem Whois-Bericht senden. Wenn Sie die relevanten Protokolle in die E-Mail aufnehmen möchten, setzen Sie die Aktion auf %(action_mwl)s .

Sie können auch die sendenden und empfangenden E-Mail-Adressen anpassen:

/etc/fail2ban/jail.local
destemail = [email protected]

sender = [email protected]

Fail2ban-Gefängnisse #

Fail2ban verwendet ein Gefängniskonzept. Ein Jail beschreibt einen Dienst und beinhaltet Filter und Aktionen. Log-Einträge, die dem Suchmuster entsprechen, werden gezählt, und wenn eine vordefinierte Bedingung erfüllt ist, werden die entsprechenden Aktionen ausgeführt.

Fail2ban wird mit einer Reihe von Gefängnissen für verschiedene Dienste ausgeliefert. Sie können auch Ihre eigenen Jail-Konfigurationen erstellen.

Standardmäßig sind unter CentOS 8 keine Jails aktiviert. Um ein Jail zu aktivieren, müssen Sie enabled = true hinzufügen nach dem Gefängnistitel. Das folgende Beispiel zeigt, wie Sie sshd aktivieren Gefängnis:

/etc/fail2ban/jail.local
[sshd]
enabled   = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Die Einstellungen, die wir im vorherigen Abschnitt besprochen haben, können pro Jail festgelegt werden. Hier ist ein Beispiel:

/etc/fail2ban/jail.local

Die Filter befinden sich in /etc/fail2ban/filter.d Verzeichnis, gespeichert in einer Datei mit dem gleichen Namen wie das Gefängnis. Wenn Sie über eine benutzerdefinierte Einrichtung und Erfahrung mit regulären Ausdrücken verfügen, können Sie die Filter feinabstimmen.

Jedes Mal, wenn die Konfigurationsdatei geändert wird, muss der Fail2ban-Dienst neu gestartet werden, damit die Änderungen wirksam werden:

sudo systemctl restart fail2ban

Fail2ban-Client-Nr.

Fail2ban wird mit einem Befehlszeilentool namens fail2ban-client ausgeliefert die Sie verwenden können, um mit dem Fail2ban-Dienst zu interagieren.

Um alle verfügbaren Optionen des fail2ban-client anzuzeigen Befehl, rufen Sie ihn mit -h auf Möglichkeit:

fail2ban-client -h

Dieses Tool kann verwendet werden, um IP-Adressen zu sperren/entsperren, Einstellungen zu ändern, den Dienst neu zu starten und vieles mehr. Hier sind einige Beispiele:

  • Überprüfen Sie den Status eines Gefängnisses:

    sudo fail2ban-client status sshd
  • Eine IP-Adresse entsperren:

    sudo fail2ban-client set sshd unbanip 23.34.45.56
  • Eine IP sperren:

    sudo fail2ban-client set sshd banip 23.34.45.56

Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 7

  2. So installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie Fail2Ban unter CentOS 8 und Fedora 33

  4. Wie installiere und konfiguriere ich Fail2ban unter CentOS 8?

  5. So installieren und konfigurieren Sie CyberPanel unter CentOS 8

So installieren und konfigurieren Sie Nagios 4.0.7 unter CentOS 7

So installieren und konfigurieren Sie ISPConfig CP unter CentOS 7

So installieren und konfigurieren Sie ownCloud auf CentOS 7

So installieren und konfigurieren Sie Samba unter CentOS 8

So installieren und konfigurieren Sie Fail2ban unter CentOS 8

So installieren und konfigurieren Sie HAproxy unter CentOS 6