Tor/Server

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte hilf mit, indem du diesen Artikel testest. Wiki/FAQ - häufig gestellte Fragen (Abschnitt „Wikiartikel-testen“).

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Einen Editor öffnen

  2. Ein Terminal öffnen

  3. Root-Rechte

Inhaltsverzeichnis
    1. Entry-Node
    2. Bridge
    3. Exit-Node
  1. Einrichtung
      1. ORPort
      2. Art
      3. Bandbreite kontrollieren
      4. Weitere Konfigurationsoptionen
      5. Tor neu starten
  2. Tor-Server herunterfahren
  3. Portfreigabe
  4. Optional - Zwei parallele Tor-Dienste
  5. Problembehebung
    1. ORPort not reachable
  6. Links
    1. Intern
    2. Extern

Das Netzwerk von Tor lebt von den Menschen, die mitmachen. Jeder, der über Tor surft, wird Teil einer großen anonymen Gruppe, in der der Einzelne umso besser anonym ist, je mehr Menschen das Netzwerk nutzen. Dadurch wird das Netzwerk aber immer langsamer, da es wesentlich weniger Tor-Server als Tor-Surfer gibt. Um das Netzwerk zu unterstützen, hat fast jeder die Möglichkeit, einen eigenen Tor-Server aufzusetzen. Dass man einen Tor-Server betreibt, kann man nicht verschleiern; schließlich soll er ja anderen zur Verfügung stehen.

Dafür gibt es drei Möglichkeiten:

Entry-Node

Mit der Entry-Node schafft man einen Tor-Server, der das Netzwerk unterstützt und beschleunigt, aber nicht öffentlich in Erscheinung tritt. Für Menschen, die sich Probleme mit der Justiz nicht leisten können, ist die Entry-Node die richtige Wahl. Die eigene Anonymität wird durch die Entry-Node noch erhöht, da ein außenstehender Beobachter nicht erkennen kann, ob die Anfragen des Servers aus dem Netzwerk oder von einem selbst kommen.

Bridge

Die Bridge ermöglicht es, Menschen in unterdrückten Ländern anonymen Zugang zum Internet zu ermöglichen. Sie ist eine spezielle Form der Entry-Node, und wird für diejenigen empfohlen, die keine allgemeine Entry-Node bereitstellen können oder wollen.

Exit-Node

Mit der Exit-Node schafft man einen Ausgangspunkt aus dem Tor-Netzwerk, der auf die angeforderten Webinhalte direkt zugreift und sie in das Tor-Netzwerk übermittelt. Die IP einer Exit-Node ist stets öffentlich sichtbar.

Achtung!

Der Betreiber einer Exit-Node als solcher ist nicht anonym. Dadurch kann es vorkommen, dass, wenn jemand anderes Unsinn über Tor macht, die Polizei dann bei einem nachfragt bzw. man beschuldigt wird, dass man selbst die Straftat begangen hat. Auch Beschlagnahmung von Tor-Servern gab es bereits in Deutschland.

Davor braucht man prinzipiell keine Angst zu haben, da man als Betreiber eines Tor-Servers nach §8 TMG

§ 8 Durchleitung von Informationen

(1) Diensteanbieter sind für fremde Informationen, die sie in einem Kommunikationsnetz übermitteln oder zu denen sie den Zugang zur Nutzung vermitteln, nicht verantwortlich, sofern sie

* 1. die Übermittlung nicht veranlasst,
* 2. den Adressaten der übermittelten Informationen nicht ausgewählt und
* 3. die übermittelten Informationen nicht ausgewählt oder verändert haben.

(2) Satz 1 findet keine Anwendung, wenn der Diensteanbieter absichtlich mit einem Nutzer seines Dienstes zusammenarbeitet, um rechtswidrige Handlungen zu begehen.

nicht für das haftbar ist, was ein anderer über die Tor-Node macht. Dieser Paragraph gilt sowohl im Zivil-, als auch im Strafrecht. Es wurde in Deutschland auch noch nie ein Betreiber einer Exit-Node verurteilt (aber mittlerweile in Österreich - wegen Beihilfe zur Verbreitung von Kinderpornographie). Daher sollte man im Zweifelsfall unbedingt einen Anwalt hinzuziehen; auf den dadurch entstehenden Kosten wird man vermutlich sitzen bleiben, wenn man keine Rechtsschutzversicherung hat.

Deswegen sollten Menschen, die diese Risiko nicht tragen können oder wollen, nur eine Entry-Node aufsetzen. Wenn das nicht abschreckt, kann ruhig eine Exit-Node betrieben werden.

Einrichtung

Hinweis:

Besitzt man eine Firewall oder einen NAT-Router, muss man Verbindungen von außen freigeben.

Zuerst muss man Tor installieren und danach die Konfigurationsdatei torrc in einem Editor[1] mit Root-Rechten[3] bearbeiten. Verwendet man das Tor Browser Bundle, findet man die Datei im Ordner des Browser Bundles unter Data/Tor/torrc. Wurde Tor manuell aus den Paketquellen installiert, findet man die Datei unter /etc/tor/torrc. Die Datei enthält Erklärungen zu den einzelnen Möglichkeiten der Konfiguration. Einige Parameter sind auskommentiert.

