Tor: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: <b>Tor</b> arbeitet als Socks-4-Proxy und wirbelt eingehende Verbindungen durch ein Netz verteilter, voneinander unabhängiger Rechner. So verwischt sich ähnlich w...)
 
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<b>Tor</b> arbeitet als Socks-4-[[Proxy]] und wirbelt eingehende Verbindungen durch ein Netz verteilter, voneinander unabhängiger Rechner. So verwischt sich ähnlich wie bei JAP (Java Anonymous Proxy) die Spur der Datenpakete.
<b>Tor</b> (früher: The Onion Router) ist ein [[Rechnernetz]] zur Anonymisierung der Verbindungsdaten. Es wird für [[TCP]]-Verbindungen eingesetzt und kann beispielsweise für Webbrowsing, Instant Messaging, IRC, SSH, E-Mail, P2P und anderes benutzt werden. Tor schützt vor der Analyse des Datenverkehrs seiner Nutzer, der zusätzliche Einsatz von [[Privoxy]] ist dabei sehr zu empfehlen.


[[Tork]] ist eine grafische Oberfläche für Tor.
[[Tork]] ist eine grafische Oberfläche für Tor.


== Installation ==
== Funktionsweise ==
 
Gewöhnlich kommuniziert der Webbrowser direkt mit dem entfernten Zielrechner und erhält von dort z. B. eine Webseite, wobei der dortige Server die Zugriffsdaten protokolliert. Mit Hilfe des Tor-Clients geht die eigene Anfrage nun nicht direkt zum Zielrechner, sondern passiert erste einen [[Proxy]] auf dem lokalen Rechner und dann eine Reihe sogenannter "Nodes" bis hin zu einem "Exit-Node", der dann in Kontakt mit dem Zielrechner tritt.
 
Als "Nodes" werden im Tor-Netzwerk Knotenpunkte bezeichnet, welche der Datenverkehr auf dem Weg zum Ziel passiert. Einen Node eröffnet, wer Tor als Server oder als sogenannten "Onion-Router" betreibt. Privatnutzer verwenden Tor mehrheitlich als Client bzw. als Socks-4-[[Proxy]], der dann als "Onion-Proxy" bezeichnet wird. Dadurch ergibt sich ein Problem: Da die angeforderten Daten verschiedene privat betriebene Nodes passieren, bevor sie den eigenen Rechner erreichen, könnte theoretisch jeder Betreiber eines Onion-Routers den Datenverkehr mitprotokollieren. Daher wird zwischen dem eigenen Onion-Proxy und jedem Node auf dem Weg zum Exit-Node ein eigener Schlüssel vereinbart. Das verhindert, dass sich ein nicht autorisierter Node in die Route schmuggelt.
 
Das System verschlüsselt zudem Daten in mehreren Schichten (das kann nur der eigene Onion-Proxy) und verhindert so, dass ein Node-Betreiber die passierenden Inhalte entschlüsseln kann. Die Daten sind also - wie eine Zwiebel (engl. onion) - von mehreren Verschlüsselungsschichten umgeben. Erst der Exit-Node reicht die eigentlichen Daten an den Zielrechner weiter, wobei er nicht weiss, von welchem Rechner die Anfrage stammt, denn keiner der Onion-Router kennt den Onion-Proxy. So weiss auch kein Betreiber eines Onion-Touters, wessen Daten durch ihre Nodes fliessen.
 
Auf dem Rückweg werden die Daten wieder eingepackt: Erst der Onion-Proxy auf dem lokalen Rechner dekodiert die verschlüsselten Schichten und legt die Daten frei. So ist für Aussenstehende und auch den Internetdienstanbieter nicht ersichtlich, welche Daten man anfordert oder schickt, und der Betreiber des Zielrechners sieht lediglich die IP-Adresse des Exit-Nodes, der irgendwo auf der Welt steht.
 
Wie bei den meisten Anonymisierungs- und Verschlüsselungsprogrammen wird leider auch bei Tor die Kommunikation mit den entfernten Rechnern meist ziemlich stark verlangsamt.
 
