Tor: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
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 Provider 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.
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 Provider 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.


== Installation ==
=== Modi ===


=== SUSE Linux ===
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.


Voraussetzung sind die Pakete "libevent", "openssl", "openssl-devel" und "zlib".
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.


$ <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.
 
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.
 
forward-socks4a / localhost:9050 .
 
Tor und Privoxy können dann gestartet werden.
 
$ <b>tor &</b>
# <b>/etc/init.d/privoxy start</b>
 
Privoxy lauscht dann auf Port 8118.
 
Zum automatisierten Aufruf von Privoxy.
 
# <b>insserv /etc/init.d/privoxy</b>
 
Für jeden Benutzer eine KDE/Gnome-Autostartdatei einrichten, die "Tor &" aufruft.


=== Ubuntu 8.04 Hardy Heron ===
=== Ubuntu 8.04 Hardy Heron ===
Zeile 94: Zeile 70:


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!
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!
=== Einstellungen im Webbrowser und Test ===
{| class=wiki
! Webbrowser !! Menü
|-
| <b>Firefox 2</b> || Bearbeiten > Einstellungen > Verbindung: Verbindungs-Einstellungen > [<b>X</b>] Manuelle Proxy-Konfiguration > HTTP-Proxy: <b>localhost</b> Port: <b>8118</b>
|-
| <b>Firefox 3</b> || Bearbeiten > Erweitert: Netzwerk > Einstellungen > Verbindung: Verbindungs-Einstellungen > [<b>X</b>] Manuelle Proxy-Konfiguration > HTTP-Proxy: <b>localhost</b> Port: <b>8118</b>
|-
| <b>Opera</b> || Extras > Einstellungen > Erweitert > Netzwerk > Proxyserver > [<b>X</b>] HTTP <b>localhost</b> Port <b>8118</b>
|}
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://www.showmyip.com/
* http://www.wieistmeineip.de/
== Verwendung ==
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 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.
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.


== Weblinks ==
== Weblinks ==

Version vom 10. August 2009, 20:28 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.

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 Provider 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.

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 Logdateien 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