Eine ordnungsgemäß konfigurierte Firewall ist die erste Verteidigungslinie für jeden Server, der dem Internet ausgesetzt ist. Ubuntu enthält UFW (Uncomplicated Firewall) als Standard-Firewall-Verwaltungstool und bietet eine unkomplizierte Schnittstelle über dem leistungsstarken, aber komplexen iptables-Framework. Diese Anleitung behandelt alles, was Sie wissen müssen, um UFW für Produktions-Ubuntu-Server zu konfigurieren.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie haben:
- Ubuntu Server 20.04, 22.04 oder 24.04
- Terminalzugang mit sudo-Berechtigungen
- SSH-Zugang zum Server (bei Remote-Konfiguration)
- Grundlegendes Verständnis von TCP/UDP-Ports und Netzwerkkonzepten
Was ist UFW?
UFW steht für Uncomplicated Firewall. Es wurde vom Ubuntu-Team erstellt, um den Prozess der Konfiguration von iptables zu vereinfachen. UFW umhüllt iptables mit einer lesbaren Befehlsschnittstelle.
Hauptmerkmale von UFW:
- Zustandsbehaftete Firewall — verfolgt Verbindungszustände und erlaubt automatisch Rückverkehr
- Anwendungsprofile — vorkonfigurierte Regelsätze für gängige Dienste
- IPv4- und IPv6-Unterstützung — Dual-Stack standardmäßig
- Protokollierung — konfigurierbare Protokollierungsstufen
- Ratenbegrenzung — integrierter Schutz gegen Brute-Force-Angriffe
UFW installieren
sudo apt update
sudo apt install ufw
sudo ufw status
Wichtig: Aktivieren Sie UFW nicht, bis Sie Ihre SSH-Zugriffsregel konfiguriert haben.
Standardrichtlinien festlegen
sudo ufw default deny incoming
sudo ufw default allow outgoing
SSH vor dem Aktivieren von UFW erlauben
Erlauben Sie immer zuerst SSH:
sudo ufw allow ssh
Bei nicht standardmäßigem SSH-Port (z.B. 2222):
sudo ufw allow 2222/tcp
UFW aktivieren
sudo ufw enable
sudo ufw status verbose
Gängige Firewall-Regeln
Bestimmten Port erlauben
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 8080/tcp # Benutzerdefiniert
sudo ufw allow 51820/udp # WireGuard VPN
Von bestimmter IP-Adresse erlauben
sudo ufw allow from 203.0.113.50
sudo ufw allow from 203.0.113.50 to any port 22
sudo ufw allow from 10.0.1.20 to any port 3306
Subnetz erlauben
sudo ufw allow from 10.0.1.0/24
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
Regeln löschen
sudo ufw status numbered
sudo ufw delete 3
sudo ufw delete allow 80/tcp
Anwendungsprofile
sudo ufw app list
sudo ufw allow 'Nginx Full'
sudo ufw app info 'Nginx Full'
Benutzerdefinierte Profile erstellen
Erstellen Sie eine Datei in /etc/ufw/applications.d/:
[MyApp]
title=Meine Node.js-Anwendung
description=Express.js-Webanwendung
ports=3000/tcp
Ratenbegrenzung
sudo ufw limit ssh
Dies begrenzt eingehende SSH-Verbindungen auf 6 Verbindungen in 30 Sekunden von einer einzelnen IP-Adresse.
Protokollierung konfigurieren
sudo ufw logging on
sudo ufw logging medium
sudo tail -50 /var/log/ufw.log
sudo grep '\[UFW BLOCK\]' /var/log/ufw.log | tail -20
Praktische Serverkonfigurationen
Webserver
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Datenbankserver
sudo ufw allow ssh
sudo ufw allow from 10.0.1.20 to any port 3306
sudo ufw allow from 10.0.1.20 to any port 5432
sudo ufw enable
VPN-Server (WireGuard)
sudo ufw allow ssh
sudo ufw allow 51820/udp
Fehlerbehebung
Verbindung nach Aktivierung von UFW nicht möglich
- Greifen Sie über eine Konsole auf den Server zu
- Deaktivieren Sie UFW:
sudo ufw disable - Überprüfen Sie Ihre Regeln:
sudo ufw status numbered - Korrigieren Sie die Konfiguration und aktivieren Sie erneut
Alles zurücksetzen
sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
UFW-Befehlsreferenz
| Befehl | Beschreibung |
|---|---|
sudo ufw enable | Firewall aktivieren |
sudo ufw disable | Firewall deaktivieren |
sudo ufw status | Aktuelle Regeln anzeigen |
sudo ufw status verbose | Regeln mit Details anzeigen |
sudo ufw status numbered | Regeln mit Nummern anzeigen |
sudo ufw reload | Regeln ohne Neustart neu laden |
sudo ufw reset | Auf Standardwerte zurücksetzen |
sudo ufw allow <port> | Eingehenden Verkehr auf Port erlauben |
sudo ufw deny <port> | Eingehenden Verkehr auf Port ablehnen |
sudo ufw limit <port> | Verbindungen auf Port begrenzen |
sudo ufw delete <regel> | Eine bestimmte Regel löschen |
Zusammenfassung
UFW bietet eine unkomplizierte Möglichkeit, Firewall-Regeln auf Ubuntu-Servern zu verwalten. Indem Sie dem Prinzip der geringsten Berechtigung folgen — standardmäßig allen eingehenden Datenverkehr ablehnen und nur das erlauben, was explizit benötigt wird — schaffen Sie eine solide Sicherheitsgrundlage.
Für zusätzliche Serverhärtung kombinieren Sie UFW mit anderen Sicherheitsmaßnahmen. Lesen Sie unsere Anleitungen zu SSH-Härtung und WireGuard VPN-Einrichtung.