Am häufigsten findet man zwei Grundstukturen des heimischen Netzwerks (LAN):

1rechner.png

a) Ein Rechner, der über ein Modem Internet-Zugang hat, also quasi direkt am Internet hängt. Weitere Rechner erreichen das Internet über diesen PC mittels Network Address Translation, kurz NAT. Dies wird üblicherweise vom Betriebssystem erledigt und erfordert keine zusätzliche Software.

1router.png

b) Ein Router, meist ein DSL-Router, hat Internet-Zugang über ein (integriertes) Modem und das LAN dahinter erreicht das Internet mittels NAT.

Weil praktisch alle aktuellen Modems Router im Bridging-Modus sind, und zudem auf dem Router ein Betriebssystem wie auf dem Rechner im Fall a) läuft, sind diese beiden Grundstukturen fast dasselbe und von Außen, z. B. aus Sicht eines Webservers, sehen beide gleich aus. Bei den Rechnern im LAN, hinter dem Rechner/Router mit der IP-Nr. des Internet-Zugangs, wird dieser als Default-Gateway angegeben, beispielsweise im Browser. Meist hat dieser Rechner/Router die private IP-Nr. 192.168.1.1, aber es kann auch eine ganz andere sein wie z. B. 10.11.12.13 oder auch eine öffentliche. Von Außen sichtbar ist nur die IP-Nr. vom Modem, die auch gleichzeitig die IP-Nr. vom Rechner/Router dahinter ist; das Modem reicht die Daten nur durch.

Vorteile: Die interne LAN-Stuktur ist von Außen nicht sichtbar und nicht direkt angreifbar. Nachteile: Aus dem LAN heraus haben die Rechner fast uneingeschränkten Internet-Zugang; Malware kann "nach Hause telefonieren", Spam-Mails versenden, DDoS-Attacken durchführen usw.. Zudem kann über Java/Javascript auch jeder Browser (Firefox, IE, etc.) Daten an Proxies vorbei schicken und so Filterung/Sicherheitsmaßnahmen umgehen.

Man kann zwar auf dem Router eine Firewall verwenden um die Nachteile durch Filterung weitgehend zu vermeiden, aber das ist lückenhaft und nicht direkt mit einem filternden Proxy zu vergleichen, weil der im OSI-schichten-Modell ein paar Ebenen höher arbeitet. Eine Firewall arbeitet (im Wesentlichen) mit Datenpaketen anhand Absender- und Empfängeradresse, während ein Proxy zusätzlich noch die Inhalte filtert oder modifiziert.

Besser ist daher kein Default-Gateway und stattdessen nur einen Proxy zu verwenden:

lanohnenat.png

Die Verbindung vom LAN zum Router ist hier gepunktet, weil der Router kein Default Gateway ist, sondern nur einen Proxy bietet (sogen. "Dual homed Bastion Host"). Weil nur wenige embedded Router einen Proxy haben, ist der Router meist ein PC, mit Modem, und der Proxy ist meist Squid für http, https, ftp u. A..

Ein LAN ohne NAT hat keinen Default Gateway sondern stattdessen einen oder mehrere Proxies auf dem Internet-Zugangsrechner, der über ein Modem oder einen Router mit (integriertem) Modem Internet-Zugang hat. Die Proxies sind Programme, die ständig laufen müssen. Der Internet-Zugang der Rechner im LAN erfolgt über die Proxies, die im Wesentlichen die Daten durchreichen wie beim NAT und entsprechend sehen die Benutzer (User) wie die Web-Server meist keinen Unterschied.

Vorteile: Die gleichen wie bei NAT (s. o.), aber zusätzlich ist der Internet-Zugang limitiert auf a) die Proxies, d. h. ein Umgehen oder Tricks wie "Nach Hause Pingen" ist hier nicht möglich, und b) kann zusätzlich zur Filterung per Firewall mit den Proxies gefiltert werden. Zudem werden Proxies auch Webcaches genannt, weil sie Zwischenspeichern und zwischengespeichertes viel schneller abgerufen wird. Ein weiterer Vorteil ist, das Proxies, im Gegensatz zu NAT, nicht anfällig gegenüber Portanalysen sind. Die Beweiskraft von Bundestrojaner und andere Malware ist hier sehr gering, weil die Daten nicht direkt von einem Internet-Zugang kommen und damit ohne Weiteres nicht sicher zugeordnet werden können. Nachteile: Applikationen, die nicht über einen Proxy laufen, funktionieren hier nicht, z. B. Quake 3. Solche Applikationen müssen auf dem Rechner mit den Proxies laufen oder per Port-Forwarding ein paar wenige Ports direkt zum betreffenden Rechner weitergeleitet werden.

