Linux-Server absichern: UFW-Firewall und Fail2ban
Linux-Server mit UFW und Fail2ban absichern: Ports bewusst freigeben, SSH schützen, Jails prüfen und Sperren sauber verifizieren.

UFW und Fail2ban sind für viele Linux-Server der erste sinnvolle Sicherheitsbaustein. UFW steuert, welche eingehenden Ports überhaupt erreichbar sind. Fail2ban reagiert auf verdächtige Wiederholungen in Logs und sperrt auffällige IP-Adressen zeitweise aus. Beide Werkzeuge ergänzen sich, ersetzen aber weder gutes Passwort- oder Schlüsselmanagement noch sauberes Systemverständnis.
Der gefährlichste Fehler bei diesem Thema ist nicht ein zu offener Server, sondern ein falsch geschlossener: Wer SSH vergisst, sperrt sich schnell selbst aus. Genau deshalb gehen wir in einer festen Reihenfolge vor.
Voraussetzungen
- Debian- oder Ubuntu-Server mit sudo-Rechten
- Funktionierender SSH-Zugang
- Bewusstsein, welche Dienste der Server wirklich nach außen anbieten soll
Schritt 1: Vor dem Härten den SSH-Zugang absichern
Bevor du eine Firewall aktivierst, muss dein SSH-Zugang sauber funktionieren. Ideal ist ein bereits getesteter Schlüssel-Login. Dazu passt unsere Anleitung SSH-Key-Authentifizierung einrichten.
Verifizieren: Öffne eine zweite SSH-Sitzung und prüfe, dass du dich zuverlässig neu verbinden kannst. Erst dann gehst du weiter.
Schritt 2: UFW-Grundregeln setzen
sudo apt update
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSHDamit ist eingehender Verkehr standardmäßig gesperrt, ausgehender erlaubt und SSH explizit freigegeben.
Verifizieren: Prüfe mit sudo ufw status verbose, ob die Standardrichtlinien stimmen und OpenSSH erlaubt ist.
Schritt 3: Nur nötige Dienste freigeben
Jetzt öffnest du nur die Ports, die dein Server wirklich braucht.
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status numberedPort 80 und 443 sind typische Webserver-Ports. Datenbank- oder Admin-Ports öffnest du nur, wenn sie wirklich nach außen gebraucht werden.
Verifizieren: Der Schritt ist erfolgreich, wenn die Regelübersicht nur die wirklich erwarteten Freigaben zeigt und du dich weiterhin per SSH verbinden kannst.
Schritt 4: Fail2ban installieren und für SSH aktivieren
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.localFür den Einstieg reicht meist die SSH-Jail. Ein einfacher Kern sieht so aus:
[sshd]
enabled = true
bantime = 1h
findtime = 10m
maxretry = 5Danach:
sudo systemctl restart fail2ban
sudo systemctl status fail2banVerifizieren: Der Schritt ist erfolgreich, wenn der Dienst läuft und keine Konfigurationsfehler meldet.
Schritt 5: Jails und Sperren prüfen
sudo fail2ban-client status
sudo fail2ban-client status sshdDamit prüfst du, ob die SSH-Jail aktiv ist und ob aktuell gebannte IPs geführt werden.
Verifizieren: Du bist hier fertig, wenn die Jail sshd in der Statusausgabe erscheint und Fail2ban aktive Überwachung meldet.
Schritt 6: Zusammenspiel aus Firewall, SSH und Logs kontrollieren
Sicherheit ist nicht nur Konfiguration, sondern auch Kontrolle. Sieh dir deshalb die Logs an:
sudo journalctl -u fail2ban -n 50
sudo tail -f /var/log/auth.logWenn du verstehen willst, wie du solche Meldungen systematisch liest, passt unser Grundlagenartikel Logs lesen mit journalctl und /var/log.
Verifizieren: Der Schritt ist erfolgreich, wenn du sowohl die UFW-Regeln als auch die aktive Fail2ban-Überwachung nachvollziehen kannst.
Troubleshooting
- SSH geht nach UFW nicht mehr: Prüfe, ob
OpenSSHwirklich vor dem Aktivieren erlaubt wurde. - Fail2ban startet nicht: Meist steckt ein Syntaxfehler in
jail.local. - Keine Bans sichtbar: Dann gab es vielleicht noch keine passenden Fehlversuche oder der falsche Logpfad wird beobachtet.
Häufige Fragen
Reicht UFW allein aus?
Nein. UFW regelt nur den Netzwerkzugang. Fail2ban ergänzt eine Reaktion auf verdächtige Muster.
Soll ich alle Ports schließen?
Alle unnötigen Ports ja. Nötige Dienste wie SSH oder HTTPS müssen gezielt offen bleiben.
Kann Fail2ban eine Firewall ersetzen?
Nein. Fail2ban arbeitet ergänzend, nicht statt einer Firewall.
Fazit
Mit UFW und Fail2ban hast du einen sauberen ersten Sicherheitsrahmen für Linux-Server. Die eigentliche Stärke liegt in der Reihenfolge: erst SSH absichern, dann Ports minimieren, dann Angriffsversuche überwachen und am Ende alles gegen Logs und Status prüfen.
Weiterführende Anleitungen und Quellen
- SSH-Key-Authentifizierung einrichten
- Logs lesen mit journalctl und /var/log
- Linux-Benutzer, Gruppen und Rechte verstehen
Quellen: UFW Manual, Fail2ban Documentation, Debian/Ubuntu Paketdokumentation.