Firewall-Konfiguration: iptables und ufw Leitfaden
Linux-Server-Firewall mit iptables und ufw konfigurieren: SSH/HTTP/HTTPS-Regeln erstellen, Regeln dauerhaft speichern und die Firewall-Konfiguration testen.
Inhaltsverzeichnis
Firewall-Konfiguration: iptables und ufw Leitfaden
Eine Firewall kontrolliert den ein- und ausgehenden Netzwerkverkehr auf Ihrem Server. Linux bietet zwei beliebte Tools: das leistungsstarke Low-Level-Tool iptables und das benutzerfreundliche ufw (Uncomplicated Firewall). Dieser Leitfaden behandelt beide.
REXE-Server verfügen über eine netzwerkseitige Path Panel Firewall. Eine serverseitige Firewall bietet eine zusätzliche Sicherheitsebene. Die Verwendung beider zusammen wird empfohlen.
iptables Grundlagen
iptables ist das Befehlszeilentool zur Verwaltung des netfilter-Frameworks des Linux-Kernels. Es übernimmt Paketfilterung, NAT und Port-Weiterleitung.
Aktuelle Regeln anzeigen
# Alle Regeln auflisten
sudo iptables -L -n -v
# Mit Zeilennummern auflisten
sudo iptables -L -n -v --line-numbers
# NAT-Tabelle anzeigen
sudo iptables -t nat -L -n -v
Grundlegende iptables-Konzepte
| Konzept | Beschreibung |
|---|---|
| Chain | Regelkette: INPUT, OUTPUT, FORWARD |
| Table | Regeltabelle: filter, nat, mangle |
| Target | Regelaktion: ACCEPT, DROP, REJECT |
| Match | Übereinstimmungskriterium: Port, Protokoll, IP |
Grundlegende Regeln erstellen
# Loopback-Interface erlauben
sudo iptables -A INPUT -i lo -j ACCEPT
# Bestehende Verbindungen erlauben
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH erlauben (Port 22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# HTTP erlauben (Port 80)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# HTTPS erlauben (Port 443)
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Gesamten anderen eingehenden Verkehr blockieren
sudo iptables -A INPUT -j DROP
Erlauben Sie immer SSH, bevor Sie eine DROP-Regel hinzufügen. Andernfalls sperren Sie sich vom Server aus.
Regeln löschen
# Nach Regelnummer löschen
sudo iptables -D INPUT 3
# Nach Regelinhalt löschen
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
# Alle Regeln leeren
sudo iptables -F
Bestimmte IPs erlauben / blockieren
# Bestimmte IP für SSH erlauben
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
# Bestimmte IP blockieren
sudo iptables -A INPUT -s 10.0.0.5 -j DROP
# IP-Bereich blockieren
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
iptables-Regeln dauerhaft speichern
iptables-Regeln gehen beim Neustart standardmäßig verloren. So machen Sie sie dauerhaft:
Debian/Ubuntu
# iptables-persistent installieren
sudo apt install iptables-persistent -y
# Aktuelle Regeln speichern
sudo netfilter-persistent save
# Regeln neu laden
sudo netfilter-persistent reload
RHEL/CentOS/AlmaLinux
# iptables-services installieren
sudo yum install iptables-services -y
# Dienst aktivieren und starten
sudo systemctl enable iptables
sudo systemctl start iptables
# Regeln speichern
sudo service iptables save
Firewall-Verwaltung mit ufw
ufw vereinfacht die iptables-Komplexität durch einfache Befehle. Es ist auf Ubuntu und Debian vorinstalliert.
ufw installieren und aktivieren
# ufw installieren
sudo apt install ufw -y
# Status prüfen
sudo ufw status verbose
# Standardrichtlinien festlegen
sudo ufw default deny incoming
sudo ufw default allow outgoing
Erlauben Sie immer SSH, bevor Sie ufw aktivieren, um sich nicht auszusperren!
Grundlegende ufw-Regeln
# SSH erlauben
sudo ufw allow ssh
# oder nach Port:
sudo ufw allow 22/tcp
# HTTP und HTTPS erlauben
sudo ufw allow http
sudo ufw allow https
# Benutzerdefinierten Port öffnen
sudo ufw allow 8080/tcp
# ufw aktivieren
sudo ufw enable
ufw-Regeln verwalten
# Regeln mit Nummern auflisten
sudo ufw status numbered
# Regel nach Nummer löschen
sudo ufw delete 3
# Regel nach Inhalt löschen
sudo ufw delete allow 8080/tcp
# Von bestimmter IP erlauben
sudo ufw allow from 192.168.1.100
# Bestimmte IP blockieren
sudo ufw deny from 10.0.0.5
# ufw deaktivieren
sudo ufw disable
# Alle Regeln zurücksetzen
sudo ufw reset
Firewall testen
Port-Scan mit nmap
# Bestimmte Ports von einem anderen Rechner scannen
nmap -sT -p 22,80,443 SERVER_IP
# Alle Ports scannen
nmap -sT SERVER_IP
Lauschende Ports mit ss prüfen
# Lauschende TCP-Ports auflisten
sudo ss -tlnp
# Alle Verbindungen auflisten
sudo ss -tunap
Verbindungstest
# Bestimmten Port testen
telnet SERVER_IP 80
# Mit nc testen
nc -zv SERVER_IP 443
# HTTP-Test mit curl
curl -I http://SERVER_IP
Sicherheitsempfehlungen
Wenden Sie das Prinzip der minimalen Rechte an: Öffnen Sie nur Ports, die tatsächlich benötigt werden.
- SSH-Port ändern: Verwenden Sie einen nicht standardmäßigen Port statt 22
- Rate Limiting anwenden: Schutz vor Brute-Force-Angriffen
- Fail2Ban installieren: Fehlgeschlagene Anmeldeversuche automatisch blockieren
- Regelmäßig prüfen: Regeln mit
iptables -Loderufw statusüberprüfen - Regeln sichern: Regeln in eine Datei speichern
# iptables-Regeln in Datei speichern
sudo iptables-save > /etc/iptables/rules.v4
# Aus Datei wiederherstellen
sudo iptables-restore < /etc/iptables/rules.v4
Fazit
iptables bietet Leistung und Flexibilität, während ufw Geschwindigkeit und Einfachheit bietet. Anfänger sollten mit ufw beginnen; für erweiterte Konfigurationen empfiehlt sich iptables. Beide Tools funktionieren zusammen mit der Path Panel Firewall von REXE. Überprüfen Sie Ihre Firewall-Regeln regelmäßig und schließen Sie nicht mehr benötigte Ports.
Verwandte Artikel
VDS-Server per SSH verbinden: PuTTY, Terminal & Schlüssel
SSH-Verbindung zum Linux VDS-Server: PuTTY, Terminal, schlüsselbasierte Authentifizierung, Path Panel Firewall-Regel und Sicherheitstipps für Einsteiger.
Windows VDS per RDP verbinden: Vollständige Anleitung
Schritt-für-Schritt-Anleitung zur RDP-Verbindung mit Windows Server VDS: Einrichtung, NLA-Sicherheit, Path Panel Firewall-Regel und Fehlerbehebung.
VDS-Server Betriebssystem wechseln: Schritt-für-Schritt
Betriebssystemwechsel am VDS-Server über das REXE-Panel: Backup-Tipps, unterstützte Linux-Distributionen und Windows Server Versionen im Überblick.