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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Modul "stub" hinzuzufügen. Die Datei ksyms.c, welche alle exportierten Symbole auflistet.<br />

Die Datei sf_kernel.h (neu), die die Kernel-Filter-Modul-Schnittstelle beinhaltet. sf_stub.c<br />

(neu), das Kernel-Filter-Modul "stub".<br />

Beschreibung der Kernel-Filter-Module Stub<br />

Die Stub-Datei, sf_stub.c, enthält den Filter-Funktions-Zeiger sf_fw_chk() <strong>und</strong> zwei<br />

Dummy-Routinen, welche alle Pakete entweder <strong>zurück</strong>weisen oder passieren lassen. Die<br />

Filter-Funktion wird jedoch nie direkt aufgerufen, sondern ausschließlich nur durch den<br />

Funktions-Zeiger im Filter. In der momentanen Implementierung zeigt der Funktions-<br />

Zeiger im Filter entweder auf die Funktion des Kernel Filter-Moduls, oder auf eine der<br />

Dummy-Routinen der Stub-Datei.<br />

Um Aufrufe zum Filter-Funktions-Zeiger hinzuzufügen, muß die Datei ip.c modifiziert<br />

werden. Beim starten des Systems ist der Funktions-Zeiger des Filters auf die "Paket<br />

passieren lassen" Dummy-Routine eingestellt, sodaß die <strong>Firewall</strong> nicht arbeitet. Ohne das<br />

freigeschaltete Dummy Interface ist die <strong>Firewall</strong> nicht in der Lage, Informationen an das<br />

Monitor Interface zu senden. Vorsicht also mit der Einstellung "block all pakets" !<br />

14.23 Komponenten der SINUS <strong>Firewall</strong>-1<br />

Installation der Kernel Filter Module<br />

Das Kernel Filtermodul, sf.o, enthält Code zur Initialisierung, Konfiguration <strong>und</strong> zum<br />

Betrieb des <strong>Firewall</strong>-Devices /dev/firewall. Der Quellcode befindet sich im File sf_device.c<br />

. Es sei noch erwähnt, daß sich sowohl der "message buffer", als auch die echten<br />

Paketfilter Funktionen sich in der Funktion sf_check_packet() befinden. Das Einfügen des<br />

Filters in den Kernel mit insmod hat keine Auswirkung auf den Funktionszeiger des<br />

PaketFilters <strong>und</strong> aktiviert somit auch nicht den "message buffer".<br />

14.24 Starten des <strong>Firewall</strong>-Dämons<br />

Der <strong>Firewall</strong>-Dämon benutzt die <strong>Firewall</strong> Schnittstelle /dev/firewall, um mit dem kernel filter<br />

Modul zu kommunizieren. Der <strong>Firewall</strong>-Dämon selber greift nicht direkt auf Funktionen des<br />

Kernels zu. Bei seiner Aktivierung öffnet dieser die <strong>Firewall</strong> Schnittstelle im read/write<br />

Modus (wie ein File) <strong>und</strong> aktiviert dann den message Buffer in dem Modul. Der Packetfilter<br />

Funktionszeiger sf_fw_chk, der bis hierhin auf die dummy "pass packets" Funktion zeigt,<br />

wird nun auf die echte Filterfunktion des Filtermoduls umgebogen.<br />

Die Filterfunktion fängt nun an, die Pakete zu analysieren. Immer dann, wenn ein Paket<br />

den Konfigurationseinstallungen entspricht, benachrichtigt es den <strong>Firewall</strong>-Dämon, erzeugt<br />

eine Nachricht <strong>und</strong> speichert diese im Message buffer. Nun kann auch der Monitor <strong>für</strong> den<br />

User aktiviert werden, um die Nachricht anzuzeigen. Der <strong>Firewall</strong>-Dämon liest nun den<br />

ganzen Message buffer. Die buffer struktur sf_proc enthält nun einen Zähler (num_entries)<br />

der die Zahlder gültigen Einträge enthält. Wenn keine Nachrichten im Buffer enthalten<br />

sind, dann wird der <strong>Firewall</strong>-Dämon vorübergehend deaktiviert, damit er nicht mehr vom<br />

<strong>Firewall</strong>-Device liest. Das spart CPU Zeit. Sobald aber neue Nachrichten eintreffen, wird<br />

der <strong>Firewall</strong>-Dämon von der Filterfunktion im Kernel reaktiviert.<br />

Wenn der Message buffer voll ist, das passiert immer dann, wenn die Auslesefunktion<br />

deaktivert oder überlastet ist, dann benachrichtigt die Filterfunktion den Kernel, woraufhin<br />

dieser dann Pakete verwirft, <strong>und</strong> den Counter <strong>für</strong> verlorene Pakete aktiviert.<br />

Sobald das Filterdevice geschlossen wird, wird der Zeiger auf die Filterfunktion wieder auf<br />

die dummy Filterroutine gesetzt. Weitere Details sind in dem Abschnitt "Start <strong>und</strong> Kontrolle<br />

des <strong>Firewall</strong>s" beschrieben.<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!