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
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