AA_zwiebelscheiben_10898807_123rf_Dionisio_Dias_Filho.jpg

© Dionisio Dias Filho, 123RF

Scheibchenweise

Das Tor-Netzwerk verstehen und nutzen

12.08.2013
Seit fest steht, in welchem Umfang die Geheimdienste Daten aus dem Internet abgreifen, ist für jeden, der seine Privatsphäre schützen möchte, Handeln angesagt. Tor hilft Ihnen dabei.

Wer ohne Schutz im Internet surft, hinterlässt zwangsläufig mehr Spuren, als ihm lieb ist. Dazu zählt vor allem die IP-Adresse, die eine relativ leichte Zuordnung zu einer Person erlaubt. Das nutzen nicht nur Ermittler beim Verfolgen von Straftätern und "Gefährdern", sondern auch diverse Webprojekte und Tracker, die das Surfverhalten der Nutzer protokollieren, um die erhobenen Daten zu verkaufen. Davon lebt inzwischen eine ganze Industrie.

Um der Datensammelei Einhalt zu gebieten, gilt es die persönlichen Daten soweit als möglich zu verschleiern. Dabei leistet das Tor-Netzwerk [1] eine wertvolle Hilfe: Es besteht aus einem Sammelsurium verschiedener Rechner auf der ganzen Welt, über die der Datenverkehr verschlüsselt läuft.

Wie funktioniert Tor

Tor steht als Abkürzung für "The Onion Routing" – ein Projekt, das ursprünglich von der US-Marine [2] initiiert und umgesetzt wurde, um die Kommunikation zwischen Regierungsbehörden zu schützen.

Im Kern funktioniert Tor folgendermaßen: Der Client bezieht beim Start vom einem Verzeichnisserver eine Liste sogenannter Tor-Nodes, als Knotenpunkte, an denen er sich anmeldet. Ruft der Client eine Seite auf, verbindet er sich via SOCKS mit einen sogenannten Entry Guard. Dieser reicht die Anfrage an einen zweiten Knoten weiter, der sie wiederum an einen dritten disponiert, den so genannten Exit-Node. Aus Effizienzgründen entschieden die Tor-Entwickler, jeweils nur drei Knoten zur Verbindung zu verwenden (Abbildung 1).

Was die Kommunikation via Tor so sicher macht, ist die Tatsache, dass jeder Server durch das Verwenden verschiedener Verschlüsselungen nur einen Teil der Verbindungsdaten kennt. So weiß der Entry Guard nicht, welchen Host der Client erreichen möchte. Das weiß jeweils nur der Exit-Node, ohne jedoch die Identität des Clients zu kennen. Um die Verbindung aufzudecken, muss der Angreifer also die komplette Mix-Kaskade unter seine Kontrolle bringen. Da Tor aber nach zehn Minuten die Routen automatisch und zufällig wechselt, würde der Angreifer potenziell auch nur einen Teil der Kommunikation offenlegen können. Diese Architektur macht es selbst für die Geheimdienste nahezu unmöglich, die Verbindungsdaten eines bestimmten Rechners über einen längeren Zeitraum zu protokollieren.

Hier grenzt sich Tor von anderen Anonymisierungsproxies ab: Diese verwenden in der Regel keine oder statische Serverkaskaden und gehören meist einem Unternehmen, das – je nach Serverstandort – dazu verpflichtet ist, die Verbindungen zu protokollieren. Entsprechend fällt es Behörden leichter, die Verbindung zu ihrem Ursprung zurückzuverfolgen.

Die Kommunikation zwischen den Tor-Nodes und dem Client läuft vollständig verschlüsselt ab. Lediglich die Verbindung vom Exit-Node zum Ziel bleibt dabei unverschlüsselt, sofern der kontaktierte Server seinen Content nicht selbst (etwa via SSL) verschlüsselt ausliefert. Tor unterstützt neben dem Webbrowsing auch andere Dienste, wie IRC, Instant Messaging, E-Mail und SSH. Um diese zu nutzen, muss der jeweilige Client die Verbindung via SOCKS unterstützen.

Tor nutzen

Sowohl Ubuntu als auch OpenSuse stellen Tor in ihren eigenen Repositories zur Installation über den jeweiligen Paketmanager bereit. Sofern dort nicht die aktuelle Version 0.2.3.25 vorliegt, empfiehlt das Tor-Projekt die Installation aus den eigenen Quellen. Das spielt auch deswegen eine nicht unerhebliche Rolle, weil einige Tor-Knoten den Kontaktversuch älterer Versionen ablehnen.

