05.02.2013 Aufrufe

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Die sf <strong>Firewall</strong> besteht aus folgenden Komponenten:<br />

• Filter-Modul<br />

• <strong>Firewall</strong>-Dämon<br />

• sfc Userprogramm<br />

• <strong>Firewall</strong> Pipe<br />

Man beachte die Trennung von Kernel-Filter-Modul <strong>und</strong> <strong>Firewall</strong>-Daemon.<br />

Das Kernel Filter-Modul ist ein sogenanntes "loadable module" welches während der<br />

Laufzeit in den Linux Kernel eingefügt wird. Es ist von diesem Zeitpunkt an Teil des<br />

Kernels, so als ob es direkt in den Kernel hinein kompiliert worden wäre. "Loadable<br />

modules" sind eine der besonderen Eigenschaften von <strong>LINUX</strong>.<br />

Der <strong>Firewall</strong>-Daemon läuft als unprivilegierter User-Prozeß. Er hat keine besonderen<br />

Zugriffsrechte, außer denen, die notwendig sind, um mit der <strong>Firewall</strong>-Schnittstelle zu<br />

kommunizieren <strong>und</strong> in Log-Dateien zu schreiben.<br />

Das "sfc" Programm kann zu Darstellung eines momentanen Abbildes der aktivierten<br />

Filterregeln <strong>und</strong> Variablen der <strong>Firewall</strong> genutzt werden.<br />

Die <strong>Firewall</strong> Pipe wird zur Kommunikation zwischen dem sfc Programm <strong>und</strong> dem <strong>Firewall</strong>-<br />

Daemon genutzt.<br />

Paket-Filter<br />

Der Paketfilter der <strong>Firewall</strong> nimmt an einer Netzwerk-Schnittstelle (1) ein IP-Paket an,<br />

welches zur zweiten Netzwerkschnittstelle (2) weitergeleitet werden soll. Dies stellt den<br />

Normalfall dar, wenn die <strong>Firewall</strong> als Router eingesetzt wird.<br />

Bei der Ankunft wird das Paket in die Warteschlange der Netzwerkschnittstelle (1)<br />

geschickt <strong>und</strong> dann an den Kernel IP Code übergeben. Von dort wird das Kernel Filter-<br />

Modul aufgerufen (über den Zeiger sf_fw_chk). Die sf_fw_chk() Funktion gibt die<br />

Ergebnisse der Untersuchungen an den Kernel <strong>zurück</strong>. Hier übergibt sie als Ergebnis, wie<br />

mit dem IP-Paket zu verfahren ist: verwerfen, <strong>zurück</strong>weisen oder annehmen. Falls das<br />

Paket angenommen ist, wird es successive an die Netzwerkschnittstelle (2) gesendet <strong>und</strong><br />

verläßt die <strong>Firewall</strong>.<br />

Wenn ein IP-Paket das Kernel-Filter-Modul erreicht, durchsucht dies seine internen<br />

Tabellen <strong>und</strong> sendet unverzüglich einen Code <strong>zurück</strong>(verwerfen, <strong>zurück</strong>weisen,<br />

annehmen). Wurde der <strong>Firewall</strong>-Daemon über das Ereignis unterrichtet, wird eine<br />

Nachricht erstellt <strong>und</strong> an den Nachrichten-Buffer gesendet.<br />

Linux Kernel-Änderungen<br />

Um die Komponenten Kernel Filter-Modul <strong>und</strong> <strong>Firewall</strong>-Daemon in das Betriebssystem<br />

einzubinden, sind einige Änderungen vorzunehmen. Das sfc User Programm <strong>und</strong> die<br />

Komponenten des <strong>Firewall</strong>-Device benötigen keine Änderungen, <strong>und</strong> können während der<br />

Laufzeit geladen werden.<br />

Ein Ziel der Entwicklung der SINUS <strong>Firewall</strong>-1 war es, die Anzahl <strong>und</strong> Komplexität der<br />

Kernel-Änderungen gering zu halten, um ein einfaches Aktualisieren des Kernels <strong>und</strong> eine<br />

gute Portierbarkeit zu ermöglichen. Dazu wurde soviel "code" als möglich in das Kernel<br />

Filter-Modul <strong>und</strong> in den <strong>Firewall</strong>-Daemon eingebaut.<br />

Dies sind die neuen Dateien: Die Datei config.in, welche die Anfragen <strong>für</strong> die "make config<br />

facility" enthält. Ein Makefile <strong>und</strong> die Dateien ip.c <strong>und</strong> tcp.c um Anrufe zum Kernel-Filter-<br />

Erstellt von Doc Gonzo - http://kickme.to/plugins

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!