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.
Der Transfer der Log-Einträge vom Filter zum <strong>Firewall</strong>-Dämon erfolgt über einen Puffer im<br />
<strong>Firewall</strong>-Device. Falls der Puffer voll ist, werden alle Pakete verworfen, egal ob die<br />
Filterregeln zutreffen, oder nicht. Für die betroffenen Hosts erscheint dieses so, als wenn<br />
Pakete aus unbekannten Gründen verlorengegangen sind.<br />
Log-Einträge bestehen aus dem Rückgabewert, der Regel ID, dem Namen des Devices<br />
<strong>und</strong> den ersten 176 Bytes des Paketes. Die Größe wurde so gewählt, daß zumindest alle<br />
Protokollheader aufgezeichnet werden, <strong>und</strong> die Gesamtgröße der Log-Struktur die<br />
maximale Größe <strong>für</strong> eine Speicherseite nicht überschreitet (Siehe sf_filter.h).<br />
Nun wird der <strong>Firewall</strong>-Dämon aufweckt, damit die Filterfunktion den Rückgabewert einer<br />
zutreffenden Regel übergeben kann.<br />
Konfiguration <strong>und</strong> Kontrollroutinen<br />
Wann immer das SFC Userprogramm gestartet wird, um Konfigurationen vorzunehmen,<br />
werden alle Informationen des <strong>Firewall</strong>-Dämons über das <strong>Firewall</strong>-Device an den Filter<br />
übergeben. Das Device ruft die Funktion sf_write_config() (in sf_filter.c) auf. Die Funktion<br />
fordert neuen Speicherraum an, <strong>und</strong> kopiert den gesamten Puffer hinein. Es muß<br />
berücksichtigt werden, daß der C-Compiler z.B. um 1025 Byte zu speichern, 2048 Byte<br />
anfordert. Wenn also ein bestehender Buffer von knapp über 1 MByte Größe kopiert<br />
werden muß, daß ca. 4 MByte tatsächlich benötigt werden. Die <strong>Firewall</strong> ist also immer mit<br />
genügend RAM auszustatten. Danach wird der Befehl interpretiert <strong>und</strong> die entsprechende<br />
Funktion aufgerufen.<br />
sf_init() wird aufgerufen, wenn das Kernel Filtermodul eingefügt wird, um die HASH<br />
Queues zu initialisieren.<br />
sf_del_all_timers wird aufgerufen, wenn das Filtermodul entladen wird. Alle aktiven Timer<br />
müssen beendet werden, damit Speicherplatz korrekt wieder freigegeben werden kann.<br />
sf_clear, sf_add, sf_replace <strong>und</strong> sf_delete werden aufgerufen, um die lineare Liste des<br />
Regelwerkes bearbeiten zu können, sf_flush and sf_flush_all sind bereits in ihren<br />
Funktionen beschrieben worden.<br />
Wenn immer der Befehl SF_COMMAND_FW_ADDR eingegeben wird, wird der Buffer<br />
kopiert. Hier<strong>für</strong> ist die Funktion sf_write_config zuständig. Die Funktionen sf_rule_first <strong>und</strong><br />
sf_rule_next werden <strong>für</strong> die Übergabe der Konfiguration an den aktuellen SFC Prozeß bei<br />
der Eingabe von "SFC SHOW" benötigt. Die nächste Regel, die übergeben wird, ist in<br />
rule_first_next gespeichert. Die Konfiguration wird also an den Filter übergeben, obwohl<br />
der <strong>Firewall</strong>-Dämon alle geraden aktiven Regeln kennt. Nur so kann der User sicher sein,<br />
daß die Ausgabe der momentanen Filterregeln, Variablen <strong>und</strong> Zustände auch tatsächlich<br />
dem momentanen Zustand der <strong>Firewall</strong> zu einem bestimmten Zeitpunkt entspricht. Die<br />
etwas schlechtere Performance während dieses Zeitpunktes der Abfrage ist hier nicht so<br />
wichtig, da der Befehl "SFC SHOW" nicht so häufig ausgeführt wird.<br />
15. SINUS <strong>Firewall</strong> Installation<br />
Die Installation der SINUS <strong>Firewall</strong> wird nun im Folgenden detailliert erklärt. Hierzu sind<br />
Kenntnisse zur Kompilation erforderlich, die im Detail im Kapitel über IPFWADM erklärt<br />
wurden. Danach muß nur noch die Konfigurationsdatei angepaßt werden, <strong>und</strong> die <strong>Firewall</strong><br />
in den Kernel eingeb<strong>und</strong>en werden. Weit komplexer ist aber die Installation von ENSkip im<br />
Kernel <strong>2.0</strong>.36 <strong>und</strong> die Installation des JAVA Runtime Moduls auf einer Arbeitsstation unter<br />
Windows, damit man die <strong>Firewall</strong> über das JAVA Interface administrieren kann.<br />
15.1 Änderungen im Kernel<br />
Erstellt von Doc Gonzo - http://kickme.to/plugins