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.
Lage, eventuelle Angriffe von UNIX-Servern aus Rechenzentren festzustellen, <strong>und</strong> den<br />
User zu identifizieren. Hier<strong>für</strong> sind folgende Methoden implementiert:<br />
• finger<br />
• rusers<br />
• identd<br />
Während finger <strong>und</strong> rusers einfach nur UNIX-Befehle sind, erfordert der identd eine<br />
spezielle Anpassung. Der Code befindet sich in der Datei sfidentd.c . Das Programm<br />
verbindet sich mit dem Host, der untersucht werden soll, <strong>und</strong> liefert entsprechend der RFC<br />
1413 Informationen <strong>zurück</strong>.<br />
Erweiterungen des <strong>Firewall</strong>-Dämons<br />
Neue Schlüsselworte<br />
Das Hinzufügen neuer Schlüsselworte zu der "notification" Struktur erfordert Änderungen<br />
im Parser <strong>und</strong> ein paar neue Zeilen in der Funktion "execute_notify" im File sf_daemon.c .<br />
Erweiterung der "counter intelligence"<br />
Diese Erweiterungen sind recht einfach zu implementieren. Eine Änderung in der finger<br />
Funktion (sf_spy.c) ist notwendig. Um einen Eintrag hinzuzufügen, genügt ein einfaches<br />
copy/paste der "rusers" Zeilen <strong>und</strong> eine Anpassung an die Befehle des verwendeten<br />
Programms.<br />
Um weitere Möglichkeiten der Benachrichtigung des Users hinzuzufügen, ist es<br />
notwendig, die Größe des Files fdarray anzupassen (neben Logfile <strong>und</strong> E-Mail), <strong>und</strong> die<br />
num_fd Variable entsprechend anzupassen. Nun muß nur noch ein File - Descriptor<br />
geöffnet werden, der auf den Zielhost zeigt. Alles weitere erfolgt dann automatisch.<br />
Genaue Details befinden sich im Quellcode der finger Funktion (sf_spy.c)<br />
14.27 <strong>Firewall</strong> Konfiguration<br />
Die <strong>Firewall</strong> Konfiguration wird aus dem Konfigurationsfile (/etc/firewall.d/firewall.conf)<br />
ausgelesen, interpretiert <strong>und</strong> direkt in die Datenstrukturen des <strong>Firewall</strong>-Dämons<br />
eingelesen. Das Regelwerk wird über das <strong>Firewall</strong>-Device (/dev/firewall) an den Filter<br />
übergeben. Funktionen, die Regeln hinzufügen, löschen oder modifizieren, sind in der<br />
Datei sf_config.h definiert. Dieser Abschnitt beschreibt die Datenstrukturen im <strong>Firewall</strong>-<br />
Dämon. Die Datentypen sind in sf_global.h <strong>für</strong> den <strong>Firewall</strong>-Dämon <strong>und</strong> den Filter<br />
gemeinsam definiert. Definitionen allein <strong>für</strong> den <strong>Firewall</strong>-Dämon liegen in sf_config.h .<br />
Filter Regeln<br />
Der Parser speichert die Regeln in umgekehrter Reihenfolge in einer linearen Liste, sodaß<br />
dieser <strong>und</strong> der Kernel stets am Kopf der Liste Regeln hinzufügen können. Die ist<br />
insbesondere Notwendig <strong>für</strong> dynamische <strong>Firewall</strong>regeln. Die Zeiger <strong>für</strong> die Struktur der<br />
Variablen zeigt auf den Kopf der Liste. Jede Regel enthält einen Zeiger auf sich selber (ptr<br />
in union rule_id). Dieser Zeiger ist nur im Usermode definiert. Der Filter betrachtet diese ID<br />
als eindeutige Kennzeichnung <strong>für</strong> eine Regel. Hat der Filter eine Regel an den <strong>Firewall</strong>-<br />
Dämon übergeben, so kann der über die ID stets schnell auf die Regel erneut zugreifen,<br />
um dynamische <strong>Firewall</strong>regeln auszulesen, zu ändern o.ä.<br />
Der Parser speichert die Kennzahl <strong>für</strong> den "notification level" in der Struktur level.num.<br />
Diese Levelnummer wird später in einen Zeiger auf die "notification" Struktur<br />
umgewandelt, unter Berücksichtigung der Konvertierungslevel in sf_config.c<br />
(convert_levels). Adressen, die von den Filterregeln benötigt werden, werden in einem<br />
Erstellt von Doc Gonzo - http://kickme.to/plugins