Letzte Aktualisierung: 27.11.2024 15:20

Einleitung

Fail2Ban ist ein unverzichtbares Tool, wenn es darum geht, Ihren Server vor Brute-Force-Angriffen und unerwünschten Login-Versuchen zu schützen. Es überwacht Logdateien, erkennt verdächtige Aktivitäten und blockiert automatisch auffällige IP-Adressen. In diesem Tutorial erfahren Sie, wie Sie Fail2Ban speziell für Debian 11 installieren, konfigurieren und optimal nutzen, um Ihren Server sicherer zu machen.

Voraussetzungen

Um dieses Tutorial folgen zu können, benötigen Sie einen Debian 11 Server mit einen nicht Root-User welcher „sudo“ Rechte Besitzt und einer einfachen Firewall. Dies kann mithilfe des Tutorial Ersteinrichtung eines Debian 11 Servers konfiguriert werden.

Durchführung

Schritt 1 – Sicherstellung auf Aktualität des Systems

Vor der Installation von Fail2Ban rate ich Ihnen ihre System Paketlisten zu aktualisieren. Um diesen Befehl auszuführen müssen Sie vor dem Befehl sudo schreiben. Beim erstmaligen ausführen des Befehls werden Sie nach Ihrem Passwort gefragt, da Sie nur mit Root-Rechten arbeiten.

Um die aktuellen Pakete abzurufen, geben Sie folgenden Befehl ein:

sudo apt update

Nun kann Ihr System Ihnen sagen, dass es Updates für bereits installierte Pakete existiert. Falls dies so ist, können Sie folgenden Befehl eingeben.

sudo apt upgrade -y

Schritt 2 – Fail2Ban installieren

Fail2Ban ist in den Standardrepositories von Debian 11 verfügbar und lässt sich mit wenigen Befehlen installieren:

sudo apt install fail2ban -y

Nach der Installation startet der Dienst automatisch. Überprüfen Sie den Status, um sicherzustellen, dass alles korrekt eingerichtet ist:

sudo systemctl status fail2ban

Wenn der Dienst läuft, ist Fail2Ban bereit für die Konfiguration.

Schritt 3 – Grundkonfiguration vornehmen

Um Ihre individuellen Einstellungen vorzunehmen, erstellen Sie eine Kopie der Standardkonfigurationsdatei, damit diese durch zukünftige Updates nicht überschrieben wird:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Öffnen Sie die Datei jail.local zur Bearbeitung:

sudo nano /etc/fail2ban/jail.local

Passen Sie die globalen Einstellungen wie folgt an:

[DEFAULT]
bantime = 10m         # Dauer der Sperre (z. B. 10 Minuten)
findtime = 10m        # Zeitraum, in dem die Fehlversuche auftreten dürfen
maxretry = 5          # Maximale Anzahl von Fehlversuchen

Diese Parameter definieren, wie lange eine IP-Adresse gesperrt wird und wie viele Fehlversuche zulässig sind.

Schritt 4 – SSH-Zugang absichern

SSH ist eines der Hauptziele von Angriffen. Aktivieren Sie das Jail für SSH in der Datei jail.local, indem Sie den folgenden Abschnitt bearbeiten:

[sshd]
enabled = true
port = 22             # Passen Sie dies an, falls Sie den SSH-Port geändert haben
filter = sshd
logpath = /var/log/auth.log
maxretry = 5

Falls Sie einen benutzerdefinierten SSH-Port verwenden, ersetzen Sie 22 durch die entsprechende Portnummer.

Schritt 5 – Weitere Dienste absichern

Fail2Ban unterstützt vorgefertigte Regeln (Jails) für viele weitere Dienste wie Webserver, FTP oder Mailserver. Um beispielsweise Apache abzusichern, aktivieren Sie das Jail:

[apache-auth]
enabled = true
port = http,https
logpath = /var/log/apache2/error.log
maxretry = 3

Passen Sie die Parameter und Logpfade entsprechend Ihrer Serverkonfiguration an.

Schritt 6 – Änderungen übernehmen

Nachdem Sie alle Anpassungen vorgenommen haben, starten Sie den Fail2Ban-Dienst neu, um die Änderungen zu aktivieren:

sudo systemctl restart fail2ban

Überprüfen Sie erneut den Status, um sicherzugehen, dass der Dienst korrekt läuft:

sudo systemctl status fail2ban

Schritt 7 – Fail2Ban überwachen

Fail2Ban bietet mehrere Befehle, um seine Aktivitäten zu überwachen und zu verwalten:

  • Alle aktiven Jails anzeigen:
sudo fail2ban-client status
  • Details zu einem Jail anzeigen (z. B. SSH):
sudo fail2ban-client status sshd
  • Manuelle Sperre einer IP-Adresse:
sudo fail2ban-client set sshd banip <IP-Adresse>
  • Manuelle Entsperrung einer IP-Adresse:
sudo fail2ban-client set sshd unbanip <IP-Adresse>

Schritt 8 – E-Mail-Benachrichtigungen aktivieren

Falls Sie Benachrichtigungen über blockierte IP-Adressen erhalten möchten, können Sie dies in der Konfiguration aktivieren. Öffnen Sie die Datei jail.local und ergänzen Sie die Einstellungen im Abschnitt [DEFAULT]:

[DEFAULT]
destemail = IhreEmail@example.com
sender = Fail2Ban@example.com
mta = sendmail
action = %(action_mwl)s

Installieren Sie ein Mail-Transfer-Agent-Programm wie sendmail, falls es noch nicht installiert ist:

sudo apt install sendmail -y

Starten Sie Fail2Ban erneut:

sudo systemctl restart fail2ban

Sie erhalten nun E-Mails über verdächtige Aktivitäten und blockierte IP-Adressen.

Fazit

Mit Fail2Ban haben Sie eine effektive Sicherheitslösung auf Ihrem Debian-11-Server eingerichtet. Das Tool bietet eine zuverlässige Schutzschicht für wichtige Dienste wie SSH und Apache und minimiert das Risiko durch automatisierte Angriffe. Durch regelmäßige Überwachung und Anpassungen der Konfiguration können Sie die Sicherheit Ihres Servers weiter optimieren. Fail2Ban ist eine einfache, aber äußerst wirkungsvolle Lösung, um Ihren Server vor unbefugtem Zugriff zu schützen.