UFW-Firewall konfigurieren: vollständige Anleitung

Eine Firewall ist die erste Verteidigungslinie Ihres Servers. UFW (Uncomplicated Firewall) vereinfacht die Konfiguration von iptables, selbst für Anfänger. Bei Theory7 empfehlen wir UFW für alle VPS-Server aufgrund der benutzerfreundlichen Syntax und Zuverlässigkeit. In dieser Anleitung lernen Sie alles über die UFW-Konfiguration.

Was macht eine Firewall?

Eine Firewall überwacht den gesamten Netzwerkverkehr, der Ihren Server erreicht und verlässt. Sie können Regeln festlegen, um:

  • Bestimmte Ports für Dienste zu öffnen
  • Unerwünschten Verkehr zu blockieren
  • Nur bestimmte IP-Adressen zuzulassen
  • Rate Limiting anzuwenden

Ohne Firewall kann jeder versuchen, eine Verbindung zu jedem Dienst auf Ihrem Server herzustellen.

UFW installieren

Auf den meisten Debian- und Ubuntu-Systemen ist UFW bereits installiert. Falls nicht:

sudo apt update
sudo apt install ufw

Überprüfen Sie, ob UFW installiert ist:

sudo ufw version

Basis Konfiguration

Standardrichtlinien festlegen

Beginnen Sie mit dem Festlegen der Standardrichtlinien. Dies bestimmt, was mit Verkehr passiert, der nicht ausdrücklich erlaubt oder blockiert ist:

# Blockieren Sie den gesamten eingehenden Verkehr
sudo ufw default deny incoming

# Erlauben Sie den gesamten ausgehenden Verkehr
sudo ufw default allow outgoing

Dies ist die sicherste Basis: Nichts kommt herein, es sei denn, Sie erlauben es ausdrücklich.

Wichtige Ports öffnen

Öffnen Sie die benötigten Ports, bevor Sie UFW aktivieren:

# SSH-Zugang (kritisch - vergessen Sie dies nicht!)
sudo ufw allow ssh

# Oder mit spezifischem Port
sudo ufw allow 22/tcp

# Webverkehr
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

UFW aktivieren

Nachdem Sie die Basisregeln festgelegt haben:

sudo ufw enable

Sie erhalten eine Warnung, dass bestehende SSH-Verbindungen unterbrochen werden können. Wenn Sie SSH erlaubt haben, ist dies kein Problem.

Erweiterte UFW-Befehle

Ports öffnen und schließen

# Spezifischen Port öffnen
sudo ufw allow 8080/tcp

# Portbereich öffnen
sudo ufw allow 6000:6007/tcp

# UDP-Port öffnen
sudo ufw allow 53/udp

# Port schließen
sudo ufw deny 3306/tcp

Dienstnamen verwenden

UFW kennt gängige Dienste:

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ftp

Verfügbare Dienste anzeigen:

less /etc/services

IP-spezifische Regeln

Erlauben Sie nur bestimmte IPs:

# Spezifische IP erlauben
sudo ufw allow from 192.168.1.100

# IP auf spezifischem Port erlauben
sudo ufw allow from 192.168.1.100 to any port 22

# IP-Bereich erlauben
sudo ufw allow from 192.168.1.0/24

# Spezifische IP blockieren
sudo ufw deny from 203.0.113.100

Rate Limiting

Schützen Sie sich vor Brute-Force-Angriffen:

sudo ufw limit ssh

Dies begrenzt die Anzahl der Verbindungen pro Zeiteinheit.

UFW-Status und Verwaltung

Status anzeigen

# Basisstatus
sudo ufw status

# Detaillierter Status mit Regelnummern
sudo ufw status numbered

# Ausführliche Ausgabe
sudo ufw status verbose

Regeln entfernen

# Über Regelnummer
sudo ufw status numbered
sudo ufw delete 3

# Über Regelspezifikation
sudo ufw delete allow 80/tcp

UFW deaktivieren

# Vorübergehend deaktivieren
sudo ufw disable

# Auf Standard zurücksetzen (entfernt alle Regeln)
sudo ufw reset

Anwendungsprofile

UFW unterstützt Anwendungsprofile für komplexere Konfigurationen:

# Verfügbare Profile anzeigen
sudo ufw app list

# Profilinformationen
sudo ufw app info "OpenSSH"

# Profil erlauben
sudo ufw allow "OpenSSH"

UFW-Logging

Aktivieren Sie das Logging, um verdächtigen Verkehr zu überwachen:

# Logging-Level einstellen
sudo ufw logging on
sudo ufw logging medium

Logging-Level: off, low, medium, high, full

Logs anzeigen:

sudo tail -f /var/log/ufw.log

Beispielkonfiguration für Webserver

Eine vollständige Konfiguration für einen typischen Webserver:

# Eventuelle bestehende Regeln zurücksetzen
sudo ufw reset

# Standardrichtlinien
sudo ufw default deny incoming
sudo ufw default allow outgoing

# SSH (mit angepasstem Port)
sudo ufw limit 2222/tcp

# Webverkehr
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# DirectAdmin
sudo ufw allow 2222/tcp

# Mail (optional)
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp

# Aktivieren
sudo ufw enable

Fehlerbehebung

Von SSH ausgeschlossen

Wenn Sie sich ausschließen, verwenden Sie den Konsolenzugang Ihres Hosting-Anbieters, um UFW zu deaktivieren.

Regel funktioniert nicht

Überprüfen Sie die Reihenfolge der Regeln. UFW verarbeitet Regeln von oben nach unten.

Dienst erreichbar trotz deny

Überprüfen Sie, ob keine allow-Regel über dem deny steht.

Verwandte Artikel

Brauchen Sie Hilfe?

Wir sind für Sie da! Haben Sie Fragen oder stoßen Sie auf Probleme? Unser Support-Team hilft Ihnen gerne persönlich weiter. Senden Sie uns eine Nachricht über das Ticketsystem - wir antworten in der Regel innerhalb weniger Stunden und denken gerne mit Ihnen mit.