Versteckte Dienste - Anonyme Rendezvous


Tor ermöglicht es, dass nicht nur der anfragende Tor-Client (z.B. ein Besucher einer Webseite) anonym bleibt, sondern auch der anbietende Server. D.h. der Server bietet einen versteckten Dienst (engl. Hidden Service) an.
Somit sind Tor-Benutzer in der Lage eine Webseite einzurichten, auf der Menschen ohne Angst vor Zensur Material veröffentlichen können. Niemand ist in der Lage festzustellen, wer die Webseite anbietet und niemand weiß wer sie besucht. Informanten und Dissidenten können dadurch ihr Wissen an die Öffentlichkeit bringen, ohne um ihre Arbeitsstelle oder sogar ihr Leben fürchten zu müssen.
 

Funktionsprinzip

  1. Der Server mit dem versteckten Dienst erstellt ein Schlüsselpaar, welches ihn identifiziert.
  2. Der Server erstellt eine Liste von zufällig aus allen Tor-Servern ausgewählten Eintritts-Punkten.
  3. Der Server sendet den öffentlichen Schlüssel von 1. und die Liste mit Eintritts-Punkten von 2. an einen Verzeichnisserver.
  4. Der Client, der den Dienst des Server nutzen möchte benötigt den Hash-Wert des öffentlichen Schlüssels. Dieser Hash-Wert wird in Form einer Web-Adresse wie z.B. http://duskgytldkxiuqc6.onion/ dargestellt. Diese Adresse kann dann an einer beliebigen Stelle veröffentlicht werden. Der Client erhält mit diesem Hash-Wert die Details über den Dienst vom Verzeichnisserver.
  5. Der Client baut eine Verbindung über das Tor-Netzwerk zu einem zufälligen Tor-Server auf, den er als Rendezvous-Punkt bestimmt.
  6. Der Client baut danach eine Verbindung zu einem in 2. ausgewählten Eintritts-Punkt auf.
  7. Der Client schickt nun eine mit dem öffentlichen Schlüssel des Servers verschlüsselte Mitteilung an den versteckten Server, die ihm mitteilt an welchem Rendezvous-Punkt sich der Client und der Server treffen sollen.
  8. Der Server erhält die Mitteilung vom Eintritts-Punkt und baut eine Verbindung zum Rendezvous-Punkt auf.
  9. Am vereinbarten Rendezvous-Knoten werden die Kommunikationskanäle, die er zum Client und zum versteckten Server hat, verbunden. Jetzt können der Client und der Server miteinander kommunizieren, ohne dass einer von ihnen seine Identität preisgeben musste.

Probieren Sie den versteckten Dienst von Thomas Pain doch mal aus! Aber denken Sie daran, diese Seiten sind nur erreichbar, wenn Sie sich im Tor-Netzwerk befinden.


http://duskgytldkxiuqc6.onion/
http://duskgytldkxiuqc6.onion/comsense.html
http://duskgytldkxiuqc6.onion/fedpapers/federa00.htm

 

Installation eines Versteckten Dienstes unter Unix / Linux / BSD

Um einen versteckten Dienst zu installieren benötigt man eine korrekt konfigurierte Tor- und Privoxy-Installation. Siehe dazu auch das Kapitel Installation (<img src="uploads/images/symbole/os/windows.png" title="Microsoft Windows" alt="Microsoft Windows" /> Windows, <img src="uploads/images/symbole/os/unix.png" title="Unix / Linux" alt="Unix / Linux" /> Unix/Linux, <img src="uploads/images/symbole/os/freebsd.png" title="FreeBSD" alt="FreeBSD" /> BSD).

  1. Um einen Versteckten Dienst zu aktivieren und konfigurieren öffnet man als erstes die Konfigurationsdatei von Tor. Diese heißt torrc und befindet sich z.B. im Ordner /etc/tor
  2. Die notwendigen Einstellungen befinden sich unter der Zeile:

    ### This section is just for location-hidden services ###
  3. Es gibt zwei Konfigurationsparameter.
    • Zum einen den Pfad des Versteckten Dienstes HiddenServiceDir. Dieses Verzeichnis enthält die von Tor erzeugten Dateien hostname (enthält eindeutigen Hash-Wert) und private_key (Der private Schlüssel, der niemals herausgegeben wird!)
    • Zum anderen die zugehörigen Ports HiddenServicePort
  4. Als Beispiel eignet sich der Web-Server thttpd. Die neueste Version kann man sich von der offiziellen Webseite herunterladen
  5. Die heruntergeladene thttpd-x.xx.tar.gz mit tar -xfvz thttpd-*.tar.gz entpacken
  6. Durch ./configure && make konfigurieren und kompilieren
  7. Nun erstellt man mit mkdir hidserv ein Testverzeichnis und betritt es anschließend mit cd hidserv
  8. Jetzt kann man den Webserver mit ../thttpd -p 5222 -h localhost in diesem Verzeichnis starten um es über den Web-Server anzubieten.
  9. Nach dem Ändern der Tor-Konfigurationsdateien muss Tor neu gestartet werden
  10. Zum Testen einfach im Browser http://localhost:5222 eingeben. Sieht man eine Verzeichnisauflistung funktioniert der Web-Server.
  11. Um ihn über das Tor-Netzwerk aufzurufen muss die Adresse mit Hilfe des Hash-Wertes (steht in der hostname Datei im HiddenServiceDir) ermittelt werden. Diese lautet z.B. http://t7jcuof5qm6yaxg3.onion/. Also einfach ".onion" an den Hash-Wert hängen.


Fertig!

Erfolgreich installierter thttpd Server
(Erfolgreich installierter thttpd Server)
 
Nächstes Kapitel
Instant Messaging über Tor - Am Beispiel von Jabber &amp; Pidgin