Docs‎ > ‎

Tor-Relay / BR aufsetzen

In diesem Artikel zeige ich euch wie man ein Tor-Relay oder auch eine Bridge Relay unter Debian Linux aufsetzt. 
Das Tutorial sollte auf allen Debian-basierten Linux-Distrubitionen funktionieren.


Einleitung

Voraussetzungen

Installation von Tor

Einrichtung als Relay

Einrichtung als Bridge-Relay

Tipps aus der Praxis



Einleitung

Das Tor-Netzwerk ist ein anonymes Netzwerk, das sich des sog. Onion Routing bedient. Das bedeutet, wenn man eine Anfrage an eine Webseite schickt, sie über viele, viele Schritte (Hops) weitergeleitet wird. Jeder dieser Schritte kennt nur die wichtigsten Informationen über Quelle und Ziel, sodass aufgrund der vielen Kettenglieder eine anonyme Kette entsteht, die extrem schwer zu kompromittieren ist.


Es kann vom Tor-Netzwerk auf das ganze Internet zugegriffen werden (also normale Adressen wie www.google.de), weiterhin gibt es aber noch "Tor-interne" Seiten welche eine deutlich höhere Anonymität bieten da sie nur im Tor-Netzwerk existieren und von dort zugreifbar sind. Diese sind an Adressen wie http://eineDomain.onion zu erkennen. 


Um vom Tor-Netzwerk in das "normale Internet" zu kommen benötigt das Tor-Netzwerk sog. Exit Nodes ("Ausgangs-Rechner") welche Verbindung von Tor zum normalen Internet zulassen. Der Betrieb eines Exit-Nodes ist eher gefährlich, da damit Verbindungen zu möglicherweise überwachten / gefährlichen Webseiten über Ihre öffentliche (!) IP Adresse hergestellt werden können - Sobald man das Tor-Netzwerk verlässt muss man vorsichtig sein.


Es gibt verschiedene Betriebsmodi, die Begriffe überschneiden sich. Eine kurze Erklärung dazu:
  • Exit-Nodes lassen Verbindungen ins normale Internet zu. "Normale" Relays tun das nicht, sie lassen nur Verbindung ins Tor-Netzwerk zu
  • Wenn man einen Exit-Node betreibt muss man damit rechnen viel "Schmutz" über seine (Tor-)Leitung zu bekommen
  • Beim Betrieb eines Exit-Nodes Mit einer Blockade seiner IP-Adresse auf einer Vielzahl von Seiten ist zu rechnen (Thema "Schmutz")
  • Ein dritter Betriebsmodus ist das sog. Bridge-Relay - Hier werden nur Verbindungen in das Tor-Netz zugelassen, es wird kein Tor-traffic geroutet (weder Tor-intern noch extern)
Wer mehr über Tor erfahren möchte kann sich auf der Projektseite oder Wikipedia über Tor und Onion Routing informieren. Gerne stehe ich natürlich auch für Fragen bereit.



Voraussetzungen

  • Ein Server mit laufendem, aktuellem Debian (oder Ubuntu oder Ähnliches)
  • Root SSH-Zugriff oder Zugriff direkt auf den Server
  • Eine wenig freie Internetbandbreite für den Betrieb (Ich empfehle mind. 256 KByte Up- und Downstream) 
  • Grundlegende Linux Shell-Kenntnisse (nicht wirklich :) )


Installation von Tor

Ich verbinde mich also zunächst mit dem Server per SSH (wir benutzen die fiktive IP-Adresse 192.168.1.10)
ssh -u root 192.168.1.10


Nach der Anmeldung müssen wir zunächst das Repository (Installationsquelle) von Tor zu unseren Paketquellen hinzufügen (sources.list) hinzufügen.
Man findet Infos hierzu auf https://www.torproject.org/docs/debian
nano /etc/apt/sources.list


Am Ende der Datei fügen wir diese Zeile ein (Achtung: Abhängig von eurer Debian-Version!):
deb http://deb.torproject.org/torproject.org squeeze main


Wir speichern die Datei mit Strg + O und schließen sie mit Strg-X. Um die Vertrauenswürdigkeit der Paketquelle prüfen zu können geben wir noch folgendes ein:
gpg --keyserver keys.gnupg.net --recv 886DDD89

gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | apt-key add - 


Jetzt können wir unsere Paketquellen aktualisieren und Tor installieren:
apt-get update

apt-get install tor tor-geoipdb


Tor ist installiert und läuft - Im nicht gefährlichen Modus ;-)



Einrichtung als Relay

Um Tor in den Betriebsmodus eines Relays zu versetzen müssen wir die Tor-Config (torrc) bearbeiten:

nano /etc/tor/torrc

Dort ändern oder setzen wir die Einstellungen wie folgt:

SocksPort 0

DirPort 80

ORPort 443

Exitpolicy reject *:*

RelayBandwidthRate 100 KBytes

RelayBandwidthBurst 200 KBytes

SafeSocks 1

TestSocks 1


Die Einstellungen bedeuten (in der aufgeführten Reihenfolge):
  • Lasse nur lokale SOCKS-Verbindungen zu
  • Benutze den Port 80 um den Tor-Dienst in ein Verzeichnis von Tor-Servern einzutragen (Achtung: Diese Port muss an der Firewall Verbindungen aus dem Internet erlauben!) 
  • Benutze den Port 443 zur Verbindung nach Aussen (Achtung: Diese Port muss an der Firewall Verbindungen aus dem Internet erlauben!) 
  • Lasse keine Verbindungen ins normale Internet zu
  • Begrenze die benutzte Bandbreite auf 100 KBytes (Acbtung: 800 Kbp/s)
  • Begrenze die benutzte Bandbreite für Lastspitzen auf 200 KBytes (Achtung: 1600 Kbp/s)
  • Lasse nur sichere SOCKS-Verbindungen zu
  • Teste die SOCKS-Verbindung beim Starten von Tor

Jetzt müssen wir nur noch die Einstellungen übernehmen und sind auch schon fertig!
/etc/init.d/tor reload

Wir könnten nun die Funktion testen in dem wir uns alle aktiven Netzwerkverbindungen zum Server anzeigen:
netstat -na

Man sollte eine Liste mit Tor-Nodes bekommen die über den eigenen Server surfen. Glückwunsch! :-)



Einrichtung als Bridge-Relay

Tor-Server verbrauchen schnell viel Traffic wenn man sie als Relay betreibt - es wird Tor-Netzwerkverkehr durch den eigenen Server übertragen.

Bei Bridge-Relays ist das anders. Sie dienen nur als Tor-Einstiegspunkte für Personen mit begrenzten Internetzugang (z. B. weil die Regierung oder Unternehmen Verbindungen oder Seiten blockieren). Der Umstieg vom Relay zum Bridge-Relay ist einfach:

Wir öffnen wieder unsere Tor-Config-Datei:
nano /etc/tor/torrc

Wir müssen nur einen Eintrag entfernen und einen anderen hinzufügen. Der DirPort gehört weg - Bridge Relays veröffentlichen Ihre Adresse nicht , da sie sonst zu leicht geblockt werden könnten. Also kommentieren wir die Zeile aus:
#DirPort 80

Diesen Eintrag fügen wir hinzu:
BridgeRelay 1

Wenn wir jetzt noch Tor neu starten läuft es auch schon als Bridge-Relay:
/etc/init.d/tor restart

Die Anzahl der Verbindungen, Traffic und Prozessor-Last sollten drastisch nach unten gehen - Yes!



Tipps aus der Praxis

  • Wer ein normales Relay betreibt trägt deutlich mehr zum Tor-Netzwerk bei als bei nur einem Bridge-Relay
  • Die benötigten Ressourcen auf dem Server sind bei normalen Relays deutlich höher. Man muss hier auf die Kosten achten!
  • Die Bandbreitenbegrenzer (MaxBandwidth) funktionieren nicht immer einwandfrei
  • Ein Tor-Server sollte nicht per Portmonitoring überwacht werden, das verzögert die Verbindung nur noch mehr!
  • Öffnen Sie keine unnötigen Ports auf dem Server um die Angriffsfläche gering zu halten
  • Installieren Sie nur die absolut notwendige Software auf dem Server um die Ausnutzung von Sicherheitslücken zu verringern


Wer noch Fragen hat kann sich gerne an mich wenden!
Comments