=== Modi ===
 
Tor kennt einen Client- und einen Server-Modus. Der Client-Modus bietet sich an, wenn der eigene Rechner eine private, nicht routbare IP-Adresse besitzt (z. B. 10.x.x.x) und für Internetverbindungen ein NAT-Gateway nutzen muss. Auch Rechner mit Modems sind im Client-Modus gut aufgehoben.


Voraussetzungen
Nach dem Start wartet Tor am Port 9050 auf eingehende Socks-4-Verbindungen. Wird jetzt der eigene Webbrowser angewiesen, diesen Port anzusteuern, läuft die Verbindung über das Onion-Routing-Netz. Die [http://www.torproject.org/docs/tor-doc-unix.html Dokumentation] weist richtigerweise daraufhin, dass fürs Surfen die Kombination mit [[Privoxy]] eine gute Idee ist.
* libevent
* openssl
* openssl-devel
* zlib


$ <b>tar xzf tor-0.1.1.26.tar.gz</b>
Bei Verfügbarkeit einer öffentlichen IP-Adresse und ausreichend Bandbreite sollte Tor im Server-Modus betrieben werden. Dadurch wird der Rechner selbst zu einem Knoten im Onion-Routing-Netz. Die Systemuhr sollte dabei so genau wie möglich gehen, was am besten durch regelmässiges Abgleichen mit einem Zeitserver sichergestellt wird. In der gut dokumentierten Konfigurationsdatei "torrc" muss zudem mindestens der Nickname des Servers eingetragen und ausserdem eingestellt werden, auf welchem Port er Verbindungen entgegennehmen soll. Sinnvollerweise werden hier ebenfalls Bandbreitenbeschränkungen oder unerwünschte Netze eingetragen.
$ <b>cd tor-0.1.1.26</b>
$ <b>./configure</b>
$ <b>make</b>
# <b>checkinstall</b>
# <b>yast -i /usr/src/packages/RPMS/i386/tor-0.1.1.26-1.i386.rpm</b>


Das Programm installiert sich nach "/usr/local/bin".
Unter der "exit policy" verbirgt sich Tors Mechanismus, Verbindungen zu bestimmten Zielports zu unterbinden - danach wird per Voreinstellung keine E-Mail mehr versandt, selbst wenn der Mailclient mit Socks-Proxies umgehen kann. So wird verhindert, dass sich Tor als Spamschleuder aufschwingt.


Eine Muster-Konfigurationsdatei findet sich unter "/usr/local/etc/tor".
== Installation ==


Es empfiehlt sich, einen eigenen Tor-Benutzer anzulegen, anstatt das Programm als Benutzer "root" laufen zu lassen.
=== Ubuntu 8.04 Hardy Heron ===


Zusätzlich muss über YaST [[Privoxy]] über das Paket "privoxy" installiert werden. In der Datei Konfigurationsdatei "/etc/privoxy/config" oder "/usr/local/etc/config" muss folgende Zeile eingetragen werden.
$ <b>sudo apt-get install tor</b>


forward-socks4a / localhost:9050 .
== Verwendung ==


Tor und Privoxy können dann gestartet werden.
Start von Tor, das dann auf Port 9050 lauscht.


  $ tor &
  $ <b>tor</b>
  # /etc/init.d/privoxy start
Aug 10 21:36:43.826 [notice] Tor v0.2.0.34 (r18423). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686)
Aug 10 21:36:43.829 [notice] Initialized libevent version 1.3e using method epoll. Good.
  Aug 10 21:36:43.829 [notice] Opening Socks listener on 127.0.0.1:9050
Aug 10 21:36:45.297 [notice] We now have enough directory information to build circuits.
Aug 10 21:36:51.948 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.


Privoxy lauscht dann auf Port 8118.
Tor kann auch über das entsprechende Startskript gestartet werden.


