Server
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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:
Bridge¶
Die Bridge ermöglicht es, Menschen in unterdrückten Ländern anonymen Zugang zum Internet zu sichern. Sie ist eine spezielle Form der Entry-Node, und wird für diejenigen empfohlen, die keine allgemeine Entry-Node bereitstellen können (z.B. wegen zu wenig Bandbreite) oder wollen (weil die IP des Servers nicht öffentlich ist). Für Menschen, die sich Probleme mit der Justiz nicht leisten können, ist die Bridge die richtige Wahl, da man so am wenigsten mit Tor in verbindung gebracht wird.
Entry-Node¶
Die Entry-Node ist der Server mit dem sich ein Benutzer verbindet (ausser er verwendet eine Bridge). 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. Jedoch ist die IP Adresse öffentlich, was zu Problemen führen kann weil manche Webseitenbetreiber einfach alle Tor-nodes sperren.
Middle-Node¶
Die Middle-Node steht zwischen Entry und Exit und ist so gesehen der "dümmste" Server, da er nicht weiß wer anfragt und wohin es geht. Als Tor-Node Betreiber der kein Exit Traffic erlaubt wird man für gewöhnlich zuerst Middle.
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!
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. Bei allen anderen Nodes hat man jedoch nichts bis sehr wenig zu befürchten.
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 Bridge, Entry- oder Middle Node aufsetzen. Wen das nicht abschreckt, der soll gerne eine Exit-Node betreiben, davon gibt es am wenigsten.
Hinweis:
Grundsätzlich sollte nicht nur nach dieser Anleitung verfahren werden, sondern die offiziellen Anleitugen des Tor-Projects zum Betrieb eines Tor-Servers, gelesen und verstanden 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/Middle-Node:
ExitPolicy reject *:*
Für eine Bridge:
BridgeRelay 1 ExitPolicy reject *:*
Für eine unbeschränkte Exit-Node:
ExitRelay 1 ExitPolicy accept *:*
Will man in Exit-Nodes alles bis auf einen bestimmten Dienst erlauben, benutzt man:
## Exit-Node ExitPolicy accept *:* ExitPolicy reject *:4662
Dies erlaubt sämtliche Verbindungen, außer diejenigen die über Port 4661 (ein oft benutzter Port für Filesharing). Man kann auch mehrere Ports sperren, indem man weitere reject
-Einträge einfügt.
Will man alles bis auf einen bestimmten Dienst verbieten, benutzt man (Bsp.: für mindest Portfreigaben um ein sinnvolles Exit zu betreiben):
## Exit-Node ExitPolicy accept *:80 ExitPolicy accept *:443 ExitPolicy reject *:*
Dies verbietet sämtliche Verbindungen, außer HTTP(S)-Verbindungen. Man kann man auch mehrere Ports freigeben, indem man weitere accept-Einträge einfügt.
Bandbreite kontrollieren¶
Um einzustellen, wieviel Bandbreite dem Tor-Server zur Verfügung steht, gibt man folgendes an:
## maximale Durchschnittsbandbreite in Kilobytes/Sekunde. Minimum sind 125 KB/s für eine Bridge. RelayBandwidthRate 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. RelayBandwidthBurst 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
Tor-Service neu starten¶
Damit die hier gemachten Einstellungen übernommen werden, muss man Tor neu starten:
sudo systemctl restart tor
Tor-Service stoppen¶
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 systemctl stop tor
Die Ausführung dieses Befehls dauert ca. 30 Sekunden.
Tor-Service starten¶
Um Tor wieder zu starten verwendet man folgenden Befehl:
sudo systemctl start tor
Portfreigabe¶
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
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 den Logfiles in /var/log/tor/ 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.