Workshop: Desktop-Firewall mit Linux 2.4

Iptables

Die Iptables-Architektur arbeitet mit einer im Gegensatz zum Vorgänger Ipchains wesentlich einfacheren Systemarchitektur. Der Kernel hält drei Listen von Filterregeln namens INPUT, OUTPUT und FORWARD vor. Man nennt sie auch Ketten, da sie jeweils aus einer Liste sequentiell abzuarbeitender Regeln bestehen.

Jede Regel bestimmt anhand des Paketheaders, was mit anfallenden Paketen zu geschehen hat. Entspricht der Paketheader nicht dem Regelkriterium, wird das Paket an die nächste Regel der Kette weitergereicht. Hat ein Paket die Kette ohne Zutreffen einer Regel bis zum Ende durchlaufen, greift die Policy der Kette. Sie wird ein solches nicht identifizierbares Paket im Regelfall verwerfen ("DROP" oder "REJECT").

Geht ein Paket an der Netzwerk-Schnittstelle ein, wertet der Kernel zunächst dessen Zieladresse aus (Routing-Entscheidung). Ist das Paket für den lokalen Rechner bestimmt, reicht er es an die INPUT-Kette weiter. Falls nicht, entscheidet die Forwarding-Konfiguration über das weitere Schicksal des Paketes. Bei aktivem Forwarding übernimmt die FORWARD-Kette die Weiterverarbeitung, anderenfalls wird das Paket verworfen.

Auch alle von Prozessen auf dem lokalen Rechner versendeten Pakete müssen die OUTPUT-Liste durchlaufen. Falls diese das Paket nicht ausfiltert, verlässt es anschließend den Rechner über die angeforderte Schnittstelle.