Linux: iptables Konfiguration und Sicherheit

Diese Anleitung erklärt, wie Sie eine sichere "Default-Deny" Firewall-Strategie mithilfe von iptables auf Ihrem Linux-Server implementieren. Diese Methode blockiert jeglichen Datenverkehr, sofern er nicht explizit erlaubt wird.


Warnung: Die Reihenfolge dieser Befehle ist kritisch. Das Ausführen der finalen DROP-Richtlinie vor dem Erlauben des SSH-Zugriffs führt sofort zu einem Ausschluss (Lockout) von Ihrem Server. Testen Sie Regeln stets sorgfältig.

1. Basisregeln und sichere Reihenfolge

Wir konfigurieren zuerst die notwendigen Zugriffe, bevor die globale Blockierungsregel angewandt wird.

Beginnen Sie mit einer sauberen Konfiguration, indem Sie alle bestehenden iptables-Regeln löschen.

Alle Regeln löschen
iptables -F

2. Ports für Dienste öffnen und Struktur

Fügen Sie Regeln für alle Dienste hinzu, die von außen erreichbar sein müssen. Für eine bessere Wartbarkeit empfiehlt sich die Nutzung von benutzerdefinierten Chains.

Um die INPUT-Kette übersichtlich zu halten, erstellen Sie eine eigene Kette für offene Ports und leiten den Verkehr dorthin um.

Chain erstellen und springen
# 1. Neue Kette erstellen iptables -N OPEN_PORTS # 2. Regel: Von INPUT zu OPEN_PORTS springen (muss vor der finalen DROP-Regel stehen!) iptables -A INPUT -j OPEN_PORTS

3. Schutzmechanismen und Protokollierung

Integrieren Sie einen Basisschutz gegen Floods und stellen Sie das Logging fehlerhafter Pakete sicher.

Begrenzt die Rate neuer Verbindungen pro Quell-IP, um einfache Floods auf einen bestimmten Port zu mitigieren.

Rate-Limit für Port 80
# Beschränkt neue Verbindungen auf Port 80 auf 50 pro Minute pro IP iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 50 -j DROP # Erlaube neue Verbindungen und füge die IP zur "recent"-Liste hinzu iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set -j ACCEPT

4. Regeln speichern und prüfen

Iptables-Regeln sind nach der Eingabe temporär und gehen nach einem Neustart verloren. Sie müssen permanent gespeichert werden.

Überprüfen Sie vor dem Speichern, ob alle Regeln korrekt in der Kette eingefügt wurden.

Regeln anzeigen
iptables -L -n -v

Alternative nftables: Auf modernen Distributionen wird iptables durch nftables abgelöst. Sollten Sie ein sehr komplexes Regelwerk benötigen, ist ein Umstieg auf nftables für die Zukunftssicherheit empfehlenswert.