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:
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.
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.
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.
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.
Es gibt im Wesentlichen zwei Möglichkeiten, einen Tor-Server aufzusetzen, entweder mit Vidalia oder manuell.
Besitzt man eine Firewall oder einen NAT-Router, muss man Verbindungen von außen freigeben.
Die Einrichtung einer Tor-Servers mit Vidalia ist besonders einfach und wird im Vidalia-Artikel unter "Weiterleitung einrichten" erläutert. Wichtig ist es, Vidalia Zugriffsrechte auf die Tor-Konfiguration zu geben. Im Logbuch von Vidalia muss überprüft werden, ob der Server einwandfrei funktioniert oder ob es Fehlermeldungen gibt.
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):
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.
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.
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
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
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
Um die Leistung des Servers zu steigern, kann man die Anzahl der CPUs, die man besitzt, angeben:
NumCPUs 2
Damit die hier gemachten Einstellungen übernommen werden, muss man Tor neu starten:
sudo /etc/init.d/tor restart
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.
In Vidalia geht dies mit Rechtsklick auf die Zwiebel im Tray, mit der Option "Tor stoppen". Vidalia fragt dann nach, ob sanft oder abrupt beendet werden soll.
Um einen manuell installierten Tor-Server ohne Vidalia sauber und sanft herunterzufahren, verwendet man diesen Befehl:
sudo /etc/init.d/tor stop
Die Ausführung dieses Befehls dauert ca. 30 Sekunden.
Um dies automatisch bei jedem Herunterfahren des Rechners durchführen zu lassen, gibt es z. B. die Möglichkeit, das Autostart-Patch zu installieren und im Ordner /etc/autostop ein einfaches Skript zu speichern:
#! /bin/bash /etc/init.d/tor stop
Man sollte beachten, dass dadurch das Herunterfahren natürlich 30 Sekunden länger dauert.
Um einen Tor-Server zu betreiben, sind folgende Ports freizugeben (sofern nicht anders manuell konfiguriert):
Port 9001: Dies ist der Standard-Port, auf dem Tor auf Verbindungen von außen lauscht (ORPort).
Soll außerdem das Tor-Verzeichnis gespiegelt werden, muss auch der Port 9030 freigegeben sein.
Ubuntu in der Standardinstallation gibt alle Ports frei. Hindernisse von anderer Seite, wo ggf. die Konfiguration geändert werden muss, können sein:
Eine Firewall (z. B. auch im Router)
Ein NAT-Router
Eine Sperre von Seiten des ISP-Providers
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
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 oder im Vidalia Logbuch 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.
Diese Revision wurde am 14. November 2014 17:00 von mal-zeit erstellt.