So installieren Sie Fail2Ban zum Schutz von SSH unter CentOS / RHEL 8
Lesen Sie auch: Erstes Server-Setup mit CentOS / RHEL 8
In diesem Artikel wird die Installation und Konfiguration erläutert fail2ban beschützen SSH und verbessern SSH Serversicherheit gegen Brute-Force-Angriffe auf CentOS / RHEL 8.
Installieren von Fail2ban unter CentOS / RHEL 8
Das fail2ban Paket ist nicht in den offiziellen Repositories, aber es ist in der verfügbar EPEL Repository. Greifen Sie nach der Anmeldung bei Ihrem System auf eine Befehlszeilenschnittstelle zu und aktivieren Sie das EPEL-Repository auf Ihrem System wie gezeigt.
# dnf install epel-release OR # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Installieren Sie anschließend die Fail2ban Paket, indem Sie den folgenden Befehl ausführen.
# dnf install fail2ban
Konfigurieren von Fail2ban zum Schutz von SSH
Das fail2ban Konfigurationsdateien befinden sich in der / etc / fail2ban / Verzeichnis und Filter werden im gespeichert /etc/fail2ban/filter.d/ Verzeichnis (die Filterdatei für sshd ist /etc/fail2ban/filter.d/sshd.conf).
Die globale Konfigurationsdatei für den fail2ban-Server lautet /etc/fail2ban/jail.confEs wird jedoch nicht empfohlen, diese Datei direkt zu ändern, da sie im Falle eines zukünftigen Paket-Upgrades wahrscheinlich überschrieben oder verbessert wird.
Alternativ wird empfohlen, Ihre Konfigurationen in a zu erstellen und hinzuzufügen jail.local Datei oder separat .conf
Dateien unter dem /etc/fail2ban/jail.d/ Verzeichnis. Beachten Sie, dass Konfigurationsparameter eingestellt sind jail.local überschreibt alles, was in definiert ist jail.conf.
Für diesen Artikel erstellen wir eine separate Datei mit dem Namen jail.local in dem / etc / fail2ban / Verzeichnis wie gezeigt.
# vi /etc/fail2ban/jail.local
Sobald die Datei geöffnet ist, kopieren Sie die folgende Konfiguration und fügen Sie sie ein. Das [DEFAULT]
Der Abschnitt 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:
- Ignorieren: 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 ist (dh die effektive Sperrdauer).
- Maxretry: Gibt die Anzahl der Fehler an, bevor ein Host gesperrt wird.
- finde Zeit: fail2ban sperrt einen Host, wenn er generiert hat “Maxretry” während der letzten “finde ZeitSekunden.
- Verbannung: Aktion verbieten.
- Backend: Gibt das Backend an, mit dem die Protokolldatei geändert wird.
Die obige Konfiguration bedeutet daher, wenn eine IP fehlgeschlagen ist 3 mal im letzten 5 Minuten, verbieten Sie es für 6 Stunden und ignorieren Sie die IP-Adresse 192.168.56.2.
Starten und aktivieren Sie anschließend die fail2ban Service für jetzt und überprüfen Sie, ob es betriebsbereit ist, mit dem folgenden Befehl systemctl.
# systemctl start fail2ban # systemctl enable fail2ban # systemctl status fail2ban
Überwachung fehlgeschlagener und gesperrter IP-Adressen mit fail2ban-client
Nach der Konfiguration fail2ban absichern sshdkönnen Sie fehlgeschlagene und gesperrte IP-Adressen mit dem überwachen fail2ban-client. Führen Sie den folgenden Befehl aus, um den aktuellen Status des fail2ban-Servers anzuzeigen.
# fail2ban-client status
Um die zu überwachen sshd Gefängnis, lauf.
# fail2ban-client status sshd
Führen Sie den folgenden Befehl aus, um eine IP-Adresse in fail2ban (in allen Gefängnissen und in der Datenbank) aufzuheben.
# fail2ban-client unban 192.168.56.1
Weitere Informationen zu fail2ban finden Sie in den folgenden Manpages.
# man jail.conf # man fail2ban-client
Das fasst diesen Leitfaden zusammen! Wenn Sie Fragen oder Anregungen zu diesem Thema haben, zögern Sie nicht, uns über das unten stehende Feedback-Formular zu erreichen.