Nach der Installation lädt der Dienst automatisch. Manuell starten und stoppen Sie ihn mit den Kommandos sudo torctl [start|stop] beziehungsweise /etc/init.d/tor [start|stop]. Er bezieht seine Direktiven aus der Datei /etc/tor/torrc. Eine Konfiguration ist im Normalfall überflüssig, stellt aber einige hilfreiche Zusatzfunktionen bereit.

Um das Tor-Netzwerk zu nutzen, müssen Sie den Webbrowser entsprechend konfigurieren. In Firefox beispielsweise tragen Sie in den Netzwerk-Einstellungen unter SOCKS-Host die Adresse 127.0.0.1 sowie den Port 9050 ein und aktivieren die Checkbox neben SOCKS v5. Half in der Vergangenheit das Firefox-Addon Tor-Button beim schnellen Umstellen auf die anonyme Verbindung, müssen Sie jetzt darauf verzichten. Laut dessen Entwickler Mike Perry ist dieser nämlich "ein sicherheitstechnischer Albtraum" [3]. Deswegen bietet ihn das Tor-Projekt nicht mehr als isoliertes Addon an, sondern nur noch im Paket mit dem Tor-Browser-Bundle (siehe Kasten "Tor-Browser-Bundle").

Tor-Browser-Bundle

Das Tor-Projekt stellt neben den Einzelkomponenten das Tor-Browser-Bundle [6] zum Download bereit. Im Kern besteht es aus einer speziell angepassten Firefox-Version, derzeit in Version 17, die bereits Erweiterungen wie HTTPS-Everywhere, NoScript und den Tor-Button enthält. Ihm zur Seite steht das grafische Tor-Frontend Vidalia. Da das Bundle statisch kompiliert wurde, benötigt es keine Bibliotheken aus dem System und startet folglich auf allen Distributionen gleichermaßen. Da es sowohl die Konfigurationsdateien als auch den Cache im eigenen Verzeichnis ablegt, eignet sich das Paket auch als portable Version zum Mitführen, beispielsweise auf einem USB-Stick.

Um es zu nutzen, entpacken Sie das Archiv und starten das enthaltene Skript start-tor-browser. Damit starten simultan Tor, Vidalia und den Browser, der direkt eine sichere Verbindung über das Tor-Netzwerk herstellt. Nach dem Schließen des Browsers löscht dieser automatisch sämtliche während der Session angefallenen Daten wie Verlauf und Cookies.

Diese Kombination bietet sich nicht nur wegen ihrer unkomplizierten Handhabung an, sondern bietet auch ein weiteres Sicherheitsplus gegenüber dem Standardbrowser: Viele Webseiten fragen beim Besuch unter anderem die Konfiguration des Systems und die ID des Browsers ab. Des weiteren protokollieren Seiten wie Facebook auch dann den Besuch von Websites, die ihre Plugins verwenden, wenn Sie sich bei Facebook abgemeldet haben [7]. Diese Risiken umgehen Sie mit dem Gebrauch des Bundles anstelle Ihres Standardbrowsers.

Vornehmlich dient die Firefox-Erweiterung Tor-Button zum komfortablen Umschalten zwischen normalem und gesichertem Netz. Daneben bietet sie aber weiterer Sicherheitsfunktionen an. Sie konfigurieren das Addon über einen Klick auf das Zwiebel-Symbol neben der Adressleiste und die Anwahl von Einstellungen aus dem sich daraufhin öffnenden Kontextmenü. Die Sicherheitseinstellungen erlauben es unter anderem, Plugins während der Tor-Sessions zu deaktivieren und automatisch generierte Suchvorschläge abzuschalten. Im Abschnitt Cookies geben Sie an, wie der Browser mit Cookies verfahren soll.

Erweiterte Einstellungen

Zwar bedarf der normale Betrieb von Tor keiner Änderung an der Konfiguration. Das ändert sich jedoch, wenn Sie die Möglichkeiten des Proxy-Servers ausreizen möchten.

Bei Tor handelt es sich um ein Mitmachprojekt, das letztlich davon lebt, dass möglichst viele Anwender den Service auch anderen Tor-Nutzern anbieten. Das ist für den Betreiber zumindest so lange unkritisch, wie sein Rechner nicht als Exit-Node arbeitet. Dieser leitet wie erwähnt die Anfragen als letzte Instanz an den Zielserver weiter, der entsprechend die IP-Adresse des letzten Knoten im Log speichert. Wird der Zielserver also überwacht, fällt der Verdacht zunächst auf den Betreiber des Exit-Nodes. Zwar kennt man bislang keine Fälle, in denen der Betrieb eines Exit-Nodes zu einer juristischen Sanktion geführt hätte, erhebliche Scherereien sind aber dennoch nicht ausgeschlossen.