Daneben gibt es viele Applikationen auch online über Webseiten, können also indirekt über den Proxy erreicht werden.

http://network-tools.com/ http://whois.domaintools.com/ http://networking.ringofsaturn.com/Tools/whois.php http://www.arin.net/whois/

Durch die Proxies kann z. B. ein Trojaner nicht die IP-Nr. vom Anschluß (Internet-Zugang) feststellen und er kann auch keine Workarounds wie einen Ping "nach Hause" verwenden um diese IP-Nr. zu verraten; er kann im worst case nur über ausgespäte Browser-Einstellungen den Proxy finden indirekt "nach Hause telefonieren". DDoS-Attacken sind hier nicht möglich oder leicht verhinderbar: Ping, traceroute usw. funktionieren hier mangels Default Gateway nicht und der durchgelassene Traffic läßt sich über die Proxies leicht limitieren. Andererseits funktionen Browser wie Firefox und Applikationen wie IRC, ICQ usw., wenn man ihnen den Proxy mitteilt. Beispielsweise funktionert auch das "Windows Update" problemlos, nachdem man im Internet Explorer den Proxy eingetragen hat.

Normalerweise reicht ein Proxy, das Programm Squid, denn damit funktionieren u. A. http, https und ftp. Der wichtigste Unterschied zum LAN mit NAT ist, das man seinem Proxy einen Parent-Proxy angeben kann (und sollte): Der Proxy kommuniziert dann nicht direkt sondern nur über diesen zweiten Proxy und der Webserver Von Außen sichtbar ist nur dieser Proxy:

proxychain.png

