Fail2ban ist ein kostenloses und Open-Source-Intrusion-Prevention-System, das in Python geschrieben ist. Es wird verwendet, um Ihr System vor Brute-Force-Angriffen zu schützen. Es überwacht kontinuierlich die SSH- (und andere) Protokolldateien auf Authentifizierungsversuche. Nach einer bestimmten Anzahl falscher Kennwortversuche wird die IP-Adresse des Clients von Fail2Ban gesperrt. Es kann verwendet werden, um verschiedene Dienste zu sichern, darunter SSH, vsftpd, Apache und Webmin.
In diesem Tutorial zeige ich Ihnen, wie Sie die Fail2Ban-Firewall auf Alma Linux 8 installieren.
Voraussetzungen
- Ein Server, auf dem Alma Linux 8 ausgeführt wird.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Firewalld-Installation überprüfen
Standardmäßig ist das Firewalld-Paket auf Alma Linux 8 vorinstalliert. Zuerst müssen Sie überprüfen, ob es läuft oder nicht. Sie können dies mit dem folgenden Befehl überprüfen:
systemctl status firewalld
Wenn Firewalld nicht läuft, erhalten Sie die folgende Ausgabe:
Starten Sie nun den Dienst firewalld mit dem folgenden Befehl:
systemctl starte firewalld
Sie können den Status der Firewall mit dem folgenden Befehl überprüfen:
systemctl status firewalld
Sie sollten die folgende Ausgabe sehen:
Listen Sie nun alle von firewalld konfigurierten Dienste mit dem folgenden Befehl auf:
firewall-cmd --list-all
Sie sollten die folgende Ausgabe sehen:
public (active) target:default icmp-block-inversion:no Interfaces:eth0 eth1 sources:services:cockpit dhcpv6-client ssh ports:protocols:forward:no masquerade:no forward-ports:source-ports:icmp- Blöcke:Rich-Regeln:
Fail2Ban installieren
Standardmäßig ist das Fail2Ban-Paket nicht im Standard-Repository von Alma Linux verfügbar. Sie müssen es also aus dem EPEL-Repo installieren. Sie können das EPEL-Repo mit dem folgenden Befehl installieren:
dnf install epel-release -y
Sobald das EPEL-Repository installiert ist, können Sie die Fail2Ban-Firewall mit dem folgenden Befehl installieren:
dnf install fail2ban fail2ban-firewalld -y
Sobald die Installation abgeschlossen ist, starten und aktivieren Sie den Fail2Ban-Dienst mit dem folgenden Befehl:
systemctl start fail2ban
systemctl enable fail2ban
Sie können den Status des Dienstes fail2ban überprüfen, indem Sie den folgenden Befehl ausführen:
Systemctl-Status fail2ban
Sie sollten die folgende Ausgabe sehen:
Fail2Ban konfigurieren
Die Hauptkonfigurationsdatei von Fail2Ban befindet sich unter /etc/fail2ban/jail.conf . Es empfiehlt sich, eine Kopie der Hauptkonfigurationsdatei zu erstellen. Sie können es mit dem folgenden Befehl erstellen:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Standardmäßig verwendet Fail2Ban die Iptables-Firewall. Um die Firewall-Unterstützung zu aktivieren, führen Sie den folgenden Befehl aus:
mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local
Starten Sie als Nächstes den Fail2Ban-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart fail2ban
Sicheres SSH mit Fail2Ban
Standardmäßig ist Fail2Ban nicht so konfiguriert, dass Remote-IPs blockiert werden. Sie müssen die Fail2Ban-Jail-Konfigurationsdatei für jeden Dienst konfigurieren, den Sie schützen möchten.
Um den SSH-Dienst zu schützen, erstellen Sie mit dem folgenden Befehl eine Jail-Konfigurationsdatei für SSH:
nano /etc/fail2ban/jail.d/sshd.local
Fügen Sie die folgenden Zeilen hinzu:
# Diese Konfiguration blockiert den Remote-Host für 2 Stunden nach 3 fehlgeschlagenen SSH-Anmeldeversuchen. [sshd]enabled =truebantime =2hmaxretry =3
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den SSH-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart fail2ban
Sie können jetzt die Jail-Konfiguration mit dem folgenden Befehl überprüfen:
fail2ban-Client-Status
Sie erhalten das konfigurierte Jail in der folgenden Ausgabe:
Status|- Jail-Nummer:1`- Jail-Liste:sshd
Führen Sie den folgenden Befehl aus, um das SSH-Gefängnis auf gesperrte IPs zu überprüfen:
fail2ban-client status sshd
Sie erhalten alle gesperrten IP-Listen in der folgenden Ausgabe:
Status für das Jail:sshd|- Filter| |- Aktuell fehlgeschlagen:6| |- Insgesamt fehlgeschlagen:15| `- Journal-Übereinstimmungen:_SYSTEMD_UNIT=sshd.service + _COMM=sshd`- Aktionen |- Aktuell gesperrt:2 |- Insgesamt gesperrt:2 `- Gesperrte IP-Liste:96.9.67.48 43.154.142.8
Wenn Sie die Sperrung der IP-Adresse manuell aufheben möchten, führen Sie den folgenden Befehl aus:
fail2ban-client unban Remote-IP-Adresse
Schlussfolgerung
In der obigen Anleitung haben wir erklärt, wie man Fail2Ban auf Alma Linux 8 installiert. Wir haben auch erklärt, wie man Fail2Ban verwendet, um den SSH-Dienst zu sichern. Sie können Fail2Ban jetzt in der Produktionsumgebung implementieren, um Ihr System vor Brute-Force-Angriffen zu schützen.