Den Server vor möglichen Angriffen zu schützen, ist eine grundlegende Aufgabe eines jeden Systemadministrators. Dies ist nicht so einfach, wie es scheint, aber es ist möglich, wenn Sie lernen, wie man Fail2ban unter CentOS 8 installiert und konfiguriert. Die folgende Anleitung wird für diesen Zweck sehr nützlich sein.
Fail2Ban
Fail2ban ist ein Python-Tool, das Protokolldateien wie /var/log/auth.log
scannt und verbietet IP-Adressen, die zu viele fehlgeschlagene Anmeldeversuche durchführen. Dies geschieht durch Aktualisierung der Firewall-Regeln des Systems, um neue Verbindungen von diesen IP-Adressen für einen konfigurierbaren Zeitraum abzulehnen.
Standardmäßig wird Fail2ban als Out-the-Box angesehen, da es einige Einstellungen enthält, die es ihm ermöglichen, viele Protokolldateien zu lesen und Schutzregeln anzuwenden.
Fail2ban wird von vielen Systemadministratoren verwendet und kann das Risiko von SSH-Angriffen reduzieren obwohl die Entwickler darauf hinweisen, dass andere Sicherheitsmaßnahmen erforderlich sind, um wirklich geschützt zu sein. Mit Fail2ban können wir jedoch eine weitere Sicherheitsebene haben und den Server etwas sicherer machen.
Ein Detail, das nicht übersehen werden darf, ist, dass Fail2ban Open Source ist, sodass Sie sicher sein können, dass der Quellcode keine Hintertüren oder schädlichen Code enthält.
Installieren Sie Fail2ban auf CentOS 8
Trotz seiner Popularität ist Fail2ban nicht in den offiziellen CentOS 8-Repositories enthalten. Dies ist jedoch kein Problem bei der Installation.
Versuchen Sie also in einer Terminalumgebung, das Betriebssystem zu aktualisieren
sudo dnf update
Fail2ban ist im EPEL-Repository vorhanden. Dieses Repository, obwohl es sich außerhalb von CentOS 8 befindet, wird von vielen aufgrund der großen Anzahl von Paketen, die es enthält, als grundlegendes Repository angesehen. Außerdem gilt es als ziemlich sicher und wird uns bei diesem Prozess helfen.
Fügen Sie es also dem laufenden System hinzu.
sudo dnf install epel-release
Sobald das Paket installiert und das Repository zum System hinzugefügt wurde, können wir Fail2ban installieren:
sudo dnf install fail2ban
Fail2ban wird als Systemdienst behandelt, also müssen wir es mit dem Befehl systemctl
startensudo systemctl start fail2ban
Es ist eine gute Idee, es mit dem System als weiteren Dienst zu starten.
sudo systemctl enable fail2ban
Und Sie können den Status des Dienstes überprüfen, um festzustellen, ob er korrekt gestartet wurde.
sudo systemctl status fail2ban
Jetzt, da Fail2ban installiert ist, können wir es nach unseren Bedürfnissen konfigurieren.
Konfigurieren von Fail2ban auf CentOS 8
Bevor Sie einige Konfigurationen vornehmen, sollten Sie einige Dinge darüber wissen, wie Fail2ban seine Konfigurationsdateien verwaltet.
Standardmäßig ist das Verzeichnis, in dem sich die Fail2ban-Konfigurationsdateien befinden, /etc/fail2ban/
und es gibt zwei Dateien, die wir nicht ändern müssen, /etc/fail2ban/jail.conf
und /etc/fail2ban/jail.d/00-firewalld.conf
.
Daher besteht die empfohlene Methode zum Erstellen von Konfigurationen darin, den gesamten Inhalt von jail.conf
zu kopieren in eine Datei namens jail.local
im selben Verzeichnis. Das liegt daran, dass die Datei .local
Dateien überschreiben die .conf
Dateien. Es ist auch möglich, die Datei von Grund auf neu zu erstellen.
Ob Sie den Inhalt von jail.conf
kopieren oder fangen Sie von vorne an, Sie können Ihre eigenen Einstellungen hinzufügen.
Einige grundlegende Konfigurationen für Fail2ban können zum Beispiel sein:
- Bantime:Zeit in Sekunden, die die IP gesperrt wird.
- Maxretry:Anzahl der zulässigen Wiederholungen, bevor sie gesperrt werden.
- Findtime:Wenn der Host den
maxretry
macht in der Zeit, ausgedrückt infindtime
, dann wird es gesperrt. - Banaction:Aktion, die das System beim Bannen des Hosts ausführt.
- Backend:Woher die Protokolle von fail2ban stammen.
Auch mit dem ignoreip
Wert können Sie eine IP-Adresse oder einen Bereich definieren, den Fail2ban ignoriert.
Schutz von SSH mit Fail2ban
Einer der wichtigsten zu schützenden Dienste ist SSH. Dazu können Sie der Konfigurationsdatei jail.local
hinzufügen den Wert jail.local
.
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log
Auf diese Weise können Sie SSH schnell und einfach schützen.
Um alle Änderungen zu übernehmen, starten Sie den Fail2ban-Dienst neu.
sudo systemctl restart fail2ban
Schlussfolgerung
In diesem Beitrag haben Sie gelernt, wie Sie Fail2ban konfigurieren, um Ihren Server weiter vor Angriffen auf Systemdienste zu schützen. Sie können die offizielle Fail2ban-Dokumentation konsultieren, in der Sie viele verschiedene Konfigurationen finden.