ufw — Firewall-Regeln einfach verwalten

Praxis-Guide zu ufw — dem einfachen Firewall-Frontend für iptables/nftables: Regeln, Profile, Rate-Limiting und Logging auf Ubuntu und Debian.

ufw (Uncomplicated Firewall) ist das benutzerfreundliche Firewall-Frontend von Ubuntu und Debian. Statt sperriger iptables- oder nftables-Regeln schreibst du Befehle wie ufw allow 22 oder ufw enable – ufw übersetzt sie im Hintergrund in die eigentlichen Kernel-Regeln. Eine eigene Firewall ist es nicht, sondern eine schlanke Verwaltungsschicht über den ohnehin vorhandenen Netfilter-Funktionen. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag – vom ersten Aktivieren über Anwendungsprofile bis zu Rate-Limiting und Logging.

Aktivieren & Status

ufw enable — Aktiviert die Firewall (startet automatisch beim Booten).

sudo ufw enable

Achtung – Lockout-Gefahr: Ist die Default-Policy auf deny incoming gesetzt und existiert noch keine SSH-Regel, sperrst du dich beim Aktivieren von einem entfernten Server aus. Erst sudo ufw allow OpenSSH (oder sudo ufw allow 22), dann sudo ufw enable.

ufw disable — Deaktiviert die Firewall.

sudo ufw disable

ufw status — Zeigt Status und Regeln der Firewall an.

sudo ufw status

ufw status verbose — Zeigt den Status inklusive Default-Policies und Logging.

sudo ufw status verbose

ufw status numbered — Zeigt die Regeln mit Nummern an (zum Löschen).

sudo ufw status numbered

Erlauben & Verweigern

ufw allow <port> — Erlaubt eingehenden Verkehr auf einem Port (TCP und UDP).

sudo ufw allow 80

ufw allow <port>/tcp — Erlaubt nur TCP-Verkehr auf einem Port.

sudo ufw allow 443/tcp

ufw allow <start>:<end>/tcp — Erlaubt einen Bereich von TCP-Ports.

sudo ufw allow 3000:3100/tcp

ufw deny <port> — Verweigert eingehenden Verkehr auf einem Port.

sudo ufw deny 23

ufw allow from <ip> — Erlaubt sämtlichen Verkehr von einer bestimmten IP.

sudo ufw allow from 10.0.0.5

ufw allow from <ip> to any port <port> — Erlaubt einer bestimmten IP den Zugriff auf einen Port.

sudo ufw allow from 10.0.0.0/24 to any port 22

ufw deny from <ip> — Blockiert sämtlichen Verkehr von einer bestimmten IP.

sudo ufw deny from 192.168.1.100

Anwendungsprofile

ufw app list — Listet die verfügbaren Anwendungsprofile auf.

sudo ufw app list

ufw allow '<app>' — Erlaubt den Verkehr für ein Anwendungsprofil.

sudo ufw allow 'Nginx Full'

ufw app info '<app>' — Zeigt die Details eines Anwendungsprofils an.

sudo ufw app info 'OpenSSH'

ufw delete allow '<app>' — Entfernt eine Profil-Regel.

sudo ufw delete allow 'Nginx HTTP'

Regeln löschen & ändern

ufw delete allow <port> — Löscht eine Regel anhand ihrer Spezifikation.

sudo ufw delete allow 8080

ufw delete <number> — Löscht eine Regel anhand ihrer Nummer (aus status numbered).

sudo ufw delete 3

ufw insert <number> allow from <ip> — Fügt eine Regel an einer bestimmten Position ein.

sudo ufw insert 1 allow from 10.0.0.1

ufw reset — Setzt alle Regeln auf die Standardwerte zurück (deaktiviert die Firewall).

sudo ufw reset

Achtung: ufw reset löscht sämtliche Regeln und schaltet die Firewall ab. Auf einem entfernten Server vorher sicherstellen, dass der SSH-Zugang nicht von einer gleich gelöschten Regel abhängt.

Rate-Limiting & Standard-Policies

ufw limit <port>/tcp — Begrenzt die Verbindungsrate (6 in 30 Sekunden, danach Sperre).

sudo ufw limit 22/tcp

ufw default deny incoming — Setzt die Default-Policy auf „eingehenden Verkehr verweigern".

sudo ufw default deny incoming

ufw default allow outgoing — Setzt die Default-Policy auf „ausgehenden Verkehr erlauben".

sudo ufw default allow outgoing

ufw default deny routed — Setzt die Default-Policy für weitergeleiteten (gerouteten) Verkehr.

sudo ufw default deny routed

Logging & gängige Muster

ufw logging on — Aktiviert das Firewall-Logging.

sudo ufw logging on

ufw logging <level> — Setzt das Log-Level (off, low, medium, high, full).

sudo ufw logging medium

ufw allow out <port>/tcp — Erlaubt ausgehenden Verkehr auf einem Port.

sudo ufw allow out 587/tcp

ufw reject <port> — Weist Verbindungen ab (sendet ICMP-unreachable), statt sie still zu verwerfen.

sudo ufw reject 23

ufw allow proto tcp from <ip> to any port 22,80,443 — Erlaubt mehrere Ports von einer bestimmten IP.

sudo ufw allow proto tcp from 10.0.0.5 to any port 22,80,443

Fazit

ufw nimmt dir die Komplexität von iptables und nftables ab, ohne dir die Kontrolle zu nehmen: Für die meisten Server reichen eine restriktive Default-Policy, eine Handvoll allow-Regeln und ein limit auf dem SSH-Port. Denke immer zuerst an die SSH-Regel, bevor du die Firewall aktivierst oder zurücksetzt – sonst sperrst du dich aus. Wer feinere Regeln braucht, kombiniert ufw mit Werkzeugen wie fail2ban oder greift direkt auf die zugrunde liegenden Netfilter-Regeln zurück.

Verwandte Kommandos

  • age – moderne, einfache Dateiverschlüsselung
  • clamav – Open-Source-Virenscanner für Linux
  • fail2ban – sperrt IPs nach fehlgeschlagenen Login-Versuchen