Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING

14.14 Interner Aufbau der Firewall

Die Firewall besteht aus einem Firewall-Dämon, einem Kernel-Filter-Modul, einem Kontrollprogramm und der Benutzeroberfläche in JAVA. Das Filtermodul übernimmt die gesamten Filteraufgaben. Der Firewall-Dämon verarbeitet die Filter-Meldungen (z.B. "Paket gesperrt"), erzeugt die dynamischen Filterregeln, Log-Einträge und Alarmmeldungen.

Das Filter-Modul erfordert kleine Änderungen im Kernel, um ein sogenanntes "device" zu erzeugen, welches wie unter UNIX üblich in /dev/firewall erscheint. Die Kommunikation kann dann relativ einfach über das öffnen des "firewall device" geschehen. Gegenüber ganzheitlichen Lösungen, bei denen das Filter-Modul und das Kontrollprogramm in einem Programm zusammengefaßt wurden, hat diese Lösung den Vorteil, daß bei einer Fehlfunktion des Kontrollprogramms die "forwarding" Funktionen des Kernels deaktiviert sind, d.h. die Firewall unverzüglich alle Verbindungen sperrt (failsafe). Alle ein- und ausgehenden Pakete durchlaufen das Filtermodul und müssen stets getrennte Regelsätze für die angeschlossenen Netzwerkinterfaces passieren, was insbesondere für die Erkennung von "adress spoofing" notwendig ist.

Ist die Firewall als "bastion host" konfiguriert, so wird jedes Paket zuerst gefiltert, bevor es in der Firewall selber Schaden anrichten kann. Die Pakete werden anhand der statischen und dynamischen Filterregeln überprüft, und je nach Resultat weitergeleitet, stillschweigend vernichtet, oder unter Aussendung einer beliebig wählbaren "ICMP" Meldung (destination unreachable...) zurückgewiesen. Falls der "notification level" nicht NULL ist, wird zusätzlich eine Meldung an den Firewall-Dämon gesendet, der dann weitere Aktionen ausführen kann. Das Kernel-Modul wird während dieser Ausführung nicht blockiert, und kann sich bereits wieder einem weiteren Paket widmen.


Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING