Eine Firewall ist Pflicht für jeden Server. UFW (Uncomplicated Firewall) macht die Konfiguration unter Ubuntu und Debian so einfach wie möglich. In dieser Anleitung zeigen wir die Einrichtung.

Was ist UFW?

UFW ist ein Frontend für iptables, die Linux-Firewall. Statt komplexer iptables-Regeln schreiben Sie einfache Befehle wie ufw allow ssh.

Installation

UFW ist unter Ubuntu vorinstalliert. Falls nicht:

apt update
apt install ufw

Grundlegende Einrichtung

Standardrichtlinien setzen

Bevor Sie UFW aktivieren, setzen Sie sichere Standardregeln:

# Eingehende Verbindungen ablehnen
ufw default deny incoming

# Ausgehende Verbindungen erlauben
ufw default allow outgoing

SSH erlauben (Wichtig!)

Bevor Sie die Firewall aktivieren, erlauben Sie SSH - sonst sperren Sie sich aus!

ufw allow ssh
# oder mit Port-Nummer:
ufw allow 22/tcp

Firewall aktivieren

ufw enable

Bestätigen Sie mit y. Die Firewall ist jetzt aktiv.

Status prüfen

ufw status

Ausgabe:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)

Für mehr Details:

ufw status verbose
ufw status numbered    # Mit Regelnummern

Ports freigeben

Nach Dienst-Name

ufw allow http        # Port 80
ufw allow https       # Port 443
ufw allow ssh         # Port 22
ufw allow ftp         # Port 21

Nach Port-Nummer

ufw allow 80          # TCP und UDP
ufw allow 80/tcp      # Nur TCP
ufw allow 53/udp      # Nur UDP

Port-Bereiche

ufw allow 6000:6007/tcp

Typische Server-Konfigurationen

Webserver

ufw allow ssh
ufw allow http
ufw allow https

Mailserver

ufw allow ssh
ufw allow 25/tcp      # SMTP
ufw allow 465/tcp     # SMTPS
ufw allow 587/tcp     # Submission
ufw allow 993/tcp     # IMAPS
ufw allow 995/tcp     # POP3S

Datenbank (nur lokal)

Datenbanken sollten nur lokal erreichbar sein:

# Keine Regel nötig - default deny incoming
# Für Remote-Zugriff (nicht empfohlen):
# ufw allow from 10.0.0.0/8 to any port 3306

Zugriff einschränken

Nur bestimmte IP erlauben

ufw allow from 192.168.1.100 to any port 22

Nur bestimmtes Subnetz

ufw allow from 10.0.0.0/8 to any port 22

Bestimmte IP sperren

ufw deny from 203.0.113.100

Regeln löschen

Nach Regelnummer

ufw status numbered
ufw delete 2          # Regel Nr. 2 löschen

Nach Regel

ufw delete allow http
ufw delete allow 80/tcp

Erweiterte Regeln

Rate Limiting (gegen Brute-Force)

ufw limit ssh

Dies erlaubt maximal 6 Verbindungen in 30 Sekunden von einer IP.

Logging aktivieren

ufw logging on
ufw logging medium    # low, medium, high, full

Logs finden Sie in /var/log/ufw.log.

Bestimmte IP-Ranges

# Komplettes Land blocken (Beispiel)
ufw deny from 1.2.3.0/24

Anwendungsprofile

UFW hat vordefinierte Profile für bekannte Anwendungen:

# Verfügbare Profile anzeigen
ufw app list

# Info zu einem Profil
ufw app info 'Nginx Full'

# Profil anwenden
ufw allow 'Nginx Full'

Beispiel: Nginx

ufw app list | grep Nginx
# Nginx Full (80, 443)
# Nginx HTTP (80)
# Nginx HTTPS (443)

ufw allow 'Nginx Full'

Firewall zurücksetzen

Alle Regeln löschen und Firewall deaktivieren:

ufw reset

Vorsicht: Sie müssen SSH danach wieder erlauben!

Firewall deaktivieren

ufw disable

Best Practices

1. Least Privilege

Öffnen Sie nur Ports, die wirklich benötigt werden.

2. SSH nicht auf Port 22

Port ändern reduziert automatisierte Angriffe:

ufw delete allow 22
ufw allow 2222/tcp

Dann in /etc/ssh/sshd_config:

Port 2222

3. Rate Limiting für SSH

ufw limit ssh    # Statt: ufw allow ssh

4. IPv6 nicht vergessen

UFW erstellt automatisch IPv6-Regeln. Prüfen Sie in /etc/default/ufw:

IPV6=yes

5. Regelmäßig prüfen

ufw status verbose

Troubleshooting

Sich selbst ausgesperrt?

Falls Sie sich per SSH ausgesperrt haben:

1. Cloud-Provider Console: Meist gibt es eine Web-Console 2. Recovery Mode: Im Rescue-System UFW deaktivieren 3. VNC/KVM: Falls verfügbar

Verbindung funktioniert nicht

1. UFW-Status prüfen: ufw status 2. Ist der Port in der Liste? 3. Läuft der Dienst? systemctl status nginx 4. Logs prüfen: tail -f /var/log/ufw.log

UFW blockiert alles

ufw allow ssh
ufw reset     # Falls nötig, alle Regeln zurücksetzen

UFW vs. iptables

| Aspekt | UFW | iptables | |--------|-----|----------| | Komplexität | Einfach | Komplex | | Flexibilität | Begrenzt | Unbegrenzt | | Syntax | Lesbar | Kryptisch | | Empfohlen für | Standardfälle | Spezialfälle |

Für 90% der Server reicht UFW vollkommen aus.

Fazit

UFW macht Firewall-Konfiguration einfach. Die wichtigsten Schritte: Standardregeln setzen, SSH erlauben, Firewall aktivieren, dann weitere Ports nach Bedarf freigeben. Vergessen Sie nicht: Erst SSH erlauben, dann aktivieren!