Login
Newsletter
Werbung

So, 4. November 2001, 00:00

iptables - Die Firewall des Kernels 2.4

Dieser Artikel befaßt sich mit den Neuerungen, die die Firewall-Architektur des Kernels 2.4 mit sich gebracht hat.

Vorwort

Dies ist kein Artikel über die prinzipielle Funktion einer Firewall. Hierzu gibt es bereits zahlreiche Werke, die besser sind, als ich sie jemals schreiben könnte, z.B. das von Felix Mack, http://www.pro-linux.de/work/firewall/index.html. Der hier vorliegende Artikel befaßt sich vielmehr mit den Neuerungen, die die Architektur des Kernel 2.4 mit sich gebracht hat. Außerdem möchte ich versuchen, die zur Verfügung stehenden Parameter möglichst kompakt und verständlich zu vermitteln, sowie diverse Abhängigkeiten und Zusammenhänge darzustellen.

ipfwadm, ipchains, iptables - neue Namen, gleiche Funktion?

Nein, nicht nur die Namen haben sich in der Kernel-Evolution geändert. Auch die dahinter verborgenen Funktionen sind von Version zu Version stark erweitert worden. Leider sind damit auch jeweils andere Aufrufkonventionen verbunden. Beim ersten Hinsehen glaubt man an eine mutwillige Verwirrungstaktik der Entwickler, denn mal werden Schlüsselworte und Schalter klein, mal werden sie groß geschrieben. Logik dahinter scheint es keine zu geben. Doch! gerade in diesem Punkt ist iptables wesentlich logischer aufgebaut als seine Vorgänger. Unter der Haube, d.h. im Kernel, geht es mit iptables auch wieder wesentlich aufgeräumter zu. An wesentlich weniger Stellen als bisher wird in den Kernel-Code eingegriffen, um die Firewall-Funktionalität unterzubringen, als dies vorher der Fall war. Damit ist der zur Zeit vorliegende Code auch wesentlich besser wartbar als seine Vorgänger.

Kurzer Rückblick in die Entwicklung

Vor dem Kernel 2.0 gab es bereits zahlreiche "Progrämmchen", die allerdings meist als Patch in den Kernel implantiert werden mußten, um diverse Effekte zu erreichen. Diese Programme waren zwar vom Code her bemerkenswert, doch bei weitem nicht so elegant wie die heute eingesetzte Architektur.

Mit dem Kernel 2.0 tauchte "ipfwadm" auf. Es war ein durchaus leistungsfähiges System, doch es gab nur die Möglichkeit, eingehende, geroutete oder ausgehende Pakete zu filtern.

Mit dem 2.2er Kernel erblickte "ipchains" die Linux-Welt. Hier gab es bereits mehrere "chains", die aus jeweils einzelnen Regeln bestanden, die der Reihe nach getestet wurden. Die erste erfolgreiche Regel verließ das Regelwerk und bestimmte den Werdegang des gerade getesteten Paketes. Darüber hinaus konnte man in "ipchains" erstmals eigene Ketten definieren, die den Charakter von Unterprogrammen hatten.

Der Kernel 2.4 brachte ebenfalls wieder zahlreiche Neuerungen. Die "Netfilter"-Architektur bringt ein neues Tool namens "iptables" mit. Verbesserungen gab es bei:

  • konsistenterer Namensgebung
  • drei Tabellen, die aus mehreren "Chains" bestehen
  • stateful inspection jetzt möglich
  • Port fowarding mit dem selben Tool
  • snat, dnat, masquerading
  • DoS Limiting
  • Ethernet MAC Adress-Filtering
  • variables Logging
  • rejects mit einstellbarem Verhalten
  • bessere Routing-Kontrolle
  • flexiblere Architektur

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung