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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!