Dies wird auch Proxy-Chaining genannt und erschwert auch Datenschnüffelein wie Vorratsdatenspeicherung (VDS), weil die Daten zweimal umgeleitet werden und zumindest bei der ersten Umleitung, dem heimischen Proxy, keine VDS vorhanden ist. Damit schützt man seinen Internet-Zugang doppelt: Die IP-Nr. vom eigenen Anschluß ist von Außen zumindest nicht direkt sichtbar (sondern höchstens in http-Headern) und die Daten gehen nicht direkt vom/zum eingenen Anschluß (Internet-Zugang) sondern über den Parent-Proxy. Damit schließt man auch das Schlupfloch, das ein Trojaner über http "nach Hause telefoniert" und so die IP-Nr. über die http-Datenpakete verrät. Einen wirksamer Schutz gegen Malware wie Trojaner erreicht man damit zwar nicht, aber zumindest verschleiert man damit die IP-Nr. vom eigenen Anschluß und man verhindert das die meiste Malware Kontakt nach Außen aufnehmen kann. Die IP-Nr. vom eigenen Anschluß mitzuteilen ist eine Dienstleistung und Weitergabe persönlicher Daten. Solche persönlichen Daten haben einen Marktwert, denn schon die Auskunft über eine IP-Adresse kostet um 200 Euro (Stand Ende 2008, Quelle http://www.tauschnix.de/alle-neuigkeiten/89-200-pro-ip-adresse.html).

Als Parent-Proxy verwendet man einfach einen Proxy vom Provider; Telekom-Kunden nehmen z. B. den www-proxy.t-online.de, Port 80. Weil die Proxies der Provider HTTP-Header modifizieren, sollte man zumindest in den HTTP_X_FORWARDED_FOR-Header auf dem heimischen Proxy einige IP-Nummern eintragen, um die Auswertung der HTTP-Header nicht zu leicht zu machen. Einige Tests, z. B. mit ebay.de zeigten nämlich, das einige Server den HTTP_X_FORWARDED_FOR-Header zwar ausgewerten, das dies aber bei mehreren IP-Nummern meistens falsch geschieht.

Optimal ist für das Proxy-Chaining ein Parent-Proxy der offener Proxy im fernen Ausland ist und der die HTTP-Header nicht ändert: Die IP-Nr. der IP-Header ist die vom weit entfernten Proxy und die IP-Nr. im HTTP_X_FORWARDED_FOR-Header ist ein beliebige; z. B. 12.34.56.78, vorgebbar über die Konfiguration des heimischen Proxies. So kann man das Auswerten von HTTP-Headern ad Absurdum führen. Geeignete Proxies sind aber nicht leicht zu finden, meist nicht lange online, sie sind meist langsam und es besteht die Gefahr des Phishings beim Parent-Proxy. Die meist kurze Lebensdauer hat aber den Vorteil, das bevor solche Proxies auf Blacklists landen, sie meist schon längst offline sind; sie werden in der Praxis also nicht erkannt.

Internetzugangsrechner mit transparentem Zwangs-Proxy

Transparente Zwangsproxies sind meist nicht direkt sichtbar, also "transparent", weil sie als Zwischenstation für die Datenpakete dienen, ohne das dies auf dem Rechner des Anwenders angegeben wird. Die Datenpakete werden also zu dem transparenten Proxy umgeleitet, indem sie mittels Port-Forwarding dorthin umgeleitet werden. Verwendet wird dies z. B. zur Internet-Zensur durch die britischen Internet Watch Foundation (IWF) in England:

http://www.heise.de/newsticker/Nach-Wikipedia-Sperre-Kritik-an-der-britischen-Internet-Watch-Foundation--/meldung/120398

Sinnvoll ist dies beim Internetzugangsrechner (kurz I) des heimischen LANs, wenn auf oder über den I auch Server laufen; beispielsweise ein Tor-Server (der als Exit-Node arbeitet) u. A. zum Blocken von Traffic-Analysen, denn einem Server wie einem Tor-Server kann man keinen Proxy angeben. Hier hilft nur ein transparenter Zwangs-Proxy um die IP-Nr. des Servers zu verschleiern. Dazu gehört natürlich einen anderen Proxy, z. B. einen vom Provider, als Parent-Proxy zu verwenden, den ansonsten wird ja die IP-Adresse der IP-Pakete nicht geändert. Bisher, Stand Ende 2008, wirkt das: In den bekannten Strafverfahren wurden nur die IP-Nummern der IP-Header verwendet und die meiste Software, z. B. für Internet-Foren, kann nur diese IP-Nr. verwenden oder ist zumindest per Default so konfiguriert, das sie nur diese Nr. verwendet. Nachteil ist, das transparente Zwangsproxies nur bei einigen Protokollen funktionieren, denn technisch sind transparente Proxies Man-In-The-Middle-Attacken. Es funktioniert daher bei http, aber nicht bei https und ssh. Details hierzu findet man in der Dokumentation zum Proxy Squid.

Ein einfaches Beispiel ist JAP: Verwendet wird der Client auf einem Rechner im heimischen LAN, der nur eine private IP-Nr. verwendet und der keinen Default-Gateway hat. Unter Settings / Network / Proxy/firewall trägt man den heimischen Proxy ein. Und bei diesem Proxy trägt man einen Proxy vom Provider als Parent-Proxy ein. Ähnlich kann man Browser wie Opera, Firefox etc. konfigurieren. Testen kann man die Verbindung z. B. mittels http://www.proxydetect.com/ für http, und https://www.jondos.de/de/anontest für https.

Man kann diese Proxy-Chaining noch ausbauen, mit einem Default-Gateway-Rechner im LAN, der nur als Honeypot arbeitet indem er jeden ihn erreichenden Traffic aufzeichnet. Damit verrät sich diejenige Malware, die es nicht schafft über die Proxies "nach Hause zu telefonieren". Dies erfordert zwar einen zusätzlichen Rechner, hat aber den Vorteil das es auch nicht durch Trojaner oder Rootkits umgangen werden kann; der Honeypot Default-Gateway ist nicht erkennbar.

GPFWiki: Proxy-Chaining (last edited 2009-05-10 16:27:20 by proxy)


Creative Commons License Dieses Werk ist unter einer Creative Commons-Lizenz lizenziert.