Pakete versenden, Rechner verlinken

Rechner dicht machen: IPChains unter Linux

Firewalls sind für jeden Rechner mit einer festen Anbindung an das Internet Pflicht - aber auch für Dial-Up Verbindungen sehr zu empfehlen: Wie praktisch überall bietet Linux auch in diesem Bereich eine preigünstige Möglichkeit - der Beitrag zeigt, wie man Firewall-Regeln unter Linux aufstellt und verwaltet. Von Jürgen Bernau und Thomas Wölfer.

Firewall mit IPChains
IPChains lösen in neueren Linuxkerneln die bisher bekannten Filter-Regeln ab: Das alte Konfigurationsprogramm 'ipfwadm' wird durch 'ipchains' ersetzt. Wer bereits mit dem alten Tool einen Firewall konfiguriert hat, wird sich darüber freuen, daß bei Beibehaltung der alten Funktionalität nur relativ wenige Änderungen in der Syntax vorgenommen wurden: Alte Regeln lassen sich ohne großen Aufwand in neue Regeln wandeln.

Interessanter sind allerdings die neu hinzugekommenen Funktionen, die - unabhängig von umfangreichen Bugfixes - einen Umstieg ratsam machen: Die Unterteilung der Regeln in mehrere 'Chains' genannte Gruppen erhöhnt die Übersichtlichkeit bei komplexeren Firewalls, und das Accounting ist nun in die normalen Regeln integiert worden.

Separates erstellen von Accounting-Regeln entfällt also. Ferner können Schnittstellen jetzt mit Wildcards angesprochen werden, so daß die bisher benötigten ‚'doppelten' Regeln entfallen können. Die neue Möglichkeit der inversen Regeln trägt wesentlich zur Übersichtlichkeit bei. Mit diesen 'Inversen' ist es endlich möglich Regeln zu formulieren, die ein 'nicht' enthalten - Beispielsweise: 'Filtere alle Pakete die nicht über die Schnittstelle ppp0 kommen'.

Neben vielen weiteren Verbesserungen gibt es nun außerdem auch Schnittstellen in den Userspace: Dank der speziellen Library 'libfw' ist es möglich, eigene Programme in die Filterfunktionen einzuhängen. Erste Ansätze für die Nutzung dieser Funktion zeigen sich beispielweise im SPF Projekt (ftp://ftp.interlinx.bc.ca/pub/spf). Das Projekt betreut ein Werkzeug, daß dynamisch in die Filterregeln eingreift, um Antwortpakete zu ausgehenden Verbindungen zu erlauben.

So funktioniert der Paket Filter
Jedes Paket das den Rechner über eine der Schnittstellen erreicht wird nach den Regeln der 'input chain' betrachtet. Falls das Paket nicht verworfen wurde und für einen anderen Rechner bestimmt ist, wird es nun ganz normal gerouted. Anschließend durchläuft es die 'forward chain' die entscheidet, ob das Paket überhaupt weitergereicht werden darf. Wenn das der Fall ist, so durchläuft das Paket die 'output chain' die untersucht, ob das Paket den Rechner auf der gewünschten Schnittstelle verlassen darf. Verwendet man Masquerading so gilt es zu beachten, daß nach dem Demaskieren des Paketes kein Routing mehr stattfindet: Die Forward Chain wird für diese Pakete also nicht durchlaufen.

Eine Chain besteht aus einer Reihe von Regeln die in fester Reihenfolge abgearbeitet werden. Läßt sich keine der Regeln auf ein bestimmtes Paket anwenden, so wird das Paket gemäß der 'policy' der Chain behandelt.

Artikel kommentieren