Das schließt jedoch nicht aus, sich trotzdem am Projekt zu beteiligen: Tor bietet auch die Möglichkeit, den Server so zu konfigurieren, dass er nicht oder nur zum Teil als letzter Knoten arbeitet. Einige Zeilen in der Tor-Konfigurationsdatei /etc/tor/torrc machen den Daemon zum Teil des Tor-Netzwerks, ohne dass er als letzter Knoten arbeitet. Mit den Einstellungen aus Listing 1 lauscht der Dienst auf Port 9001, bietet eine maximale Durchschnittsbandbreite von 100 KByte/s und weist sämtliche Anfragen, die nicht von anderen Tor-Servern kommen, zurück. Betreiben Sie den Server hinter einem Router, müssen Sie dort den Port, auf dem Tor auf eingehende Verbindungen lauscht (im Beispiel 9001), auf den Host weiterleiten.

Beachten Sie, dass die oben angeführte Exit-Policy-Restriktion lediglich beim Zugriff aufs öffentliche Internet greift. Den direkten Zugriff auf sogenannte Hidden Services ermöglichen dagegen auch normale Relay-Hosts. Wie Sie selbst einen solchen Hidden Service aufsetzen, verrät der Kasten "Versteckspiel".

Listing 1

ORPort 9001
Nickname MeinTorproxy
RelayBandwidthRate 100 KB
RelayBandwidthBurst 200 KB
ExitPolicy reject *:*

Versteckspiel

Da das Tor-Netzwerk die Namensauflösung übernimmt, kann es auch Domain-Namen auflösen, die es im "normalen" Internet nicht gibt. Tor nutzt dazu die interne TLD *.onion, um sogenannte Hidden Services anzusteuern, die Sie ausschließlich über das Tor-Netzwerk erreichen. Diese bestehen in der Regel aus ganz normalen Webseiten. Von diesen unterscheiden sie sich aber grundlegend durch die Tatsache, dass analog zum Surfen über Tor sowohl der Webseitenbetreiber als auch der Webserver für den Zugreifenden unbekannt bleibt.

Um selbst einen Hidden Service anzubieten, brauchen Sie einen Webserver, der die zu veröffentlichenden Daten via HTTP bereitstellt. Handelt es sich um statischen Content, genügt normalerweise ein schlanker Server wie Thttpd [8]. Sie starten ihn auf der Kommandozeile mit dem Befehl:

# thttpd -r /WWW-Verzeichnis/ -p 4711 -h 127.0.0.1

Die darauf aufbauende Grundkonfiguration von Tor beschränkt sich auf folgende zusätzliche Einträge in /etc/tor/torrc:

HiddenServiceDir WWW-Verzeichnis
HiddenServicePort 80 127.0.0.1:4711

Während die erste Direktive den Pfad zum Verzeichnis angibt, in dem sich die Webseite befindet, beschreibt die zweite die Netzwerkadresse. Ausgehend von diesem Beispiel lauscht Tor danach auch auf Port 80, der Webserver nimmt Anfragen über den Localhost auf Port 4711 entgegen. Das Port-Mapping von 80 auf 4711 übernimmt Tor selbst. Ein Port-Forwarding auf dem Router entfällt, da sämtliche Anfragen über den Tor-Tunnel laufen.

Nach dem Speichern der Konfiguration aktiviert ein Neustart von Tor die Änderungen. Es legt dabei im WWW-Verzeichnis zwei Dateien an: Die eine nennt sich hostname und enthält den Hostnamen, mit dem andere Nutzer den Hidden Service erreichen. Dieser besteht aus einem zufällig generierten Hash, gefolgt von der TLD .onion, etwa zejzzf7bnbf5h7zc.onion. Die zweite Datei heißt private_key und enthält den Schlüssel, mit dem sich der Dienst gegenüber Tor authentifiziert.

Die Tor-Konfiguration bietet aber auch noch diverse andere Möglichkeiten, auf das Verhalten des Dienstes einzuwirken. Möchten Sie ihn zum Beispiel auch aus dem Lokalen Netz erreichen, ergänzen Sie die Konfiguration um den Eintrag SocksBindAddress IP-Adresse:Port, etwa SocksBindAddress 192.168.1.125:4712.

