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.

geeinigt haben. In diesem Falle dürfen weder von Client oder Server keine ACK Pakete<br />

mehr gesendet werden. Ein Angreifer müßte dann sowohl an den Client als auch an den<br />

Server ein FIN oder RST senden, um die Verbindung zu unterbrechen.<br />

Der TCP/IP Stack mußte daher wieder um eine Kleinigkeit erweitert werden. Falls noch<br />

Datenpakete mit ACK zwischen Client <strong>und</strong> Server ausgetauscht werden, kann also ein<br />

RST oder FIN von einem der beiden Beteiligten nicht tatsächlich stammen. Solange, wie<br />

ACK Pakete auf einem der Hosts eintreffen, wird ein RST oder FIN nicht als<br />

Verbindungswunsch akzeptiert. Da der aber auch noch den Austausch von Paketen mit<br />

ACK zwischen Server <strong>und</strong> Client verhindern müßte, damit die gespooften RST oder FIN<br />

Pakete bei Client <strong>und</strong> Server akzeptiert würden, bleibt ihm nur noch eines - die Aufgabe.<br />

Solange nicht Server <strong>und</strong> Client beide ein FIN sich gegenseitig schicken, gilt die<br />

Verbindung als half close, also halb geschlossen. Wenn man mit netstat unter UNIX oder<br />

Microsoft Windows sich alle momentanen Verbindungen ansieht, kann man den Zustand<br />

der Verbindungen genau ansehen. Unter UNIX genügt ein PERL Skript, um bestimmte<br />

Verbindungen gezielt zu schließen. Im Falle, daß die Verbindung gerade geöffnet wurde,<br />

also gerade den SYN- SYN/ACK hinter sich hat, wird dieser Zustand als half open<br />

bezeichnet.<br />

In jedem Falle wird im TCP/IP Stack <strong>für</strong> jeden Zustand (half open/close) <strong>und</strong> jede einzelne<br />

Verbindung ein Timer gestartet, der auch stets Statistiken über die Qualität der<br />

Verbindungen mitführt. Ist die Verbindung z.B. sehr gut, weil Client <strong>und</strong> Server direkt<br />

nebeneinander stehen, so kann <strong>und</strong> muß der Timeout heruntergesetzt werden. Ein<br />

Angreifer könnte ansonsten den SYN-RCVD Buffer fluten, <strong>und</strong> der Server hätte keine<br />

Möglichkeit mehr, weitere Verbindungen anzunehmen (syn-flood). Andererseits würde ein<br />

zu kurzer Timeout den Verbindungsaufbau zu einem weit entfernten Client verhindern.<br />

Aber auch diese Verfahrensweise birgt Gefahren: Was wäre, wenn ein Client, der direkt<br />

neben dem Server steht, eine langsame Verbindung vortäuschen würde, damit der Server<br />

den Timeout höher setzt, um dann schnell einen SYN Angriff zu starten ? In dem Fall, daß<br />

der SYN-RCVD - Buffer gefüllt ist, sendet die <strong>Firewall</strong> aktiv einfach ein ACK Paket mit<br />

falscher Prüfsumme, damit es verworfen wird an alle Clients, um die bestehenden<br />

Verbindungen nicht terminieren zu lassen (timeout refresh) <strong>und</strong> ein SYN-ACK sowohl an<br />

die echten, als auch die vom Angreifer gespooften Adressen, die natürlich ins Leere<br />

laufen. Nach einiger Zeit beendet die <strong>Firewall</strong> dann alle Verbindungen, die nicht mit einem<br />

SYN-ACK quittiert wurden <strong>und</strong> kann so den SYN-RCVD Buffer leeren. Es bleiben nur<br />

noch diejenigen Verbindungen übrig, die zuvor bestanden haben <strong>und</strong> die ernsthaft neu<br />

initiiert wurden.<br />

Aber auch diese Technik birgt Gefahren: Ein Angreifer könnte so die <strong>Firewall</strong> mit<br />

schnellen, gespooften SYN Paketen ganz aus der Nähe dazu veranlassen, dem Host, der<br />

die gespoofte IP - Nummer besitzt, eine Flut von SYN-ACK Paketen zu schicken. Dies<br />

könnte durchaus zur Leitungsüberlastung bei einigen Providern führen, insbesondere bei<br />

denjenigen, deren Anbindung etwas langsamer ist. In diesem Falle wäre die <strong>Firewall</strong><br />

selber zwar gegen SYN flooding gesichert, würde aber zu einem DoS (denial-of-service)<br />

bei einem völlig Unbeteiligten führen, der zufällig die IP-Adresse des vom Angreifer<br />

benutzten, gespooften Pakets besitzt.<br />

Die SINUS <strong>Firewall</strong> kann zuverlässig diesen Mißbrauch verhindern, indem sie <strong>für</strong> jede<br />

Verbindung einen eigenen Counter setzt, der bei einer maximalen Anzahl von SYN-<br />

Paketen einer bestimmten (auch gespooften) IP - Nummer das Aussenden des SYN-ACK<br />

stoppt.<br />

Für den Schutz ihrer Standleitungsk<strong>und</strong>en, besonders denen mit ISDN-Anschluß sollte<br />

von allen größeren Providern evtl. dieses Problem genauer bedacht werden. Hier hilft der<br />

Einsatz einer schnellen <strong>Firewall</strong> mit SPF - Architektur, die diese DoS Angriffe verhindert,<br />

indem sie die Zustände aller Verbindungen der K<strong>und</strong>en im eigenen Netzwerk speichert,<br />

<strong>und</strong> gegen SYN-ACK Pakete verteidigt, denen kein SYN vorangegangen ist. Allerdings<br />

muß auch das Netzwerk gegen gegenseitige Angriffe von K<strong>und</strong>en untereinander gesichert<br />

werden. Hierzu wäre dann der Einsatz von <strong>Firewall</strong> - Routern notwendig. Diese Technik<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!