Fail2Ban und die bösen Jungs
Neuer Server, neue Möglichkeiten – Warum ein Wechsel manchmal unvermeidbar ist
Manchmal steht es an: Ein neuer Server muss her. Der alte ist entweder im Preis-Leistungs-Verhältnis nicht mehr konkurrenzfähig oder andere Gründe machen den Wechsel notwendig. In unserem Fall ging es um die Neugestaltung der Webseite, verbunden mit einem Server-Update, um die Performance und Sicherheit zu verbessern.
Warum wir auf ISPConfig setzen
Seit vielen Jahren vertrauen wir auf ISPConfig, eine bewährte Open-Source-Lösung für die Verwaltung von Servern. Diese Software bietet eine Vielzahl von Funktionen, die einem die Arbeit erleichtern, sei es die Verwaltung von Domains, E-Mails oder Datenbanken. Aber wie bei vielen leistungsstarken Tools gilt: Manchmal sind individuelle Anpassungen nötig, um spezielle Anforderungen optimal umzusetzen.
Sicherheit im Fokus: Unser Einsatz von Fail2Ban
Im heutigen Beitrag wollen wir über Fail2Ban sprechen – ein wichtiges Tool, um Server vor unerwünschtem Zugriff zu schützen. Cyberkriminalität bleibt eine allgegenwärtige Bedrohung, und Tools wie Fail2Ban helfen uns, den Server abzusichern und „die bösen Jungs“ draußen zu halten.
Fail2Ban analysiert Log-Dateien und blockiert IP-Adressen, die durch verdächtige Aktivitäten auffallen – sei es durch fehlgeschlagene Login-Versuche oder andere verdächtige Muster. Damit sorgt das Tool für eine zusätzliche Schutzschicht, die besonders bei öffentlich zugänglichen Servern unverzichtbar ist.
Anleitung zur Konfiguration von Fail2Ban auf Ubuntu 24.04
In diesem Beitrag zeigen wir Schritt für Schritt, wie Sie Fail2Ban einrichten, testen und anpassen, um Ihren Server optimal zu schützen. Diese Anleitung ist speziell auf Ubuntu 24.04 abgestimmt.
Vorbereitung
- Anmelden als Admin
Loggen Sie sich mit einem Benutzerkonto ein, das sudo-Rechte hat. Benutzerdefinierte Dateien erstellen
Um Ihre Konfiguration vor Überschreibungen bei Updates zu schützen, erstellen wir eigene Konfigurationsdateien. Dies kann mit dem touch-Befehl erfolgen:
sudo touch /etc/fail2ban/jailinfo.sh sudo touch /etc/fail2ban/jail.d/custom.conf sudo touch /etc/fail2ban/filter.d/ufw.conf
Testing: Jail-Status prüfen
Skript erstellen
Erstellen Sie die Datei /etc/fail2ban/jailinfo.sh und machen Sie sie ausführbar:sudo nano /etc/fail2ban/jailinfo.sh
Fügen Sie folgenden Inhalt ein:
#!/bin/bash for jail in $(sudo fail2ban-client status | grep 'Jail list:' | sed 's/.*://;s/,//g'); do echo "Jail: $jail"; sudo fail2ban-client status $jail | grep 'Banned IP'; done
Skript ausführbar machen
sudo chmod +x /etc/fail2ban/jailinfo.sh
Skript ausführen
Das Skript liefert eine Übersicht der aktiven Jails und blockierten IP-Adressen:sudo ./etc/fail2ban/jailinfo.sh
Beispielausgabe bei einer ISPConfig-Installation:
Jail: dovecot `- Banned IP list: Jail: postfix-sasl `- Banned IP list: Jail: pure-ftpd `- Banned IP list: Jail: sshd `- Banned IP list: 218.92.0.155 141.98.10.198
Jail-Konfiguration anpassen
Öffnen Sie die Datei /etc/fail2ban/jail.d/custom.conf:
sudo nano /etc/fail2ban/jail.d/custom.conf
Fügen Sie die folgende Konfiguration ein:
[DEFAULT]
bantime.increment = true
bantime.multipliers = 1 2 4 8 16 32 64
bantime = 20m
findtime = 60m
maxretry = 3
banaction = ufw
banaction_allports = ufw
[ufw]
enabled = true
filter = ufw
action = iptables-allports
logpath = /var/log/ufw.log
[nginx-4xx]
enabled = true
port = http,https
filter = nginx-4xx
logpath = %(nginx_error_log)s
[nginx-http-auth]
enabled = true
port = http,https
filter = nginx-http-auth
logpath = %(nginx_error_log)s
[nginx-botsearch]
enabled = true
port = http,https
filter = nginx-botsearch
logpath = %(nginx_access_log)s
[nginx-forbidden]
enabled = true
port = http,https
filter = nginx-forbidden
logpath = %(nginx_error_log)s
[nginx-sslerror]
enabled = true
port = http,https
filter = nginx-sslerror
logpath = %(nginx_error_log)s
Filter für UFW anpassen
Öffnen Sie die Datei /etc/fail2ban/filter.d/ufw.conf:
sudo nano /etc/fail2ban/filter.d/ufw.conf
Fügen Sie folgenden Inhalt ein:
[Definition]
failregex = [UFW BLOCK].+SRC=<HOST> DST
ignoreregex =
Änderungen übernehmen
Starten Sie den Fail2Ban-Dienst neu und prüfen Sie den Status:
sudo service fail2ban restart
sudo service fail2ban status
Wir testen wieder und sehen direkt die Änderungen an unserem System.
Jail: dovecot
`- Banned IP list:
Jail: nginx-4xx
`- Banned IP list:
Jail: nginx-botsearch
`- Banned IP list:
Jail: nginx-forbidden
`- Banned IP list:
Jail: nginx-http-auth
`- Banned IP list:
Jail: nginx-sslerror
`- Banned IP list:
Jail: postfix-sasl
`- Banned IP list:
Jail: pure-ftpd
`- Banned IP list:
Jail: sshd
`- Banned IP list: 218.92.0.155 141.98.10.198
Jail: ufw
`- Banned IP list: 118.37.157.169 78.128.113.102 154.213.187.163 5.188.206.22 2.57.122.163 18.223.104.85 78.128.113.98 115.231.78.10
Direkt zu sehen sind die Änderungen bei der UFW Firewall. Bei den anderen Regeln ist es nur noch eine Frage der Zeit.
Fazit: Der Mix macht’s
Der Wechsel zu einem neuen Server und der Einsatz bewährter Tools wie ISPConfig und Fail2Ban ermöglichen uns, eine moderne und sichere Grundlage für unsere Projekte zu schaffen. Individuelle Anpassungen sorgen dabei für den Feinschliff, damit unsere Server so effizient und sicher wie möglich arbeiten.
Mehr
Digitalisierung und Industrie 4.0 umfassen die Automatisierung interner Prozesse und der Produktion sowie von Vertriebskanälen wie Online-Shops.