Folgende Zeilen werden hinzugefügt bzw. entkommentiert (# am Zeilenanfang entfernen):

ORPort

Über den ORPort empfängt Tor Anfragen aus dem Tor-Netzwerk

ORPort 9001

Art

Man muss noch festlegen, was für eine Node man betreiben möchte.

  • Für eine Entry-Node:
    Für eine Entry-Node braucht man folgende Zeile in der Konfigurationsdatei:

    ExitPolicy reject *:*
  • Für eine Bridge:

    BridgeRelay 1
    ExitPolicy reject *:*
  • Für eine unbeschränkte Exit-Node:

    ExitPolicy accept *:*

Will man in Exit-Nodes alles bis auf einen bestimmten Dienst erlauben, benutzt man:

## Exit-Node 
ExitPolicy reject *:80,accept *:*

Dies erlaubt sämtliche Verbindungen, außer diejenigen die über Port 80 gehen, also HTTP-Verbindungen. Man kann auch mehrere Ports sperren, indem man weitere reject-Einträge, von Komma getrennt, einfügt.

Will man alles bis auf einen bestimmten Dienst verbieten, benutzt man:

## Exit-Node 
ExitPolicy accept *:80,reject *:*

Dies verbietet sämtliche Verbindungen, außer HTTP-Verbindungen. Man kann man auch mehrere Ports freigeben, indem man weitere accept-Einträge, von Komma getrennt, einfügt.

Bandbreite kontrollieren

Um einzustellen, wieviel Bandbreite dem Tor-Server zur Verfügung steht, gibt man folgendes an:

## maximale Durchschnittsbandbreite in Kilobytes. Minimum sind 20 KB.
BandwidthRate 400 KB

## Bandbreite, die für sehr kurze Momente verbraucht werden darf, um angesammelte Pakete zu versenden.
## Sollte möglichst das Doppelte (oder mehr) von BandwidthRate sein.
BandwidthBurst 800 KB

Begrenzt ist man dabei gewöhnlich besonders durch die vom ISP vorgegebene maximale Upload-Rate des Internetanschlusses.

Weitere Konfigurationsoptionen

Nickname

Ein Nickname muss nicht zwingend angegeben werden, erleichtert aber besonders bei Exit-Nodes das Wiedererkennen des Tor-Servers für Support des Tor-Teams.

## Der Nickname der Tor-Node. Muss zwischen 1-19 Zeichen lang sein und darf nur Buchstaben und Zahlen enthalten.
Nickname mytornode123
Kontaktinformation

Diese Adresse wird nur benutzt, falls ein wichtiges Tor-Sicherheitsupdate zur Verfügung steht oder etwas mit dem Server schief läuft. Sie braucht nicht angegeben zu werden. Sie ist öffentlich sichtbar.

ContactInfo maxmueller@email.de
Tor-Verzeichnis spiegeln

Wenn man genug Bandbreite zur Verfügung hat, kann man das Tor-Netzwerk zusätzlich unterstützen, indem man das Verzeichnis verfügbarer Tor-Server spiegelt.

DirPort 9030
Anzahl der CPUs

Um die Leistung des Servers zu steigern, kann man die Anzahl der CPUs, die man besitzt, angeben:

NumCPUs 2

Tor neu starten

Damit die hier gemachten Einstellungen übernommen werden, muss man Tor neu starten:

sudo /etc/init.d/tor restart 

Tor-Server herunterfahren

Wird der Rechner heruntergefahren, ohne dass der Server heruntergefahren wird, wird die Verbindung für Teilnehmer im Tor-Netzwerk abrupt unterbrochen. Deshalb wird empfohlen, den Server "sanft" zu beenden.

Um einen manuell installierten Tor-Server sauber und sanft herunterzufahren, verwendet man diesen Befehl:

sudo /etc/init.d/tor stop 

Die Ausführung dieses Befehls dauert ca. 30 Sekunden.

Portfreigabe

Um einen Tor-Server zu betreiben, sind folgende Ports freizugeben (sofern nicht anders manuell konfiguriert):

Ubuntu in der Standardinstallation gibt alle Ports frei. Hindernisse von anderer Seite, wo ggf. die Konfiguration geändert werden muss, können sein:

Optional - Zwei parallele Tor-Dienste

Wenn man einen Server betreibt und gleichzeitig auf dem selben Rechner mit Tor Surfen möchte, hat man oft ein Problem, denn die Bandbreitenbeschränkung gilt für den Server und den Clienten gleichzeitig. Sprich, verbraucht der Server die festgelegte Bandbreite, ist keine Bandbreite mehr übrig, um mit Tor zu surfen. Dieses Problem kann man beseitigen, indem man zwei Tor-Dienste laufen lässt, einen als Server und einen als Clienten. Diese Option besteht nur bei einer manuellen Installation von Tor, kann aber z. B. parallel zum Tor Browser Bundle geschehen.

Zuerst kopiert man die Konfigurationsdatei, z.B. im Terminal[2] mit:

sudo cp /etc/tor/torrc /etc/tor/torrc-server 

Jetzt richtet man die torrc so ein, wie man sie für seinen Clienten braucht, und die torrc-server so, wie man sie für seinen Server braucht. In torrc-server müssen die Werte ORPORT und SOCKSPORT geändert werden, damit es keine Überschneidungen gibt. Auch diese Ports müssen bei Verwendung einer Firewall oder eines NAT-Routers freigegeben werden.

Den Clienten kann man jetzt ganz normal starten, und den Server mit dem Befehl:

tor -f /etc/tor/torrc-server 

Problembehebung

ORPort not reachable

Ein leider häufiges Problem ist es, wenn der Tor-Server von außen nicht erreichbar ist und so seinen Dienst nicht machen kann. Erkennbar ist das Problem, wenn man in der Datei /var/log/tor/log die Meldung "[Warnung] Your server (80.129.53.32:9001) has not managed to confirm that its ORPort is reachable. Please check your firewalls, ports, address, /etc/hosts file, etc." bekommt.

Die Ursache kann sein, dass der nötige Port nicht freigegeben ist. Siehe Portfreigabe. Probleme in dieser Hinsicht macht aus ungeklärter Ursache manchmal auch der NetworkManager. Alternativ zum NetworkManager kann Wicd verwendet werden.

Intern

Extern