Da Tor wie beschrieben alle zehn Minuten zufällig die Routen wechselt, kommt es durchaus vor, dass sich in der Kaskade ein langsamer Knoten befindet, der die Übertragungsgeschwindigkeit ausbremst. Dem wirken Sie entgegen, indem Sie hinter den Direktiven EntryNodes und ExitNodes die von Ihnen bevorzugten Server eintragen:

ExitNodes Server1,Server2,...

Möchten Sie die ausschließlich die bevorzugten Server verwenden, teilen Sie das Tor über die Direktiven StrictEntryNodes 1 und StrictExitNodes 1 mit. Hierbei gilt es aber zu beachten, dass diese Reduzierung der Nodes auch eine Reduzierung der Anonymität mit sich bringt. Um beispielsweise das Nutzen von in den USA betriebenen Node-Servern auszuschließen, verwenden Sie die Anweisung ExcludeNodes, gefolgt von den durch Kommas getrennten Servernamen. Eine Liste aller zur Verfügung stehender Direktiven erhalten Sie mit dem Kommandozeilenaufruf tor --list-torrc-options. Die Manpage erklärt diese im Detail.

Vidalia

Eine grafische Oberfläche zur Konfiguration von Tor bietet Vidalia (Abbildung 2), das Sie über den Paketmanager Ihrer Distribution einrichten. Bereits während der Installation fragt die Software ab, ob sie temporär oder dauerhaft für den Zustand von Tor zuständig zeichnen soll. Beachten Sie, dass Vidalia [4] eine eigene Tor-Konfigurationsdatei ~/.vidalia/torrc erzeugt und nutzt. Eventuelle Anpassungen an der ursprünglichen Steuerdatei /etc/tor/torrc ignoriert das Tool also vollständig.

Abbildung 2: Die grafische Konfigurationsoberfläche Vidalia erleichtert das Einrichten sowie An- und Abschalten von Tor.

Zum Start von Tor genügt es, in Vidalias Kontrollpanel den Schalter Tor starten anzuklicken. Der Schalter Bandbreitengraph öffnet ein kleines Fenster, das den jeweils anliegenden Datendurchsatz anzeigt. Aussagekräftiger gibt sich der Dialog Netzwerk betrachten: Er zeigt in einer Grafik, über welche Tor-Hops die aktuelle Verbindung läuft (Abbildung 3). Die linke Spalte listet sämtliche bekannten Server auf, die Tabelle Verbindungen alle, mit denen der Tor-Client in Verbindung steht. Ein Klick auf einen der Einträge zeigt Details zum jeweiligen Host rechts daneben. Ein Rechtsklick auf den jeweiligen Eintrag öffnet das Dialogfeld Kanal schließen, mit dem Sie die zugehörige Verbindung trennen.

Abbildung 3: Über Vidalias Modul Netzwerk betrachten erfahren Sie zum einen, mit welchen Servern der Rechner verbunden ist, und zum anderen, welche Wege die Datenverbindung geht. Suchen Sie Kandidaten für die Auschlussliste, kopieren Sie die Spitznamen über das Frontend.

Diese Ansicht eröffnet Ihnen auch eine einfache Möglichkeit, bestimmte Hosts wie beschrieben ein- oder auszuschließen. Um mehrere auszuwählen, klicken Sie mit der linken Maustaste bei gedrücktem [Strg] auf die gewünschten Einträge. Nach Abschluss der Auswahl rechtsklicken Sie auf den letzten und wählen aus dem Kontextmenü Kopieren | Spitzname. Vidalia kopiert die Namen dann kommasepartiert so, dass Sie sie lediglich hinter die entsprechenden Anweisungen in der Steuerdatei kopieren müssen, etwa ExcludeNodes.

Die Konfiguration von Tor erreichen Sie in der Rubrik Einstellungen. Unter dem Punkt Hilfe finden Sie eine umfassende Beschreibung zu den meisten Einstellmöglichkeiten. In der Rubrik Fortgeschritten finden Sie den Schalter Bearbeite aktuellen torrc. Ein Klick darauf öffnet die momentan verwendete Konfigurationsdatei in einem Editor (Abbildung 4). Hier tragen sie beispielsweise die genannten ExcludeNodes ein. Der Abschnitt Tor Konfigurationsdatei ermöglicht es Ihnen, ein anderes Setup als das aktuelle zu verwenden.

Abbildung 4: In den erweiterten Einstellungen stellt Vidalia einen Editor zum Bearbeiten der Konfigurationsdatei bereit.

Aktiver Content

