Eine Firewall gehört zu den wichtigsten Sicherheitsmaßnahmen eines Linux-Servers. Sie kontrolliert, welche Netzwerkverbindungen erlaubt oder blockiert werden und schützt so vor unbefugten Zugriffen aus dem Internet.
Unter Debian 13 ist die Uncomplicated Firewall (UFW) die einfachste Möglichkeit, eine leistungsfähige Firewall einzurichten. UFW basiert auf den Linux-Technologien Netfilter und nftables beziehungsweise iptables, bietet jedoch eine deutlich einfachere Bedienung.
In diesem Artikel zeige ich Schritt für Schritt, wie du UFW unter Debian 13 installierst, konfigurierst und sicher betreibst.
Was ist UFW?
UFW steht für Uncomplicated Firewall und wurde ursprünglich für Ubuntu entwickelt. Mittlerweile ist sie auch auf Debian weit verbreitet.
Vorteile:
- Einfache Bedienung
- Schnelle Einrichtung
- Unterstützung für IPv4 und IPv6
- Ideal für Server und VPS-Systeme
- Integration mit Fail2Ban
- Übersichtliche Regelverwaltung
System aktualisieren
Vor der Installation solltest du dein System auf den aktuellen Stand bringen.
sudo apt update sudo apt upgrade -y
UFW installieren
Die Installation erfolgt direkt über die Paketverwaltung.
sudo apt install ufw -y
Nach der Installation kannst du die Version prüfen:
ufw version
Beispielausgabe:
ufw 0.36.x
Aktuellen Status prüfen
Standardmäßig ist UFW nach der Installation deaktiviert.
sudo ufw status
Ausgabe:
Status: inactive
Standardrichtlinien festlegen
Eine sichere Grundkonfiguration lautet:
Eingehende Verbindungen blockieren
sudo ufw default deny incoming
Ausgehende Verbindungen erlauben
sudo ufw default allow outgoing
Dadurch werden grundsätzlich alle eingehenden Verbindungen blockiert, solange sie nicht explizit erlaubt werden.
SSH-Zugriff freigeben
Wichtig!
Bevor du UFW aktivierst, musst du deinen SSH-Port freigeben. Andernfalls sperrst du dich selbst aus.
Standard-SSH-Port 22
sudo ufw allow 22/tcp
Alternativer SSH-Port 2222
Falls du SSH auf Port 2222 betreibst:
sudo ufw allow 2222/tcp
Status prüfen:
sudo ufw status numbered
HTTP und HTTPS freigeben
Für Webserver werden folgende Ports benötigt:
HTTP
sudo ufw allow 80/tcp
HTTPS
sudo ufw allow 443/tcp
Alternativ:
sudo ufw allow "Apache Full"
UFW aktivieren
Nun kann die Firewall aktiviert werden.
sudo ufw enable
Beispiel:
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Mit:
y
bestätigen.
Firewall-Regeln anzeigen
Einfache Übersicht:
sudo ufw status
Detaillierte Übersicht:
sudo ufw status verbose
Nummerierte Anzeige:
sudo ufw status numbered
Beispiel:
[1] 22/tcp ALLOW IN Anywhere [2] 80/tcp ALLOW IN Anywhere [3] 443/tcp ALLOW IN Anywhere
Regel löschen
Einzelne Regeln lassen sich anhand ihrer Nummer entfernen.
Beispiel:
sudo ufw delete 2
Alternativ:
sudo ufw delete allow 80/tcp
Zugriff auf bestimmte IP-Adressen beschränken
SSH nur für eine bestimmte IP erlauben:
sudo ufw allow from 203.0.113.10 to any port 22
Komplettes Netzwerk erlauben:
sudo ufw allow from 192.168.1.0/24
IP-Adresse blockieren
Einzelne IP sperren:
sudo ufw deny from 203.0.113.50
Subnetz sperren:
sudo ufw deny from 198.51.100.0/24
Rate-Limiting für SSH aktivieren
Eine sehr sinnvolle Schutzfunktion gegen Brute-Force-Angriffe:
sudo ufw limit ssh
oder
sudo ufw limit 22/tcp
Bei zu vielen Verbindungsversuchen wird die Quelle automatisch eingeschränkt.
IPv6-Unterstützung prüfen
UFW unterstützt IPv6 automatisch.
Konfiguration anzeigen:
sudo nano /etc/default/ufw
Folgende Zeile sollte vorhanden sein:
IPV6=yes
Logging aktivieren
Für die Fehleranalyse und Sicherheitsüberwachung empfiehlt sich das Logging.
sudo ufw logging on
Alternativ:
sudo ufw logging medium
Mögliche Stufen:
off low medium high full
UFW-Protokolle anzeigen
Die Firewall schreibt ihre Ereignisse nach:
/var/log/ufw.log
Live-Ausgabe:
sudo tail -f /var/log/ufw.log
oder:
sudo journalctl -u ufw -f
UFW zurücksetzen
Alle Regeln löschen:
sudo ufw reset
Anschließend erneut konfigurieren.
Nützliche Regeln für typische Server
Webserver
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Mailserver
sudo ufw allow 25/tcp sudo ufw allow 465/tcp sudo ufw allow 587/tcp sudo ufw allow 993/tcp
Nextcloud-Server
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Zammad-Server
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Zusammenspiel mit Fail2Ban
UFW harmoniert hervorragend mit Fail2Ban.
Installation:
sudo apt install fail2ban -y
Fail2Ban kann erkannte Angreifer automatisch über UFW sperren.
Prüfen:
sudo fail2ban-client status
Diese Kombination zählt zu den wichtigsten Sicherheitsmaßnahmen für öffentlich erreichbare Linux-Server.
UFW bietet einen einfachen und gleichzeitig leistungsfähigen Einstieg in die Absicherung von Debian-Servern. Mit wenigen Befehlen lässt sich ein wirksamer Basisschutz gegen unerwünschte Zugriffe aufbauen.
Für die meisten Webserver genügt bereits eine Konfiguration mit:
- SSH
- HTTP
- HTTPS
- Logging
- SSH-Rate-Limiting
- Fail2Ban
Damit wird die Angriffsfläche erheblich reduziert und die Sicherheit des Systems deutlich erhöht.
Wer einen Debian-13-Server betreibt, sollte UFW daher unmittelbar nach der Grundinstallation einrichten.