Direkt zum Inhalt

Firewalls mit iptables und ufw

Firewalls mit iptables und ufw – Server-Administration und Linux-Wissen von NexoraHost.

Server-Administration

Eine Firewall schützt deinen Server vor unerwünschten Zugriffen. Diese Anleitung erklärt die beiden wichtigsten Firewall-Tools unter Linux: ufw (einfach) und iptables (fortgeschritten). Beide sind auf den meisten Systemen vorinstalliert.

Hinweis: Ausführliche Anleitungen zu Sicherheit und Netzwerk findest du in der linken Navigation.

ufw vs. iptables – Was ist der Unterschied?

Merkmal ufw iptables
Schwierigkeit Einfach – Befehle sind selbsterklärend Komplex – benötigt genaue Syntax
Empfohlen für Einsteiger und Standard-Setups Fortgeschrittene und komplexe Regeln
Konfiguration Wird in iptables-Regeln übersetzt Direkte Kernel-Regeln
Standard auf Ubuntu, Debian (nachinstallierbar) Allen Linux-Systemen

Für 95% der Anwendungsfälle ist ufw vollkommen ausreichend. iptables brauchst du nur für sehr spezielle Setups.

ufw – Die einfache Firewall

Grundlegende Befehle

# Status anzeigen
sudo ufw status verbose

# Status mit nummerierten Regeln
sudo ufw status numbered

# Aktivieren / Deaktivieren
sudo ufw enable
sudo ufw disable

# Komplett zurücksetzen
sudo ufw reset

Standardrichtlinien festlegen

# Alles Eingehende blockieren (empfohlen)
sudo ufw default deny incoming

# Alles Ausgehende erlauben
sudo ufw default allow outgoing

Ports öffnen

# Einzelner Port mit Protokoll
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp
sudo ufw allow 53/udp

# Ohne Protokoll (TCP und UDP)
sudo ufw allow 30120

# Port-Bereich
sudo ufw allow 27000:27100/tcp

# Von bestimmter IP
sudo ufw allow from 192.168.1.100 to any port 22

# Von bestimmter IP mit Protokoll
sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp

Ports schließen

# Nach Port-Nummer
sudo ufw deny 3306/tcp

# Mit Nummer aus "ufw status numbered"
sudo ufw delete 3

# Komplette Regel löschen
sudo ufw delete allow 80/tcp

ufw für bestimmte Dienste

# Apache/Nginx erlauben
sudo ufw allow 'Apache Full'
sudo ufw allow 'Nginx Full'

# SSH erlauben
sudo ufw allow 'OpenSSH'

# Verfügbare Profile anzeigen
sudo ufw app list

iptables – Die mächtige Firewall

Grundlegende Befehle

# Alle aktuellen Regeln anzeigen
sudo iptables -L -v -n

# Mit Zeilennummern
sudo iptables -L -v -n --line-numbers

# Alle Regeln löschen (Vorsicht!)
sudo iptables -F

Standardrichtlinien setzen

# Eingehenden Traffic blockieren
sudo iptables -P INPUT DROP

# Ausgehenden Traffic erlauben
sudo iptables -P OUTPUT ACCEPT

# Forward-Traffic blockieren (als Server nicht benötigt)
sudo iptables -P FORWARD DROP

Ports öffnen

# SSH erlauben (Wichtig: als erstes!)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# HTTP und HTTPS
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Von bestimmter IP
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT

# Bestehende Verbindungen erlauben
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Loopback erlauben (interne Kommunikation)
sudo iptables -A INPUT -i lo -j ACCEPT

Ports schließen / Regeln löschen

# Nach Zeilennummer
sudo iptables -D INPUT 3

# Nach Regel-Inhalt
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT

Regeln speichern (über Neustart hinaus)

# iptables-persistent installieren
sudo apt install iptables-persistent -y

# Regeln speichern
sudo netfilter-persistent save

# Regeln wiederherstellen
sudo netfilter-persistent reload

Wichtige Ports auf einen Blick

Port Dienst Protokoll
22 SSH TCP
80 HTTP (Webserver) TCP
443 HTTPS (Webserver SSL) TCP
3306 MySQL/MariaDB TCP
21 FTP TCP
25565 Minecraft TCP
30120 FiveM TCP + UDP
27015 CS2, ARK Query TCP + UDP
7777-7778 ARK Game UDP
9987 Teamspeak 3 Voice UDP

Typische Sicherheits-Setups

Minimaler Webserver (ufw)

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Gameserver mit Webinterface (ufw)

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 30120        # FiveM
sudo ufw allow 25565/tcp    # Minecraft
sudo ufw allow 9987/udp     # Teamspeak
sudo ufw allow 80/tcp       # Webinterface
sudo ufw enable

Häufige Probleme

Nach Firewall-Aktivierung kein SSH mehr:

  • Vor dem Aktivieren immer SSH erlauben: sudo ufw allow 22/tcp
  • Falls ausgesperrt: Im Kundenpanel die VNC-Konsole nutzen um die Firewall zu deaktivieren

Regeln greifen nicht in der erwarteten Reihenfolge:

  • iptables verarbeitet Regeln von oben nach unten. Die erste passende Regel wird angewendet
  • Spezifische Regeln vor allgemeine Regeln setzen

ufw ist installiert aber inaktiv:

  • Prüfen mit sudo ufw status
  • Falls "inactive": sudo ufw enable

Ausführliche Anleitungen zu Netzwerk und erweiterten Firewall-Regeln findest du in den Artikeln der linken Navigation.

Weiterlesen

Beliebt und aktuell – nicht nur die ältesten Guides.

Mehr

Weiter entdecken