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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

gelöscht, weitergeleitet oder eine ICMP Nachricht ausgesendet werden muß. Die<br />

Filterfunktion benachrichtigt den Kernel schnellstmöglich darüber, ob ein Paket erlaubt<br />

oder verboten ist. Die Filterfunktion führt nicht alle Tests in jedem Fall durch. Einige<br />

können vom Kernel übernommen werden (IP_defrag...).<br />

Address Spoofing<br />

Das erste Paket eines Hosts wird auf address spoofing hin überprüft. Für den Fall, daß<br />

es nicht vom Loopback Interface stammt, aber dort als Quelladresse oder Zieladresse die<br />

Loopbak Adresse eingetragen ist, wird das Paket verworfen. Wenn das Paket von der<br />

<strong>Firewall</strong> selber stammt, also eine IP-Adresse der Netzwerkinterfaces besitzt, oder Quell<strong>und</strong><br />

Zieladresse eine lokale IP - Nummer besitzen, ist nur noch der anti spoof test<br />

erforderlich. Dann kann das Paket passieren, <strong>und</strong> der Filter gibt den Wert<br />

SF_RC_ACCEPT <strong>zurück</strong>.<br />

Nun muß in der HASH-Queue überprüft werden, ob das Interface internal oder external ist.<br />

Findet sich kein Wert in der HASH Queue, so wird die Funktion sf_inside() aufgerufen. Sie<br />

überprüft, ob die Interface-Adresse mit der internalnet Adresse übereinstimmt. Das<br />

Ergebnis wird in die HASH Queue geschrieben, es wird später ausgewertet.<br />

Wenn ein Paket empfangen wird, wird die Quelladresse <strong>für</strong> eine Überprüfung des<br />

Quellcodes herangezogen, andernfalls wird die Zieladresse benutzt. Wenn die Adressen<br />

nicht der Adresse eines Hosts <strong>und</strong> nicht der des Loopback Interfaces entsprechen,<br />

müssen die Paketadressen <strong>und</strong> Interface Adressen entweder internal oder external sein.<br />

Wenn adress spoofing entdeckt wird, werden die internen <strong>Firewall</strong>regeln<br />

RULE_SPOOF_RECV oder RULE_SPOOF_XMIT aktiv. Die enthaltenen Informationen<br />

werden an den <strong>Firewall</strong>-Dämon übergeben. Die weiteren Paketinformationen werden dann<br />

verworfen.<br />

Für den Fall, daß ein Paket weitergeleitet wird, kann die weitere Überprüfung nach der<br />

Überprüfung auf spoofing entfallen.<br />

Fragmentierung<br />

TCP<br />

Wenn ein Fragment Offset in dem IP-Header gesetzt ist, wird die Paket-ID als HASH-Wert<br />

mit evtl. Einträgen in vorangegangenen Paketen verglichen <strong>und</strong> dem Filter mitgeteilt, ob<br />

ein Paket passieren darf, oder nicht. Die Einträge in der HASH Queue sind dem Timeout -<br />

Mechanismus unterworfen, der diese löscht, wenn längere Zeit keine Pakete mehr<br />

erfolgreich die <strong>Firewall</strong> durchlaufen haben. Der Timeout-Zähler beginnt von Neuem, wenn<br />

der Vergleich positiv war. Das Fragment muß auch hier nicht weiter überprüft werden, es<br />

wird automatisch intern weitergeleitet. Mit dem Eintreffen eines fragmentierten Paketes<br />

<strong>und</strong> dem Aufruf der Funktion SF_CHKFRAG wird ein neuer Eintrag in die HASH Queue<br />

vorgenommen, <strong>und</strong> der Timer <strong>zurück</strong>gesetzt.<br />

Zugelassene TCP Verbindungen werden in HASH Queues gespeichert. Der HASH<br />

Schlüssel berechnet sich aus der Summe von Quelladresse, Zieladresse, <strong>und</strong> den<br />

zugehörigen Portnummern, modulo der im Quellcode angegebenen Primzahl (499 in<br />

sf_filter.c). Die Adressen sind zuvor in 32 Bit Integerwerte konvertiert worden. Die HASH<br />

Tabelle enthält den Status einer TCP Verbindung. Der Filter kann so schnell bestimmen,<br />

ob eine Verbindung besteht, ein Host die Verbindung abbrechen möchte, die Verbindung<br />

beendet ist.....<br />

Ein eintreffendes Paket, welches einen Verbindungswunsch anzeigt, hat das SYN Flag<br />

gesetzt, nicht aber das ACK Flag. In diesem Falle ist die TCP Verbindung noch nicht in<br />

der HASH Queue gespeichert, mit Ausnahme von FTP Verbindungen. Der Rest des TCP<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!