Tor zeichnet lediglich für die Übertragung der Daten verantwortlich, nicht jedoch für die Sicherheit der Inhalte. Soll heißen: Auch wenn Sie Tor zum Übertragen der Daten nutzen, ist es durchaus möglich, beispielsweise über Flash, Cookies oder Javascript die wahre Identität das Clients offenzulegen. Hier gilt es, jenseits von Tor entsprechende Sicherheitsvorkehrungen zu treffen.

Als derzeit probatestes Mittel dazu gilt der Content-Filter Privoxy [5]. Er steht in den Repositories aller größeren Distributionen zum Download bereit, sodass Sie ihn meist bequem über den Paketmanager installieren. Sie starten den Filter-Proxy via /etc/init.d/privoxyd start.

Um Privoxy zusammen mit Tor zu nutzen, öffnen Sie zunächst mit Root-Rechten die Datei /etc/privoxy/config in einem Texteditor. Damit Privoxy die empfangenen Daten weiterreicht, fügen Sie darin am Anfang folgende Zeile hinzu:

forward-socks4a / localhost:9050 .

Ein Neustart mittels /etc/init.d/privoxyd restart) übernimmt die Änderungen. Stellen Sie abschließend die Adresse 127.0.0.1:8118 im Browser ein und aktivieren Sie die Checkbox Für alle Protokolle diesen Proxy-Server verwenden. Bei Erfolg öffnet die URL http://p.p (Abbildung 5) die Übersichtsseite von Privoxy. Ob Tor ebenfalls in der Kaskade läuft, erfahren Sie mit dem Aufruf von https://check.torproject.com.

Abbildung 5: Nach erfolgreichem Setup erscheint im Browser nach der Eingabe von http://g.g die Startseite von Privoxy.

Fazit

Tor bietet sicherlich kein Patentrezept für sicheres Surfen, stellt jedoch Schnüfflern und Angreifern sehr hohe Hürden in den Weg. Da das System dezentral arbeitet, ist es wesentlich widerstandsfähiger gegen An- und Übergriffe als andere Anonymisierungsdienste. Darüber hinaus bietet das Design des Onion-Routing im Moment das sicherste Mittel, das Netz anonym zu nutzen: Das Arbeitsprinzip zu kompromittieren setzt einen erheblichen Aufwand voraus, der auch dann nicht zwangsläufig von Erfolg gekrönt ist.

Galt Tor noch vor wenigen Jahren aufgrund seiner niedrigen Transferraten als weitgehend unbenutzbar, hat sich das Bild zwischenzeitlich deutlich gewandelt. Im Test lag der durchschnittliche Datendurchsatz bei durchgängig über 100 KByte/s, was zum Surfen vollkommen ausreicht, bei größeren Downloads aber die Geduld des Nutzers zuweilen strapaziert. Allerdings ist das Tor-Netzwerk für solche Anwendungsfälle auch gar nicht vorgesehen. 

Verlosung

Wer mehr über das Thema Privacy erfahren möchte, dem legen wir das Buch "Anonym im Netz" (http://www.opensourcepress.de/anonymimnetz) von Open Source Press ans Herz. In diesem Werk erfahren Sie, welche frei verfügbaren Lösungen zum Schutz Ihrer Privatsphäre es gibt und wie Sie diese am effektivsten einsetzen.

Fünf dieser Bücher hat uns der Verlag freundlicherweise für eine Verlosung zur Verfügung gestellt. Möchten Sie ein Exemplar gewinnen, dann beantworten Sie uns einfach die Frage, wofür die Abkürzung "Tor" steht. Senden Sie Ihre Antwort bis zum 15.09.2013 per E-Mail unter dem Betreff Anonym im Netz an die Mail-Adresse redaktion@linux-user.de. Der Rechtsweg ist ausgeschlossen.

Glossar

SOCKS

Abkürzung von "Sockets". Internet-Protokoll (RFC1928), über das Anwendungen protokollunabhängig und transparent die Dienste eines Proxy-Servers nutzen können.

Infos

[1] Tor-Projekt: https://www.torproject.org

[2] US Naval Research Laboratories: http://www.nrl.navy.mil

[3] Aus für den Tor-Button: https://blog.torproject.org/blog/toggle-or-not-toggle-end-torbutton

[4] Vidalia: https://www.torproject.org/projects/vidalia.html.en

[5] Privoxy: http://www.privoxy.org

[6] Tor-Browser-Bundle: https://www.torproject.org/projects/torbrowser.html.en

[7] "Facebook spioniert nach dem Ausloggen weiter": http://winfuture.de/news,65691.html

[8] Thttpd: http://acme.com/software/thttpd/

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare