fail2ban ist ein leichtes Intrusion-Prevention-Tool, das dabei hilft, Server vor automatisierten Angriffen und Botnets zu schützen. Es überwacht Protokolldateien und blockiert IP-Adressen, die verdächtiges Verhalten zeigen, wie wiederholte fehlgeschlagene Anmeldeversuche.
Wichtig
Für die Installation und Konfiguration von fail2ban ist Root-Zugriff erforderlich.
Was fail2ban macht
fail2ban scannt Protokolldateien, die von Diensten wie SSH und Webservern generiert werden. Wenn innerhalb eines bestimmten Zeitfensters eine definierte Anzahl von Ausfällen derselben Quelle auftritt, fail2ban fügt automatisch eine Firewall-Regel hinzu, um diese IP-Adresse für eine konfigurierbare Dauer zu blockieren.
Dieser Ansatz ist besonders effektiv auf öffentlich zugänglichen Systemen wie z VPS-Hosting in den Niederlanden oder selbstverwaltet dedizierte Server, bei denen Dienste direkt dem Internet ausgesetzt sind.
Fail2ban installieren
Die Installationsschritte hängen von der Linux-Distribution ab, die auf Ihrem Server ausgeführt wird.
Debian und Ubuntu
Aktualisieren Sie den Paketindex und installieren Sie fail2ban:
apt-get update
apt-get install fail2ban
[Screenshot-Platzhalter: apt-Paketinstallationsausgabe für fail2ban]
AlmaLinux und Fedora
Installieren Sie fail2ban mit dem Systempaketmanager:
yum install fail2ban
Auf diesen Distributionen, Das EPEL-Repository muss vor der Installation aktiviert werden.
[Screenshot-Platzhalter: yum install fail2ban-Ausgabe mit aktiviertem EPEL]
Erstkonfiguration
fail2ban verwendet Konfigurationsdateien, die sich in befinden /etc/fail2ban. Die Standardkonfigurationsdatei sollte nicht direkt bearbeitet werden, da es bei Updates überschrieben werden kann.
Erstellen Sie eine lokale Konfigurationsdatei, indem Sie die Standardvorlage kopieren:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
[Screenshot-Platzhalter: Terminal zeigt, dass jail.conf nach jail.local kopiert wurde]
Öffnen Sie die jail.local Datei mit Ihrem bevorzugten Texteditor.
Konfigurieren globaler Optionen
Im jail.local Datei, Finden Sie die [DEFAULT] Abschnitt. Diese Einstellungen gelten für alle aktivierten Jails, sofern sie nicht überschrieben werden.
ignorierenip
Diese Option definiert IP-Adressen, die niemals gesperrt werden sollten. Es wird häufig verwendet, um vertrauenswürdige Standorte wie Büro- oder Heim-IPs auf die Whitelist zu setzen.
ignoreip = 127.0.0.1/8 203.0.113.10
[Screenshot-Platzhalter: Ignorierip-Konfiguration in jail.local]
Bantime
Definiert, wie lange eine IP-Adresse blockiert wird, nachdem die zulässige Anzahl von Fehlern überschritten wurde.
bantime = 600
maxretry und findtime
Diese Optionen arbeiten zusammen, um den Erkennungsschwellenwert zu definieren:
maxretry = 5
findtime = 600
Wenn eine IP-Adresse die zulässigen Wiederholungsversuche innerhalb des definierten Zeitfensters überschreitet, es ist für die von angegebene Dauer gesperrt bantime.
[Screenshot-Platzhalter: globale Schwellenwerteinstellungen in jail.local]
Aktivieren von Service-Gefängnissen
fail2ban schützt Dienste mithilfe von Jails. Jedes Jail zielt auf einen bestimmten Dienst oder ein bestimmtes Protokollmuster ab.
Standardmäßig, Ein SSH-Gefängnis ist enthalten, aber deaktiviert. Um es zu aktivieren, Suchen Sie den SSH-Gefängnisabschnitt und legen Sie ihn fest:
enabled = true
[Screenshot-Platzhalter: SSH-Jail in der Konfigurationsdatei aktiviert]
Auf die gleiche Weise können weitere Jails aktiviert werden, Abhängig von den Diensten, die auf Ihrem Server ausgeführt werden.
fail2ban wird neu gestartet
Nach dem Speichern der Konfigurationsänderungen, Starten Sie den Dienst neu, um sie anzuwenden:
service fail2ban restart
[Screenshot-Platzhalter: Bestätigung des Neustarts des fail2ban-Dienstes]
Überprüfung gesperrter IP-Adressen
Um die von fail2ban hinzugefügten Firewallregeln anzuzeigen, laufen:
iptables -S
Eine gesperrte IP-Adresse erscheint normalerweise in einer Regel ähnlich der folgenden:
-A fail2ban-SSH -s 10.0.1.124/32 -j REJECT --reject-with icmp-port-unreachable
[Screenshot-Platzhalter: iptables-Ausgabe mit Fail2ban-Regeln]
Verwendung von fail2ban in größeren Umgebungen
fail2ban wird häufig auf eigenständigen Servern bereitgestellt und ist skalierbar Cloud-Server-Umgebungen. Bei Verwendung zusammen mit Firewalls und regelmäßigen Systemaktualisierungen, Es verringert die Wirksamkeit des automatisierten Angriffsverkehrs erheblich.
Die Konfiguration sollte regelmäßig überprüft werden, um sicherzustellen, dass die Schwellenwerte dem aktuellen Datenverkehr entsprechen
