Linux als Perimeter-Firewall

Setup: Lieber von Hand

Dreh- und Angelpunkt einer Firewall unter Linux ist das Hilfsprogramm iptables. Dieses stellt nicht etwa selbst die Firewall-Funktionen zur Verfügung. Vielmehr handelt es sich dabei um ein Werkzeug, das eine Schnittstelle zu der im Linux-Kernel integrierten Netfilter-Architektur herstellt. Dieses vom Netfilter-Projekt entwickelte System bietet alle Funktionen, die für den Aufbau einer Firewall notwendig sind.

Gesteuert werden diese über diverse Optionen, die dem Utility iptables als Parameter zu übergeben sind. Auf diesem Weg lassen sich Verarbeitungsketten erstellen, die ein Datenpaket passieren muss, um weitergeleitet, verarbeitet oder auch zurückgewiesen zu werden. Die so erstellten Regeln verwaltet der Firewall-Rechner im Hauptspeicher. Auf diese Weise ist sicher gestellt, dass auch im Betrieb Änderungen vorgenommen werden können.

Der große Vorteil der Netfilter-Architektur ist allerdings auch gleichzeitig ihr größter Nachteil: sie ist so flexibel, dass ihre Arbeitsweise für einen Einsteiger nur schwer zu durchschauen ist. Zudem gibt es keine zentrale Konfigurationsdatei, die das zu verwendende Regelwerk festlegt. Es finden sich daher im Internet genügend Hilfsprogramme die versuchen, dem Anwender die Konfiguration der Firewall leichter zu machen. So erfreulich diese Anstrengungen auch sind, sie besitzen alle einen großen Pferdefuss: Funktioniert einmal nicht alles so wie gewünscht, fehlt dem Benutzer nach wie vor das nötige Wissen, um den Fehler lokalisieren zu können.

Speziell wenn es darum geht, nicht nur den lokalen Rechner, sondern ein ganzes Netz zu schützen, sind viele dieser Lösungen überfordert. Das gilt auch für die in SuSE Linux integrierte Firewall. Per YaST2 lassen sich lediglich Einstellungen für den lokalen Rechner treffen. Wer mehr benötigt, muss die Konfigurationsdatei /etc/sysconfig/SuSEfirewall2 von Hand bearbeiten. Eine Aufgabe, die ohne vorhandenes Basiswissen auch mithilfe der aufschlussreichen Kommentare kaum erfolgreich lösbar ist.