Zum automatisierten Aufruf von Privoxy.
$ <b>sudo /etc/init.d/tor start</b>
Raising maximum number of filedescriptors (ulimit -n) to 32768.
Starting tor daemon: tor...
Aug 10 22:04:28.054 [notice] Tor v0.2.0.34 (r18423). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686)
Aug 10 22:04:28.057 [notice] Initialized libevent version 1.3e using method epoll. Good.
Aug 10 22:04:28.059 [notice] Opening Socks listener on 127.0.0.1:9050
done.


# insserv /etc/init.d/privoxy
Um den Datenverkehr nun über Tor zu leiten, müssen im Webbrowser folgende Einstellungen gemacht werden.


Für jeden Benutzer eine KDE/Gnome-Autostartdatei einrichten, die "Tor &" aufruft.
{| class=wiki
! Webbrowser !! Menü
|-
| <b>Firefox 2</b> || Bearbeiten > Einstellungen > Verbindung: Verbindungs-Einstellungen > [<b>X</b>] Manuelle Proxy-Konfiguration > SOCKS-Host: <b>127.0.0.1</b> Port: <b>9050</b> [<b>X</b>] SOCKS v4
|-
| <b>Firefox 3</b> || Bearbeiten > Erweitert: Netzwerk > Einstellungen > Verbindung: Verbindungs-Einstellungen > [<b>X</b>] Manuelle Proxy-Konfiguration > SOCKS-Host: <b>127.0.0.1</b> Port: <b>9050</b> [<b>X</b>] SOCKS v4
|}


Einstellungen im Webbrowser:
Der Webbrowser schickt nun den Datenverkehr zunächst an den Port 9050 - Tor leitet ihn dann ins Internet weiter.
* Firefox: Bearbeiten > Einstellungen > Verbindung: Verbindungs-Einstellungen > [<b>X</b>] Manuelle Proxy-Konfiguration > HTTP-Proxy: <b>localhost</b> Port: <b>8118</b>
* Opera: Extras > Einstellungen > Erweitert > Netzwerk > Proxyserver > [<b>X</b>] HTTP <b>localhost</b> Port <b>8118</b>


Zum Ausprobieren kann eine der folgenden Seiten einmal mit und einmal ohne eingeschaltenen Proxy besucht werden. Die dabei angezeigten IP-Adressen sollten sich bei funktionierendem Tor unterscheiden.
Zum Testen der Funktionstüchtigkeit kann eine der folgenden Seiten einmal mit und einmal ohne eingeschaltetem Proxy besucht werden. Die dabei angezeigten IP-Adressen sollten sich bei funktionierendem Tor unterscheiden.
* http://ipid.shat.net/
* http://ipid.shat.net/
* http://www.showmyip.com/
* http://www.showmyip.com/
* http://www.wieistmeineip.de/
* http://www.wieistmeineip.de/


== Verwendung ==
Vollkommen anonymisiert ist das Browsen im WWW damit leider noch nicht: Der Webbrowser ermittelt die IP-Adresse des Zielrechners, indem er eine Anfrage an einen DNS-Server schickt, der wiederum einen Rechnernamen (z. B. "migros.ch") in eine IP-Adresse (z. B. "146.67.140.135") umwandelt. Der DNS-Server schickt dem Webbrowser anschliessend die aufgelöste IP-Adresse zurück. Durch eine Auswertung der Protokolldateien des DNS-Servers könnte ermittelt werden, welcher Rechner sich zu welchem Zeitpunkt nach einem bestimmten Rechnernamen erkundigt hat.
 
Tor kennt einen Client- und einen Server-Modus. Der Client-Modus bietet sich an, wenn der eigene Rechner eine private, nicht routbare IP-Adresse hat (z. B. 10.x.x.x) und für Internetverbindungen ein NAT-Gateway nutzen muss. Auch Rechner mit Modems sind im Client-Modus gut aufgehoben.
 
