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.

Bei dem Zugriff auf Server hat man es mit vielen Clients <strong>und</strong> wenigen IP - Nummern sowie<br />

Ports zu tun. Es müssen die Ports 80 <strong>und</strong> 21 <strong>für</strong> Zugriffe aus dem Internet freigeschaltet<br />

werden. Nur in Ausnahmefällen sollten weitere Ports, z.B. <strong>für</strong> SQL zugelassen werden.<br />

Hier<strong>für</strong> reichen erstaunlich wenige Regeln völlig aus. Etwas problematisch ist die große<br />

Zahl von Zugriffen pro Sek<strong>und</strong>e, die auf die Server einstürmen. Die <strong>Firewall</strong> muß also<br />

Tausende von simultanen Zugriffen pro Sek<strong>und</strong>e im RAM verwalten können. Hierzu muß<br />

der <strong>LINUX</strong> Kernel speziell <strong>für</strong> eine große Zahl von halboffenen Verbindungen vorbereitet<br />

werden. Hierzu ist die Variable SOMAXCONN in der Datei<br />

/usr/src/linux/include/linux/socket.h von 128 auf eine höhere Zahl gesetzt werden. Bevor<br />

man aber den Maximalwert von 65535 einsetzt, sollte man sich überlegen, wieviel RAM<br />

jede halboffene Verbindung verbraucht. Reicht das RAM nicht aus, so fängt die <strong>Firewall</strong><br />

an, den SWAP Speicher zu bemühen, was zu einem völligem Performanceeinbruch<br />

führen kann. Jede TCP - Verbindung beansprucht im RAM einen Puffer, der bei <strong>LINUX</strong> je<br />

nach Kernel-Version <strong>und</strong> Prozessortyp schwankt. Der Standardwert liegt bei etwas über 1<br />

KByte. Die Werte schwanken jedoch auch von Betriebssystem zu Betriebssystem.<br />

Genaue Angaben von kommerziellen Herstellern bekommt man derzeit nur von SUN oder<br />

halt von OpenSource <strong>Firewall</strong>s, wie TIS FWTK (NAI), JUNIPER <strong>Firewall</strong> oder<br />

GENUAWALL.<br />

Unter NT sind solche Angaben nur schwierig zu bekommen.<br />

Problematisch ist der Zugriff von Browsern auf Server über die <strong>Firewall</strong> hinweg. in vielen<br />

Fällen öffnet der Browser viele simultane Verbindungen zum Server. Spricht der Server<br />

nur HTTP 1.0, dann wird die <strong>Firewall</strong> erheblich belastet. Im Falle dessen, daß die Server<br />

mit neueren IIS / APACHE Servern ausgerüstet sind, die HTTP 1.1 konform sind, werden<br />

alle Grafiken <strong>und</strong> HTML Seiten in einen einzigen Datenstrom (TCP Verbindung) verpackt.<br />

Wie man sieht, hängt die Leistung der <strong>Firewall</strong> auch von den WWW-Servern hinter der<br />

<strong>Firewall</strong> <strong>und</strong> den Clients ab. Man sollte auch bedenken, daß pro Client stets zwei TCP<br />

Verbindungen auf der <strong>Firewall</strong> initiiert werden, einmal zum Client <strong>und</strong> weiterhin zum<br />

WWW-Server. Bei 50.000 offenen Zugriffen auf eine Serverfarm müssen also mindestens<br />

100.000 simultane TCP Verbindungen offengehalten werden können. Hier ist eine RAM<br />

Ausstattung von 128 MByte das Minimum, sofern alle Server HTTP 1.1 konform sind.<br />

Hinzu kommt, daß z.B. <strong>für</strong> jede Initiierung einer Verbindung alle <strong>Firewall</strong>regeln durchlaufen<br />

werden müssen. Eine scheinbar langsame 2 MBit Anbindung kann aber eine <strong>Firewall</strong> in<br />

erhebliche Bedrängnis bringen, zumal es nur einiger h<strong>und</strong>ert Byte bedarf (abhängig von<br />

der MTU) um eine halboffene Verbindung zu initiieren. Diese scheinbar geringe<br />

Bandbreite von 2 MBit reicht bei einem DoS Angriff z.B. aus, um die <strong>Firewall</strong> mit einigen<br />

h<strong>und</strong>ert neuen Verbindungen pro Sek<strong>und</strong>e zu traktieren.<br />

Hierbei spielen die Timeout Einstellungen bei halboffenen Verbindungen eine große Rolle.<br />

Fast alle <strong>Firewall</strong>s sind auf einige Minuten bis St<strong>und</strong>en standardmäßig eingestellt. Diesen<br />

sollte man unbedingt auf wenige Sek<strong>und</strong>en heruntersetzen, auch wenn man in Gefahr<br />

läuft, daß Teilnehmer aus langsamen Netzwerken keine Verbindung mehr aufbauen<br />

können.<br />

Hier kommt es also entschieden auf die Intelligenz des TCP/IP Stacks an. FAST<br />

RETRANSMIT, SACK ....sind Begriffe die alle mit intelligentem Timing <strong>und</strong> Timeouts zu<br />

tun haben. Wer also sicher sein möchte, daß keine der o.a. Probleme entstehen sollten,<br />

der sollte BSD UNIX, SOLARIS 2.6/2.7, <strong>LINUX</strong> <strong>2.2</strong> Kernel, OS/2 oder die SF <strong>Firewall</strong><br />

unter <strong>LINUX</strong> einsetzen. <strong>LINUX</strong> <strong>2.0</strong> mit IPFWADM oder IPCHAINS ist hier<strong>für</strong> völlig<br />

ungeeignet, ebenso wie alle Windows NT basierten <strong>Firewall</strong>s, da NT nicht über intelligente<br />

Mechanismen, wie FAST RETRANSMIT, SACK ... verfügt. Für den Einsatz im Intranet<br />

oder als <strong>Firewall</strong>-Router zur Anbindung eines Unternehmens spielen diese Betrachtungen<br />

keine Rolle.<br />

Das größere Problem bei ISP´s ist die Speicherung von LOG-Dateien. Intelligente DoS<br />

Angriffe können bei einer 2 MBit Anbindung dazu führen, daß jede Sek<strong>und</strong>e die Daten von<br />

500 neuen Verbindungen gespeichert werden müssen. Das sind pro Tag ca. 2 GByte an<br />

Daten. Es reicht also, die <strong>Firewall</strong> mit 100 GByte Festplattenplatz auszurüsten. Billige AT-<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!