Durchtunneln von strengen Proxys mit TOR

Strenge Türsteher in öffentlichen Netzen

Wer kennt es nicht? In der Uni, im Hotel oder beim Arbeitgeber: Es gibt zwar WLAN, aber der Proxy, über welchen die Verbindung ins Internet abgewickelt wird, blockiert scheinbar wahllos irgendwelche Dienste, oft sind auch nur die fürs Surfen notwendigen Ports 80 und 443 freigeschaltet. Will man zum Beispiel eine SSH Verbindung aufbauen oder sich mit seinem Instant Messenger zum XMPP Server verbinden, scheitert es häufig am „Türsteher“:

Es gibt eine Reihe von Möglichkeiten, dieses Problem zu umgehen, VPN sei da genannt, SSH Tunnels und DNS Tunnels sind die etwas spezielleren Lösungen. Für die Meisten davon ist allerdings ein Server außerhalb des WLANs notwendig, entweder ein selbst gehosteter oder bei einem meist kostenpflichtigen Dienstleister.

Auf der Suche nach einer „Quick and dirty“ Lösung, um eine SSH Verbindung zu meinem Netzwerk aus einem mit Proxy gesicherten WLAN herzustellen kam mir die Idee, es mal mit Tor zu versuchen, und war erstaunt wie unproblematisch und zuverlässig dies zum Erfolg geführt hat.

Tor in die Freiheit

Tor Logo
The onion router

Tor ist eigentlich eine Anonymisierungsnetzwerk, das vor Allem dazu dient Journalisten und anderen gefährdeten Personen in Regionen mit technisch beschränktem („zensiertem“) Internetzugang eine Möglichkeit zu geben, Informationen zu beziehen und zu veröffentlichen, dabei umgeht es zum einen die Filtermaßnahmen z.B. des Staates (Stichwort: Golden Shield),  bietet dem Benutzer jedoch gleichzeitig auch zuverlässige Anonymität. Dies wird und wurde seit Jahren immer wieder von zwielichtigen Gestalten genutzt um ihre illegalen Aktivitäten durchzuführen, einer der bekanntesten Fälle ist wohl der Fall Silk Road.

Darum soll es hier aber gar nicht im Detail gehen, Anonymität ist zwar nice to have, uns interssiert für den Moment aber in erster Linie der Durchbruch des Proxy. Da Tor wie oben erwähnt unter Anderem dazu dient, Zugriffssperren zu umgehen, tut es dies nach dem Start quasi ohne weiteres Zutun. Vor der Anleitung ein paar Hinweise:

Vorsicht vor Allem in Firmennetzen

Zunächst sollte man sich im Klaren sein, was man tut. Man umgeht eine Sperre, die wahrscheinlich jemand bewusst eingerichtet hat. Es ist beispielsweise keine gute Idee, den Filterproxy des Arbeitgebers zu umgehen, da dies arbeitsrechtliche Konsequenzen nach sich ziehen kann. Die benutzung von Tor kann von pfiffigen Administratoren nachvollzogen werden, man sollte sich also über eventuelle Konsequenzen im Klaren sein. Auch sollte man in öffentlichen WLANs die AGBs überfliegen, ob die Benutzung von Anonymisierungsnetzen da untersagt ist und welche Konsequenzen bei Zuwiderhandlung drohen.
Tor ist außerdem kein Allheilmittel. Es ist durchaus möglich, dass die Nutzung durch den Betreiber des Netzes unterbunden ist, auch dies ist technisch durchaus möglich. In meinem konkreten Fall waren all diese Punkte unproblematisch, aber diese Abwägung kann ich euch nicht abnehmen.

Installation und Verwendung von Tor

Das folgende Installationsbeispiel setzt ein funktionierendes Debian-basierendes Linux voraus (also z.B. Debian, Ubuntu, LinuxMint, etc.). Außerdem muss der angemeldete Benutzer über Administratorrechte mit sudo verfügen, wechselt man mit dem Befehl „su“ zum Administrator. Für andere Linuxversionen, Windows und Mac gibt es ähnliche einfache Lösungen, auf die will ich hier aber nicht eingehen.

Zunächst öffnen wir ein Terminal, aktualisieren die Paketverwaltung und installieren Tor:

Das war es eigentlich auch schon. Jetzt können wir TOR auch schon starten:

Jetzt sollten ein paar Zeilen Text ausgegeben werden, während sich der Rechner mit dem Tor Netzwerk verbindet. Das sollte wie folgt aussehen:

Der sehr aufmerksame Leser wird feststellen, dass Tor bei mir auf Port 9051 lauscht, standardmäßig allerdings auf 9050. Dies ist Absicht, da ich 9050 manchmal anderweitig verwende. Ihr könnt den Standard beibehalten, falls ihr das ändern wollt tut ihr dies in der Datei /etc/tor/torrc

TOR ist also nun verbunden und bereit Verbindungen entgegenzunehmen. Zunächst laufen jedoch alle Verbindungen wie vorher ohne Tor, man kann jedes Programm über TOR laufen lassen, indem man ihm den Befehl torify vorstellt. Für SSH sieht das so aus:

Und siehe da, das Ergebnis:

Also: Erfolg. Keine Fehlermeldung mehr wie oben, sondern wie gewünscht der Passwortprompt. Der Proxy ist besiegt.

Für andere Programme, die man normalerweise nicht über die Kommandozeile startet, kann man Tor als Proxy eintragen. Die Adresse ist localhost, der Port ist 9050 (oder eben das was man in der torrc definiert hat, in meinem Fall eben 9051). Bei dem XMPP Client Gajim sieht das so aus:

Man öffnet die Kontoeinstellungen, wählt sein Konto aus und klickt auf den Reiter Verbindung. Im Feld Proxy kann man – je nach Version von Gajim – schon standardmäßig Tor auswählen:

Mit dieser Einstellung aktiviert man Tor in Gajim
Mit dieser Einstellung aktiviert man Tor in Gajim

Man kann mit einem Klick auf Verwalten auch nochmal die Einstellungen überprüfen:

So sieht die Proxyeinstellung aus, man beachte vor Allem den Port
So sieht die Proxyeinstellung aus, man beachte vor Allem den Port

Danach sollte sich auch Gajim über Tor verbinden und sich nicht mehr am Netzwerkproxy stören.

Dieses Vorgehen lässt sich auf alles übertragen, was Verbindungen zum Internet aufbaut (und eine Möglichkeit bietet einen Proxy zu definieren), dazu gehören Browser, andere Chatprogramme,  Mumble, Filesharing Clients und vieles Mehr.

Zu beachten ist jedoch, der Datendurchsatz im Tor Netzwerk ist nicht immer besonders hoch. Downloads oder Videotelefonie läuft also nicht so, wie man es vielleicht gewohnt ist. Für reines Surfen reicht es jedoch allemal, bei besonders sparsamen Diensten wie XMPP oder SSH merkt man den Unterschied meist nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.