Nach dem Start wartet Tor am Port 9050 auf eingehende Socks-4-Verbindungen. Wird jetzt der eigene Browser angewiesen, diesen Port anzusteuern, läuft die Verbindung über das Onion-Routing-Netz. Die [http://tor.eff.org/docs/tor-doc-unix.html Dokumentation] weist richtigerweise daraufhin, dass fürs Surfen die Kombination mit Privoxy eine gute Idee ist.
 
Bei Verfügbarkeit einer öffentlichen IP-Adresse und ausreichend Bandbreite sollte Tor im Server-Modus betrieben werden. Dadurch wird der Rechner selbst zu einem Knoten im Onion-Routing-Netz. Die Systemuhr sollte dabei so genau wie möglich gehen, was regelmässiges Abgleichen mit einem Zeitserver am besten sicherstellt. In der gut dokumentierten Konfigurationsdatei "torrc" muss zudem mindestens der NIckname des Servers eingetragen und eingestellt werden, auf welchem Port er Verbindungen entgegennehmen soll. Sinnvollerweise werden hier ebenfalls Bandbreitenbeschränkungen oder unerwünschte Netze eingetragen.


Unter der "exit policy" verbirgt sich Tors Mechanismus, Verbindungen zu bestimmten Zielports zu unterbinden - danach wird per Voreinstellung keine E-Mail mehr versandt, selbst wenn der Mailclient mit Socks-Proxies umgehen kann. So wird verhindert, dass sich Tor als Spamschleuder aufschwingt.
Dies wird erst durch den Einsatz von [[Privoxy]] verhindert, welches Socks 4a verwendet, das (im Gegensatz zu Socks 4 und Socks 5) einen Rechnernamen nicht erst in eine IP-Adresse umwandeln muss; zudem filtert Privoxy verräterische Header aus HTTP-Anfragen. Der Einsatz von Privoxy ist darum dringend anzuraten!


== Weblinks ==
== Weblinks ==


* [http://tor.eff.org/ Tor]
{{Weblinks}}
** [http://tor.eff.org/docs/tor-doc-unix.html Running the Tor client on Linux/BSD/Unix]
{{url|US|Electronic Frontier Foundation|ger|http://www.torproject.org/|Tor|sublink=<br>
* [http://www.kubieziel.de/blog/archives/199-Kurzanleitung-zur-Installation-von-Tor.html Kurzanleitung zur Installation von Tor]
* [http://www.torproject.org/docs/tor-doc-unix.html Tor-Client auf Linux/BSD/Unix betreiben]}}
* [http://de.susewiki.org/index.php?title=Privoxy_und_Tor Privoxy und Tor] (SUSEwiki)
{{url|DE|Jens Kubieziel|ger|http://www.kubieziel.de/blog/archives/199-Kurzanleitung-zur-Installation-von-Tor.html|Kurzanleitung zur Installation von Tor}}
{{url|US|Susewiki|ger|http://de.susewiki.org/index.php?title{{=}}Privoxy_und_Tor|Privoxy und Tor}}
{{url_dewikipedia|Tor_(Netzwerk)|Tor (Netzwerk)}}
{{Fuss}}




{{cat|Proxy}}
{{cat|Proxy}}
{{cat|Rechnernetz}}
{{cat|Sicherheit}}
{{cat|Sicherheit}}

Aktuelle Version vom 6. August 2011, 17:18 Uhr

Tor (früher: The Onion Router) ist ein Rechnernetz zur Anonymisierung der Verbindungsdaten. Es wird für TCP-Verbindungen eingesetzt und kann beispielsweise für Webbrowsing, Instant Messaging, IRC, SSH, E-Mail, P2P und anderes benutzt werden. Tor schützt vor der Analyse des Datenverkehrs seiner Nutzer, der zusätzliche Einsatz von Privoxy ist dabei sehr zu empfehlen.

Tork ist eine grafische Oberfläche für Tor.

Funktionsweise

Gewöhnlich kommuniziert der Webbrowser direkt mit dem entfernten Zielrechner und erhält von dort z. B. eine Webseite, wobei der dortige Server die Zugriffsdaten protokolliert. Mit Hilfe des Tor-Clients geht die eigene Anfrage nun nicht direkt zum Zielrechner, sondern passiert erste einen Proxy auf dem lokalen Rechner und dann eine Reihe sogenannter "Nodes" bis hin zu einem "Exit-Node", der dann in Kontakt mit dem Zielrechner tritt.

Als "Nodes" werden im Tor-Netzwerk Knotenpunkte bezeichnet, welche der Datenverkehr auf dem Weg zum Ziel passiert. Einen Node eröffnet, wer Tor als Server oder als sogenannten "Onion-Router" betreibt. Privatnutzer verwenden Tor mehrheitlich als Client bzw. als Socks-4-Proxy, der dann als "Onion-Proxy" bezeichnet wird. Dadurch ergibt sich ein Problem: Da die angeforderten Daten verschiedene privat betriebene Nodes passieren, bevor sie den eigenen Rechner erreichen, könnte theoretisch jeder Betreiber eines Onion-Routers den Datenverkehr mitprotokollieren. Daher wird zwischen dem eigenen Onion-Proxy und jedem Node auf dem Weg zum Exit-Node ein eigener Schlüssel vereinbart. Das verhindert, dass sich ein nicht autorisierter Node in die Route schmuggelt.

Das System verschlüsselt zudem Daten in mehreren Schichten (das kann nur der eigene Onion-Proxy) und verhindert so, dass ein Node-Betreiber die passierenden Inhalte entschlüsseln kann. Die Daten sind also - wie eine Zwiebel (engl. onion) - von mehreren Verschlüsselungsschichten umgeben. Erst der Exit-Node reicht die eigentlichen Daten an den Zielrechner weiter, wobei er nicht weiss, von welchem Rechner die Anfrage stammt, denn keiner der Onion-Router kennt den Onion-Proxy. So weiss auch kein Betreiber eines Onion-Touters, wessen Daten durch ihre Nodes fliessen.

Auf dem Rückweg werden die Daten wieder eingepackt: Erst der Onion-Proxy auf dem lokalen Rechner dekodiert die verschlüsselten Schichten und legt die Daten frei. So ist für Aussenstehende und auch den Internetdienstanbieter nicht ersichtlich, welche Daten man anfordert oder schickt, und der Betreiber des Zielrechners sieht lediglich die IP-Adresse des Exit-Nodes, der irgendwo auf der Welt steht.

Wie bei den meisten Anonymisierungs- und Verschlüsselungsprogrammen wird leider auch bei Tor die Kommunikation mit den entfernten Rechnern meist ziemlich stark verlangsamt.

Modi

Tor kennt einen Client- und einen Server-Modus. Der Client-Modus bietet sich an, wenn der eigene Rechner eine private, nicht routbare IP-Adresse besitzt (z. B. 10.x.x.x) und für Internetverbindungen ein NAT-Gateway nutzen muss. Auch Rechner mit Modems sind im Client-Modus gut aufgehoben.

Nach dem Start wartet Tor am Port 9050 auf eingehende Socks-4-Verbindungen. Wird jetzt der eigene Webbrowser angewiesen, diesen Port anzusteuern, läuft die Verbindung über das Onion-Routing-Netz. Die Dokumentation weist richtigerweise daraufhin, dass fürs Surfen die Kombination mit Privoxy eine gute Idee ist.

Bei Verfügbarkeit einer öffentlichen IP-Adresse und ausreichend Bandbreite sollte Tor im Server-Modus betrieben werden. Dadurch wird der Rechner selbst zu einem Knoten im Onion-Routing-Netz. Die Systemuhr sollte dabei so genau wie möglich gehen, was am besten durch regelmässiges Abgleichen mit einem Zeitserver sichergestellt wird. In der gut dokumentierten Konfigurationsdatei "torrc" muss zudem mindestens der Nickname des Servers eingetragen und ausserdem eingestellt werden, auf welchem Port er Verbindungen entgegennehmen soll. Sinnvollerweise werden hier ebenfalls Bandbreitenbeschränkungen oder unerwünschte Netze eingetragen.

Unter der "exit policy" verbirgt sich Tors Mechanismus, Verbindungen zu bestimmten Zielports zu unterbinden - danach wird per Voreinstellung keine E-Mail mehr versandt, selbst wenn der Mailclient mit Socks-Proxies umgehen kann. So wird verhindert, dass sich Tor als Spamschleuder aufschwingt.

Installation

Ubuntu 8.04 Hardy Heron

$ sudo apt-get install tor

Verwendung

Start von Tor, das dann auf Port 9050 lauscht.

$ tor
Aug 10 21:36:43.826 [notice] Tor v0.2.0.34 (r18423). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686)
Aug 10 21:36:43.829 [notice] Initialized libevent version 1.3e using method epoll. Good.
Aug 10 21:36:43.829 [notice] Opening Socks listener on 127.0.0.1:9050
Aug 10 21:36:45.297 [notice] We now have enough directory information to build circuits.
Aug 10 21:36:51.948 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.

Tor kann auch über das entsprechende Startskript gestartet werden.

$ sudo /etc/init.d/tor start
Raising maximum number of filedescriptors (ulimit -n) to 32768.
Starting tor daemon: tor...
Aug 10 22:04:28.054 [notice] Tor v0.2.0.34 (r18423). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686)
Aug 10 22:04:28.057 [notice] Initialized libevent version 1.3e using method epoll. Good.
Aug 10 22:04:28.059 [notice] Opening Socks listener on 127.0.0.1:9050
done.

Um den Datenverkehr nun über Tor zu leiten, müssen im Webbrowser folgende Einstellungen gemacht werden.

Webbrowser Menü
Firefox 2 Bearbeiten > Einstellungen > Verbindung: Verbindungs-Einstellungen > [X] Manuelle Proxy-Konfiguration > SOCKS-Host: 127.0.0.1 Port: 9050 [X] SOCKS v4
Firefox 3 Bearbeiten > Erweitert: Netzwerk > Einstellungen > Verbindung: Verbindungs-Einstellungen > [X] Manuelle Proxy-Konfiguration > SOCKS-Host: 127.0.0.1 Port: 9050 [X] SOCKS v4

Der Webbrowser schickt nun den Datenverkehr zunächst an den Port 9050 - Tor leitet ihn dann ins Internet weiter.

Zum Testen der Funktionstüchtigkeit kann eine der folgenden Seiten einmal mit und einmal ohne eingeschaltetem Proxy besucht werden. Die dabei angezeigten IP-Adressen sollten sich bei funktionierendem Tor unterscheiden.

Vollkommen anonymisiert ist das Browsen im WWW damit leider noch nicht: Der Webbrowser ermittelt die IP-Adresse des Zielrechners, indem er eine Anfrage an einen DNS-Server schickt, der wiederum einen Rechnernamen (z. B. "migros.ch") in eine IP-Adresse (z. B. "146.67.140.135") umwandelt. Der DNS-Server schickt dem Webbrowser anschliessend die aufgelöste IP-Adresse zurück. Durch eine Auswertung der Protokolldateien des DNS-Servers könnte ermittelt werden, welcher Rechner sich zu welchem Zeitpunkt nach einem bestimmten Rechnernamen erkundigt hat.

Dies wird erst durch den Einsatz von Privoxy verhindert, welches Socks 4a verwendet, das (im Gegensatz zu Socks 4 und Socks 5) einen Rechnernamen nicht erst in eine IP-Adresse umwandeln muss; zudem filtert Privoxy verräterische Header aus HTTP-Anfragen. Der Einsatz von Privoxy ist darum dringend anzuraten!

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Electronic Frontier Foundation ger Torwbm
Jens Kubieziel ger Kurzanleitung zur Installation von Torwbm
Susewiki ger Privoxy und Torwbm
Wikipedia ger Tor (Netzwerk)wbm Enzyklopädischer Artikel