Firewall (ufw, nftables)
Pakete, Datenträger & Netzwerk
Wozu eine Firewall?
Eine Firewall entscheidet, welcher Netzwerkverkehr deinen Rechner erreichen oder verlassen darf. Sie ist die erste Verteidigungslinie: Selbst wenn ein Dienst versehentlich auf allen Schnittstellen lauscht, kann die Firewall verhindern, dass er von außen erreichbar ist. Unter Linux arbeitet die Firewall im Kernel über netfilter; gesteuert wird sie heute meist über nftables (früher iptables) – oder komfortabel über den Aufsatz ufw.
ufw: die einfache Lösung
ufw (Uncomplicated Firewall) ist auf Ubuntu/Debian die einfachste Variante. Du arbeitest mit klaren Befehlen statt komplizierter Regeltabellen. Zuerst legst du fest, was du erlauben willst, bevor du sie aktivierst:
# ufw allow 22/tcp # SSH erlauben # ufw allow 80,443/tcp # HTTP und HTTPS # ufw allow from 192.168.1.0/24 to any port 3306 # nur lokales Netz # ufw enable # Firewall aktivieren # ufw status verbose # Regeln anzeigen
Wichtigste Stolperfalle: Erlaube SSH (ufw allow 22/tcp) unbedingt, bevor du ufw enable ausführst – sonst sperrst du dich vom entfernten Server aus! Regeln entfernst du mit ufw delete:
# ufw delete allow 80/tcp # ufw disable # Firewall ausschalten
Default-Deny: das wichtigste Prinzip
Eine sichere Firewall folgt dem Prinzip „alles verbieten, nur Nötiges erlauben“ (Default-Deny). Eingehender Verkehr wird grundsätzlich blockiert, ausgehender erlaubt – und nur die wirklich benötigten Ports werden geöffnet:
# ufw default deny incoming # ufw default allow outgoing # ufw allow 22/tcp # ufw enable
So musst du nicht jeden gefährlichen Port einzeln sperren, sondern öffnest nur die wenigen, die dein Dienst wirklich braucht.
nftables und iptables
Unter der Haube arbeitet ufw mit nftables. Auf Systemen ohne ufw oder für feinere Kontrolle nutzt du es direkt. Die Regeln liegen in /etc/nftables.conf:
# nft list ruleset # aktuelle Regeln zeigen # nft add rule inet filter input tcp dport 22 accept
Das ältere iptables findest du noch auf vielen Systemen. Ein einfaches Beispiel:
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT # iptables -L -n # Regeln auflisten
| Werkzeug | Einordnung |
|---|---|
ufw | einfacher Aufsatz, ideal für Einsteiger |
nftables | moderner Standard, mächtig |
iptables | älterer Vorgänger, noch verbreitet |
Hinweise & Sicherheit
Prüfe nach dem Einrichten mit ss -tulpn von außen (z. B. von einem anderen Rechner), welche Ports wirklich erreichbar sind – eine lokale Regel nützt nichts, wenn dein Cloud-Anbieter eine eigene, vorgelagerte Firewall hat, die ebenfalls konfiguriert werden muss. Öffne niemals Ports „auf Vorrat“: Jeder offene Port ist eine potenzielle Angriffsfläche. Eine Firewall ist nur ein Baustein – kombiniere sie mit aktuellen Updates, SSH-Schlüsseln und fail2ban, wie im Kapitel Server-Härtung beschrieben.
Was solltest du tun, bevor du ufw enable auf einem entfernten Server ausführst?