Website-Suche

So installieren Sie Fail2Ban zum Schutz von SSH unter CentOS/RHEL 8


Fail2ban ist ein kostenloses, quelloffenes und weit verbreitetes Intrusion-Prevention-Tool, das Protokolldateien nach IP-Adressen durchsucht, die bösartige Anzeichen wie zu viele Passwortfehler und vieles mehr aufweisen, und diese sperrt (Firewall aktualisiert). Regeln zum Ablehnen der IP-Adressen). Standardmäßig sind Filter für verschiedene Dienste enthalten, darunter sshd.

Lesen Sie auch: Ersteinrichtung des Servers mit CentOS/RHEL 8

In diesem Artikel erklären wir, wie Sie fail2ban installieren und konfigurieren, um SSH zu schützen und die SSH-Serversicherheit vor Brute-Force-Angriffen auf zu verbessern CentOS/RHEL 8.

Installation von Fail2ban unter CentOS/RHEL 8

Das Paket fail2ban befindet sich nicht in den offiziellen Repositories, ist aber im EPEL-Repository verfügbar. Nachdem Sie sich bei Ihrem System angemeldet haben, greifen Sie auf eine Befehlszeilenschnittstelle zu und aktivieren Sie dann wie gezeigt das EPEL-Repository auf Ihrem System.

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Anschließend installieren Sie das Paket Fail2ban, indem Sie den folgenden Befehl ausführen.

dnf install fail2ban

Konfigurieren von Fail2ban zum Schutz von SSH

Die fail2ban-Konfigurationsdateien befinden sich im Verzeichnis /etc/fail2ban/ und die Filter werden im Verzeichnis /etc/fail2ban/filter.d/ gespeichert Verzeichnis (die Filterdatei für sshd ist /etc/fail2ban/filter.d/sshd.conf).

Die globale Konfigurationsdatei für den fail2ban-Server ist /etc/fail2ban/jail.conf. Es wird jedoch nicht empfohlen, diese Datei direkt zu ändern, da sie im Falle eines Pakets wahrscheinlich überschrieben oder verbessert wird in der Zukunft upgraden.

Alternativ wird empfohlen, Ihre Konfigurationen in einer jail.local-Datei oder separaten .conf-Dateien unter /etc/fail2ban/jail zu erstellen und hinzuzufügen. d/-Verzeichnis. Beachten Sie, dass die in jail.local festgelegten Konfigurationsparameter alles überschreiben, was in jail.conf definiert ist.

Für diesen Artikel erstellen wir wie gezeigt eine separate Datei mit dem Namen jail.local im Verzeichnis /etc/fail2ban/.

vi /etc/fail2ban/jail.local

Sobald die Datei geöffnet ist, kopieren Sie die folgende Konfiguration und fügen Sie sie ein. Der Abschnitt [DEFAULT] enthält globale Optionen und [sshd] enthält Parameter für das SSHD-Gefängnis.


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Lassen Sie uns kurz die Optionen in der obigen Konfiguration erklären:

  • ignoreip: Gibt die Liste der IP-Adressen oder Hostnamen an, die nicht gesperrt werden sollen.
  • Bantime: Gibt die Anzahl der Sekunden an, für die ein Host gesperrt wird (d. h. die effektive Sperrdauer).
  • maxretry: Gibt die Anzahl der Fehler an, bevor ein Host gesperrt wird.
  • findtime: fail2ban sperrt einen Host, wenn er in den letzten „findtime“-Sekunden „maxretry“ generiert hat.
  • banaction: Aktion verbieten.
  • Backend: Gibt das Backend an, das zum Abrufen der Protokolldateiänderungen verwendet wird.

Die obige Konfiguration bedeutet also, dass, wenn eine IP in den letzten 5 Minuten 3 Mal ausgefallen ist, sie für 6 Stunden gesperrt und ignoriert wird IP-Adresse 192.168.56.2.

Starten und aktivieren Sie als Nächstes den Dienst fail2ban und prüfen Sie mit dem folgenden systemctl-Befehl, ob er aktiv ist.

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

Überwachung fehlgeschlagener und gesperrter IP-Adressen mithilfe von fail2ban-client

Nachdem Sie fail2ban zur Sicherung von sshd konfiguriert haben, können Sie ausgefallene und gesperrte IP-Adressen mit dem fail2ban-client überwachen. Führen Sie den folgenden Befehl aus, um den aktuellen Status des fail2ban-Servers anzuzeigen.

fail2ban-client status

Um das sshd-Gefängnis zu überwachen, führen Sie Folgendes aus:

fail2ban-client status sshd

Führen Sie den folgenden Befehl aus, um den Bann einer IP-Adresse in fail2ban (in allen Jails und in der Datenbank) aufzuheben.

fail2ban-client unban 192.168.56.1

Weitere Informationen zu fail2ban finden Sie auf den folgenden Manpages.

man jail.conf
man fail2ban-client

Das fasst diesen Leitfaden zusammen! Wenn Sie Fragen oder Gedanken zu diesem Thema haben, zögern Sie nicht, uns über das unten stehende Feedback-Formular zu kontaktieren.