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.

schirmt IP - Nummern hinter der <strong>Firewall</strong> ab, <strong>und</strong> ersetzt diese durch ihre eigene. Mehr<br />

hierzu jedoch später. Warum sollte man Clients nicht erlauben, sich mit einer Portnummer<br />

< 1024 an dem Server anzumelden. Das hat zum Teil historische Gründe. Bei der<br />

Programmierung von BSD UNIX wurden definiert, daß alle Ports < 1024 privilegierte Ports<br />

sind, die ausschließlich den UNIX Dämonen vorbehalten sein sollen. Alle anderen Ports<br />

können entsprechend den Vorschlägen in den RFC´s genutzt werden. Diese findet man in<br />

jeder <strong>LINUX</strong> Distribution im Verzeichnis /usr/doc/rfc. Da TCP Verbindungen sich nach<br />

dem 3-Wege Handshake auf höhere Ports > 1024 verlagern, hat man dann also eine<br />

sauberere Trennung zwischen Anwenderprogrammen <strong>und</strong> UNIX Systemprogrammen bei<br />

der Nutzung der Ports. Ein Netscape Client, der sich von Port 3120 mit seiner IP -<br />

Nummer an Port 80 des Servers anmeldet <strong>und</strong> akzeptiert wird, wird vom Serverdämon auf<br />

einen höheren Port verlagert, beispielsweise 54123. Von nun an unterhalten sich<br />

Netscape <strong>und</strong> der WWW-Server zwischen Port 3120 <strong>und</strong> Port 54123 des Servers.<br />

Auf diese Weise kann man mit netstat -a einfach nach normalem Traffic (Verkehr)<br />

zwischen Anwendungsprogrammen <strong>und</strong> wichtigem Verkehr zwischen UNIX Servern <strong>und</strong><br />

Routern im Internet unterscheiden. Nebenher fallen dann Verbindungsversuche von<br />

Hackern oder Fehlkonfigurationen von Clients schneller auf. Viele der einfachen<br />

Angriffswerkzeuge, die man im Internet findet, benutzen als Quellcode privilegierte Ports.<br />

Wenn ein Angreifer mehr Ahnung hat, dann wird er die Quellcodes sicher anpassen, eine<br />

Sicherheitsgarantie ist die Aufteilung der Ports in privilegierte <strong>und</strong> unprivilegierte ohnehin<br />

nicht. Bei vielen UNIX Betriebsystemen <strong>und</strong> Microsoft - Programmen ist diese Regel<br />

ziemlich aufgeweicht worden. Firma Microsoft hat aber in Windows NT über die Registry<br />

eine Möglichkeit geschaffen, die Bereiche von verwendeten Ports einzelner Dienste<br />

einzuschränken oder zu verlagern. Damit ist es nun möglich, bestimmte Dienste (PDC) in<br />

bestimmte Portnummern zu verbannen <strong>und</strong> speziell zu überwachen. Da ein Angreifer die<br />

Portnummern nicht kennen kann, kann der Systemadministrator schnell feststellen, ob ein<br />

Angriff stattgef<strong>und</strong>en hat. Eine Ausnahme ist auch SSH, Secure SHell. SSH verlagert sich<br />

nicht auf unpriviligierte Ports, sondern verbleibt im Bereich zwischen 512 <strong>und</strong> 1024. SSH<br />

ist hervorragend geeignet, sichere point to point Verbindungen zwischen Hosts über das<br />

Internet aufbauen zu können. Es kann als Ersatz von VPN´s, z.B. PPTP eingesetzt<br />

werden. Insofern ist die Verwendung der privilegierten Ports kein Verstoß gegen die BSD -<br />

Konventionen.<br />

Windows NT im besonderen erlaubt durch gezielte Manipulationen in der Registry eine<br />

Begrenzung von Ports auf einen bestimmten Bereich. Dies ist immer dann sinnvoll, wenn<br />

sich Bereiche häufig benutzter Ports einiger Dienste überschneiden. Einem Client Zugriff<br />

auf einen Server hinter einer <strong>Firewall</strong> zu geben, kann wegen möglichen buffer overflows<br />

tödlich sein. Wenn also eine solche Konstruktion erwogen wird, dann ist immer eine zweite<br />

<strong>Firewall</strong> mit einzuplanen, die eine weiteres Hindernis <strong>für</strong> einen Angreifer ist.<br />

Betrachtet man nun den Zugriff aus dem Intranet auf Server im Internet:<br />

# Erlaube WWW<br />

ipfwadm -I -a accept -P tcp -k -W $EXTERNES_INTERFACE \<br />

-S $ANYWHERE 80 -D $INTRANET $UNPRIVPORTS<br />

Es wird hier ein besonderes Zeichen \ verwendet, auch META Zeichen oder Fluchtsymbol<br />

genannt. Es soll da<strong>für</strong> sorgen, daß das direkt darauffolgende ASCII Zeichen ignoriert wird.<br />

Welches ? Das ist bei Editoren meist nicht sichtbar - Es ist das RETURN oder NEWLINE<br />

Zeichen. Hiermit werden lange Zeilen umgebrochen, ohne daß die Shell bei der<br />

Abarbeitung der Regeln in Schwierigkeiten mit der Interpretation der Zeichen gerät.<br />

Es wird hier das Senden eines TCP Paketes aus dem Internet von Port 80 den Zugriff auf<br />

einen Client innerhalb unseres Netzwerkes zugelassen, der Ports oberhalb von 1024<br />

benutzt, z.B. Netscape.<br />

Das "-k" hat eine sehr wichtige Bedeutung. Es bedeutet, daß alle Pakete das ACK Bit<br />

gesetzt haben müssen, andern falls werden diese abgewiesen.<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!