Dieses Tutorial hilft Ihnen bei der Installation und Konfiguration von Fail2ban auf Ihren CentOS-, RHEL 8- und Fedora-Systemen. In diesem Artikel erfahren Sie auch, wie Sie einen bestimmten Dienst zur Überwachung unter fail2ban hinzufügen.
Schritt 1 – Fail2ban auf CentOS 8 installieren
Installieren Sie zuerst epel-release Paket, um das EPEL yum-Repository auf Ihrem CentOS 8-System zu konfigurieren. Installieren Sie danach das Fail2ban-RPM-Paket mit den folgenden Befehlen.
sudo dnf install epel-release sudo dnf install fail2ban
Schritt 2 – Fail2ban konfigurieren
Fail2ban speichert Konfigurationsdateien unter /etc/fail2ban Verzeichnis. aber wir müssen eine Kopie dieser Datei als jail.local erstellen .
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vi /etc/fail2ban/jail.local
Jetzt müssen wir die notwendigen Änderungen in jail.local vornehmen Datei zum Erstellen von Sperrregeln. Bearbeiten Sie diese Datei in Ihrem bevorzugten Editor und nehmen Sie Änderungen in [DEFAULT] vor Abschnitt.
Shell
12345678910111213141516 | [DEFAULT] # „ignoreip“ kann eine Liste von IP-Adressen, CIDR-Masken oder DNS-Hosts sein. Fail2ban# wird keinen Host sperren, der mit einer Adresse in dieser Liste übereinstimmt. Mehrere Adressen# können mit Leerzeichen (und/oder Komma) definiert werden separator.ignoreip =127.0.0.1/8 192.168.1.0/24 # "bantime" ist die Anzahl der Sekunden, die ein Host gesperrt ist.bantime =60m # Ein Host ist gesperrt, wenn es während der letzten "findtime"-Sekunden "maxretry" generiert hat. wie unten # Einstellungen, 2 Minuten findtime =5m # "maxretry" ist die Anzahl der Fehler, bevor ein Host gesperrt wird.maxretry =5 |
Schritt 3 – SSH/SFTP schützen
Gehen Sie nach Abschluss der Standardkonfiguration in dieselbe Datei jail.local und aktualisieren Sie [ssh-iptables] Abschnitt wie unten.
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"] logpath = /var/log/secure maxretry = 3
Schritt 4 – FTP schützen
Lassen Sie uns Ihren FTP-Server (vsFTPd) schützen. Suchen Sie den folgenden Eintrag von [vsftpd-iptables] Abschnitt und nehmen Sie die Änderungen wie folgt vor. Wenn Sie vsFTPd nicht verwenden, können Sie diesen Abschnitt überspringen.
[vsftpd-iptables] enabled = true filter = vsftpd action = iptables[name=VSFTPD, port=21, protocol=tcp] sendmail-whois[name=VSFTPD, [email protected]] logpath = /var/log/vsftpd.log maxretry = 5 bantime = 1800
Schritt 5 – Dienst und Test neu starten
Nachdem Sie alle Änderungen vorgenommen haben, speichern Sie Ihre Datei und starten Sie den Fail2ban-Dienst mit dem folgenden Befehl neu.
sudo systemctl start fail2ban.service sudo systemctl enable fail2ban.service
Zu Testzwecken habe ich SSH mit den falschen Anmeldeinformationen von einem anderen Computer aus versucht. Nach drei Fehlversuchen hat Fail2ban diese IP über iptables mit ICMP ablehnen blockiert. Sie können die Regeln in iptables sehen, nachdem Sie die IP-Adresse wie folgt blockiert haben. Stellen Sie bei reinen SSH-Systemen sicher, dass Sie SSH-Zugriff von einer anderen IP haben, bevor Sie diese Tests durchführen.