UFW (Uncomplicated Firewall) ist die in Ubuntu mitgelieferte und unter Debian verfügbare Firewall. Sie steuert die Linux-Kernel-Firewall mithilfe leicht verständlicher Befehle. Bei korrekter Konfiguration stellt sie sicher, dass ein versehentlich installierter Dienst oder eine offen gelassene Datenbank nicht über das Internet erreichbar ist.
1. Das Prinzip: Zunächst alles schließen und dann von Fall zu Fall öffnen
Die einzig sinnvolle Vorgehensweise bei einem öffentlich zugänglichen Server ist die Whitelist: Der gesamte eingehende Datenverkehr wird standardmäßig abgelehnt, und Sie öffnen nur die Ports, die Sie tatsächlich benötigen. Der ausgehende Datenverkehr bleibt weiterhin zulässig, damit der Server seine Updates durchführen kann.
Bevor Sie beginnen, listen Sie bitte auf, welche Dienste tatsächlich auf dem Server laufen:
ss -tulpn
Jeder Dienst, der auf 0.0.0.0 oder [::] ist möglicherweise über das Internet zugänglich. Diejenigen, die über 127.0.0.1 sind es nicht.
2. Installieren und aktivieren
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw enable
ufw status verbose
ufw enable, andernfalls wird Ihre Sitzung beendet und Sie können sich nicht mehr anmelden. Falls Sie SSH auf einen anderen Port umgeleitet haben, ersetzen Sie OpenSSH von 2222/tcp, zum Beispiel.UFW verwaltet IPv4 und IPv6 gleichzeitig. Bitte überprüfen Sie, ob die Zeile IPV6=yes ist vertreten in /etc/default/ufw : Andernfalls würden Ihre Regeln nicht für die IPv6-Adresse des Servers gelten.
3. Die je nach Verwendungszweck zu öffnenden Ports
| Verwendung | Bestellung |
|---|---|
| Website (HTTP und HTTPS) | ufw allow 80,443/tcp |
| FiveM | ufw allow 30120 (TCP und UDP) |
| Minecraft Java | ufw allow 25565/tcp |
| Minecraft Bedrock | ufw allow 19132/udp |
| Rust | ufw allow 28015/udp und ufw allow 28016/tcp für RCON |
| WireGuard | ufw allow 51820/udp |
| E-Mail (SMTP, IMAP) | ufw allow 25,465,587,993/tcp |
Ohne Angabe eines Protokolls – wie bei FiveM – öffnet die Regel sowohl TCP als auch UDP. Geben Sie dies so bald wie möglich an, um nicht mehr als nötig zu öffnen. Fügen Sie einen Kommentar hinzu, damit Sie später den Überblick behalten:
ufw allow 30120 comment 'FiveM'
3306 für MySQL und MariaDB, 5432 für PostgreSQL, 6379 für Redis, 27017 (für MongoDB) für das gesamte Internet. Diese sind bevorzugte Ziele für Bots. Sollte ein Fernzugriff unverzichtbar sein, beschränken Sie ihn auf eine IP-Adresse, wie unten beschrieben, oder nutzen Sie einen SSH-Tunnel oder WireGuard.4. Einen Port auf eine IP-Adresse beschränken
Erlauben Sie für ein Administrations-Dashboard, eine Datenbank oder den RCON eines Spielservers ausschließlich den Zugriff von Ihrer Adresse aus:
ufw allow from 203.0.113.10 to any port 3306 proto tcp comment 'MariaDB bureau'
ufw allow from 203.0.113.10 to any port 28016 proto tcp comment 'RCON Rust'
Ersetzen Sie 203.0.113.10 über Ihre öffentliche IP-Adresse. Sollte sich diese regelmäßig ändern, wie es bei vielen Internetanbietern der Fall ist, sollten Sie ein VPN bevorzugen: siehe Einen WireGuard-Server einrichten.
5. SSH-Verbindungen einschränken
Die Regel limit Eine Adresse, die innerhalb von 30 Sekunden sechs oder mehr Verbindungen herstellt, wird abgelehnt. Dies ist eine erste wirksame Maßnahme gegen Brute-Force-Angriffe:
ufw delete allow OpenSSH
ufw limit OpenSSH
Ergänzen Sie dies durch Fail2ban, das Nutzer dauerhaft sperrt: siehe SSH absichern.
6. Regeln verwalten
ufw status numbered # règles numérotées
ufw delete 4 # supprime la règle numéro 4
ufw delete allow 80/tcp # supprime une règle par son contenu
ufw reload # recharge après une modification manuelle
ufw logging low # journalise les paquets bloqués
Die blockierten Pakete werden angezeigt in /var/log/ufw.log, oder mit journalctl -k | grep UFW. Dies ist hilfreich, um zu verstehen, warum ein Dienst nicht reagiert.
7. Die Docker-Falle
Dies ist die häufigste Überraschung, und sie ist gefährlich: Die von Docker veröffentlichten Ports umgehen UFW. Docker schreibt seine eigenen Regeln in die Kernel-Firewall, noch bevor die von UFW zum Tragen kommen. Ein Container, der mit -p 3306:3306 ist somit über das Internet erreichbar, auch wenn ufw status erlaubt dies nicht.
Die einfachste Lösung besteht darin, auf allen Schnittstellen nur das zu veröffentlichen, was öffentlich sein soll, und den Rest mit der lokalen Adresse zu verknüpfen:
ports:
- "127.0.0.1:3306:3306" # accessible seulement depuis le serveur
- "80:80" # public, volontairement
Dienste, die nur von anderen Containern aufgerufen werden müssen, benötigen nicht einmal einen Abschnitt ports : Sie kommunizieren über das interne Netzwerk von Docker. Siehe Docker und Docker Compose.
8. UFW und der Anti-DDoS-Schutz
UFW und Anti-DDoS erfüllen nicht dieselbe Aufgabe. UFW entscheidet welche Dienstleistungen sind erreichbar. Er hält einen volumetrischen Angriff nicht auf: Wenn Gigabit an Datenverkehr auf Ihren Server treffen, ist die Verbindung bereits überlastet, noch bevor die Firewall diese Daten zurückweisen kann. Diese Filterung muss bereits im Vorfeld, im Netzwerk, erfolgen. Dies ist die Aufgabe des Schutzes Anti-DDoS ist auf unseren VPS enthalten. Beide ergänzen sich. Weitere Informationen finden Sie unter die Auswirkungen eines DDoS-Angriffs zu begrenzen.
Häufig gestellte Fragen
Nach dem Befehl „ufw enable“ ist mein System abgestürzt – was kann ich tun?
Melden Sie sich über die Notfallkonsole (VNC) im Kundenbereich an oder wenden Sie sich andernfalls an den Support und führen Sie anschließend den Befehl „ufw allow OpenSSH“ oder „ufw disable“ aus. Um diesen Fall zu vermeiden, sollten Sie SSH stets zulassen, bevor Sie UFW aktivieren.
Warum ist mein Docker-Container erreichbar, obwohl UFW den Port blockiert?
Da Docker eigene Regeln in die Kernel-Firewall einfügt, die vor denen von UFW angewendet werden. Veröffentlichen Sie die internen Ports unter 127.0.0.1 in Ihrer Compose-Datei oder veröffentlichen Sie sie gar nicht, wenn ausschließlich andere Container darauf zugreifen.
Schützt UFW vor DDoS-Angriffen?
Nein. UFW filtert die zugänglichen Dienste, doch ein volumetrischer Angriff überlastet die Verbindung, bevor die Firewall den Datenverkehr zurückweisen kann. Es ist ein Schutz im Vorfeld erforderlich, und zwar im Netzwerk des Hosting-Anbieters.
UFW oder firewalld?
UFW ist die naheliegende Wahl unter Ubuntu und Debian. firewalld ist das Standardtool unter AlmaLinux, Rocky Linux und Fedora. Beide erfüllen denselben Zweck: Verwenden Sie auf einem Server bitte nur eines davon.










