Iptables ist ein Kommandozeilenprogramm zur Konfiguration der im Linux-Kernel integrierten Firewall. Es wird verwendet, um Regeln zu erstellen, die auf den ein- und ausgehenden Datenverkehr angewendet werden, so dass der Benutzer kontrollieren kann, welche Verbindungen erlaubt und welche blockiert werden. Iptables ist Teil des Netfilter-Frameworks, das für die Verwaltung des Netzwerkverkehrs verwendet wird.
Iptables arbeitet mit Regeln, die festlegen, welche Art von Datenverkehr auf der Grundlage verschiedener Kriterien wie Quell- und Ziel-IP-Adressen, Protokolle und Ports zugelassen oder blockiert wird. Jede Regel besteht aus einer Reihe von Kriterien und einem Ziel, d. h. der Aktion, die auf das entsprechende Paket angewendet werden soll. Mit dem Befehl iptables können Sie Regeln erstellen, löschen und ändern.
Die verschiedenen Ziele, die auf eine Regel angewendet werden können, sind ACCEPT, DROP, REJECT, LOG, MASQUERADE, SNAT, DNAT, REDIRECT und MARK. ACCEPT lässt das Paket durch die Firewall passieren, DROP blockiert das Paket, REJECT sendet eine Fehlermeldung zurück, LOG protokolliert das Paket, MASQUERADE ändert die Quelladresse, SNAT ändert die Quelladresse und die Portnummer, DNAT ändert die Zieladresse und die Portnummer, REDIRECT leitet das Paket an einen anderen Port um, und MARK markiert das Paket mit einer bestimmten Kennung.
In iptables sind die Regeln in Ketten organisiert, die zur Verarbeitung von Paketen verwendet werden. Ketten bestehen aus drei Teilen: dem Namen der Kette, der mit der Kette verbundenen Richtlinie und dem mit der Kette verbundenen Regelsatz. Die verschiedenen Arten von Ketten sind INPUT, OUTPUT und FORWARD.
Die verschiedenen Übereinstimmungskriterien, die zur Erstellung einer Regel verwendet werden können, sind Quell-IP-Adresse, Ziel-IP-Adresse, Protokoll, Quell-Port, Ziel-Port und Verbindungsstatus. Diese Kriterien können kombiniert werden, um komplexere Regeln zu erstellen. So könnte zum Beispiel eine Regel erstellt werden, die nur eingehenden HTTP-Verkehr von einer bestimmten IP-Adresse zulässt.
Die verschiedenen Tabellen, die in iptables verwendet werden können, sind filter, nat, mangle und raw. Filter ist die Standardtabelle und wird zum Filtern von Paketen verwendet. Nat wird für Network Address Translation (NAT) verwendet. Mangle wird für die Veränderung von Paketen verwendet. Und raw wird für spezielle Fälle verwendet.
Iptables können dazu verwendet werden, ein System vor externen Bedrohungen wie bösartigem Datenverkehr, Port-Scans und Denial-of-Service-Angriffen zu schützen. Durch das Erstellen von Regeln, die verdächtigen Datenverkehr blockieren, kann iptables dazu beitragen, unbefugten Zugriff und Datenverlust zu verhindern.
Iptables kann so konfiguriert werden, dass Pakete, die bestimmten Kriterien entsprechen, protokolliert werden. Dies kann bei der Fehlersuche oder bei der Sicherheitsprüfung nützlich sein. Die verschiedenen Protokollierungsoptionen sind LOG, NFQUEUE und NFLOG.
Die wichtigsten Alternativen zu iptables sind firewalld und ufw. Firewalld ist eine neuere und benutzerfreundlichere Firewall, die zur Verwaltung von iptables-Regeln verwendet werden kann. Ufw ist ein einfacheres Kommandozeilenprogramm für die Konfiguration von iptables.