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

  1. Greifen Sie über eine Konsole auf den Server zu
  2. Deaktivieren Sie UFW: sudo ufw disable
  3. Überprüfen Sie Ihre Regeln: sudo ufw status numbered
  4. 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

BefehlBeschreibung
sudo ufw enableFirewall aktivieren
sudo ufw disableFirewall deaktivieren
sudo ufw statusAktuelle Regeln anzeigen
sudo ufw status verboseRegeln mit Details anzeigen
sudo ufw status numberedRegeln mit Nummern anzeigen
sudo ufw reloadRegeln ohne Neustart neu laden
sudo ufw resetAuf 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.