Tor - The Onion Router

Lesedauer: 7 Minuten

Der Tor-Client baut einen Circuit typischerweise über drei Relays auf und handelt mit jedem Relay eigene kryptographische Schlüssel aus. Ausgehende Daten werden in mehreren Verschlüsselungsschichten übertragen. Jedes Relay kann nur die für es bestimmte Schicht verarbeiten und kennt innerhalb des Circuits grundsätzlich nur seinen unmittelbaren Vorgänger und Nachfolger

Bei der Nutzung von Tor ist zu berücksichtigen, dass die Anonymität zwar verbessert werden kann, jedoch keine absolute Sicherheit gewährleistet ist. Die richtige Konfiguration und der vorsichtige Umgang mit persönlichen Informationen bleiben wichtig. Wenn Sie Tor als Exit-Node betreiben, besteht die Möglichkeit, dass der Datenverkehr, der aus Ihrem Node herausgeht, mit Ihnen in Verbindung gebracht wird. Dies könnte rechtliche Konsequenzen haben, insbesondere bei illegalem Datenverkehr. Zudem kann die Verwendung von Tor die Internetgeschwindigkeit erheblich verringern, da der Datenverkehr über mehrere Knoten geleitet wird.

Komponenten von Tor

Tor ist in allen gängigen Repositories eines Debian-basierten Linux enthalten und kann mit apt installiert werden:

$ sudo apt install tor

Damit werden folgende Komponenten auf Ihrem System installiert:

  • Tor-Daemon: Das tor Binary, das sich auf einem Linux-System üblicherweise unter /usr/sbin/tor befindet, ist der Tor-Daemon, der im Hintergrund läuft und das System mit dem Tor-Netzwerk verbindet.
  • Torsocks: torsocks ist ein Dienstprogramm, das es ermöglicht, beliebige Anwendungen über das Tor-Netzwerk zu leiten, ohne dass diese speziell für die Verwendung mit Tor konfiguriert oder entwickelt werden müssen. Es befindet sich in /usr/bin/torsocks.
  • Tor-Geoipdb: tor-geoipdb ist ein Paket, das eine Datenbank mit geografischen Informationen zu IP-Adressen enthält. Diese Datenbank wird von Tor verwendet, um festzustellen, in welchem Land sich die verschiedenen Tor-Knoten (Relays) befinden. Diese Datenbanken befinden sich in /usr/share/tor/.
  • Tor-Konfigurationsdateien: Die entsprechenden Dateien sind in der Regel unter /etc/tor/ zu finden. An dieser Stelle können Sie verschiedene Einstellungen vornehmen, beispielsweise festlegen, ob der Tor-Daemon als Relay (Weiterleitungsserver) oder als Exit-Node (Ausgangsserver) fungieren soll.
  • Log-Dateien: Tor erstellt Log-Dateien, die dazu dienen, den Status des Dienstes zu überwachen und potenzielle Probleme zu diagnostizieren. Diese finden sich in der Regel unter /var/log/tor/.

Starten von Tor

Nach der Installation starten Sie Tor mit folgendem Kommando:

$ sudo systemctl start tor

Überprüfen Sie ob der Start erfolgreich war:

$ sudo systemctl status tor

Um den Tor-Dienst für den automatischen Start zu aktivieren, führen Sie das folgende Kommando aus. Dadurch wird eine Symbolverknüpfung für den Tor-Dienst im systemd-Verzeichnis erstellt, sodass er beim nächsten Systemstart automatisch ausgeführt wird:

$ sudo systemctl enable tor

Sie verfügen somit bereits über eine aktive Tor-Instanz, die standardmäßig auf dem TCP-Port 9050 lauscht und Datenverkehr entgegennimmt und durch das Tor-Netzwerk leitet.

Beachten Sie, dass der Tor-Dienst lediglich den Datenverkehr von Anwendungen weiterleitet, die entsprechend konfiguriert sind und Tor als SOCKS-Proxyserver nutzen. Dies bedeutet, dass nicht automatisch der gesamte Netzwerkverkehr Ihres Systems über Tor läuft.

Funktionstest

Sie können die Funktionalität testen, indem Sie die aktuelle öffentliche IP-Adresse des Exit-Nodes des Tor-Netzwerks aufrufen. Der Exit-Node stellt den letzten Knoten in der Tor-Relay-Kette dar, durch den der Datenverkehr das Tor-Netzwerk verlässt und zum Ziel (z. B. einer Website) weitergeleitet wird. Weicht die zurückgegebene IP-Adresse von Ihrer regulären öffentlichen IP-Adresse ab und gehört sie zu einem Tor-Exit-Relay, bestätigt dies, dass dieser Request über das Tor-Netzwerk geleitet wurde.

Verwenden Sie hierfür das Dienstprogramm torsocks, welches den Netzwerkverkehr einer Anwendung abfängt und über den Tor-Dienst leitet:

$ torsocks curl https://api.ipify.org
5.45.98.162

Grundlegende Konfiguration

Nach der Installation von Tor sind einige grundlegende Konfigurationen und Überlegungen erforderlich, um die Sicherheit und Funktionalität des Dienstes zu optimieren. Diese Einstellungen werden hauptsächlich in der Tor-Konfigurationsdatei vorgenommen, die sich auf einem Linux-System in der Regel unter /etc/tor/torrc befindet.

Circuit Rotation

Tor verwendet Circuits nicht unbegrenzt für neue Verbindungen. Standardmäßig können neue Streams einem bereits verwendeten Circuit für bis zu zehn Minuten zugeordnet werden (MaxCircuitDirtiness 600). Danach werden neue Streams einem anderen geeigneten Circuit zugeordnet, während bereits bestehende Streams weiterhin über ihren bisherigen Circuit laufen können. Tor verwaltet dabei mehrere Circuits parallel und prüft regelmäßig, ob neue Circuits aufgebaut werden sollten. Der Parameter NewCircuitPeriod steuert dieses Prüfintervall und beträgt standardmäßig 30 Sekunden.

Verkehrstyp

Tor wird standardmäßig als Client betrieben. In diesem Modus baut Tor Verbindungen über das Tor-Netzwerk auf, stellt den eigenen Rechner jedoch nicht als Relay für andere Tor-Nutzer zur Verfügung. Für den reinen Client-Betrieb sind in der Regel keine zusätzlichen Einstellungen erforderlich.

Soll Tor als Relay (Weiterleitungsknoten), jedoch nicht als Exit-Node, betrieben werden, kann dies beispielsweise wie folgt konfiguriert werden:

ORPort 9001
ExitRelay 0

Mit ORPort wird der Port festgelegt, über den der Knoten am Tor-Netzwerk teilnimmt. ExitRelay 0 stellt ausdrücklich sicher, dass über diesen Knoten kein Datenverkehr das Tor-Netzwerk in Richtung Internet verlässt.

Soll der Knoten zusätzlich als Exit-Node fungieren, muss der Exit-Betrieb aktiviert und über eine ExitPolicy festgelegt werden, welcher ausgehende Datenverkehr erlaubt ist:

ORPort 9001
ExitRelay 1
ExitPolicy accept *:80
ExitPolicy accept *:443
ExitPolicy reject *:*

In diesem Beispiel darf der Exit-Node ausgehende TCP-Verbindungen zu den Ports 80 (HTTP) und 443 (HTTPS) herstellen. Andere Zielports werden durch die abschließende Regel reject *:* abgelehnt.

Hinweis: Beim Betrieb eines Exit-Nodes erscheint gegenüber den Zielsystemen die öffentliche IP-Adresse des Exit-Nodes als Absender des Datenverkehrs. Der Betrieb eines öffentlichen Exit-Nodes sollte daher sorgfältig geplant werden und kann insbesondere organisatorische, rechtliche und betriebliche Konsequenzen haben.

Sofern in der Konfigurationsdatei des Tor-Daemons (/etc/tor/torrc) kein ORPort (bzw. eine andere Relay-Port-Konfiguration) festgelegt wurde, arbeitet Tor standardmäßig als Client und stellt keinen Relay-Dienst für andere Teilnehmer des Tor-Netzwerks bereit.

Bandwidth Limits

Wenn Sie Ihren Anschluss als Relay oder Exit-Node zur Verfügung stellen, wird Ihr Tor-Knoten von anderen Nutzern des Tor-Netzwerks genutzt, um deren Datenverkehr weiterzuleiten oder ins offene Internet zu leiten. Dies kann zu einer erheblichen Belastung Ihrer Internetverbindung führen, insbesondere wenn viele Verbindungen über Ihren Knoten laufen.

Durch das Setzen von Bandwidth Limits können Sie sicherstellen, dass Tor nur eine bestimmte Menge Ihrer verfügbaren Bandbreite nutzt. Dadurch wird verhindert, dass Tor eine hohe Last an Ihrem Internetanschluss erzeugt und andere Dienste oder Anwendungen beeinträchtigt werden.

Sie können beispielsweise folgende Bandwidth Limits setzen:

RelayBandwidthRate 100 KB  # Durchschnittliche Bandbreite, die Tor verwenden darf
RelayBandwidthBurst 200 KB # Maximale Bandbreite, die Tor in kurzen Spitzen nutzen darf

Logs und Debugging

Um die Überwachung und Fehlersuche zu optimieren, muss das Log-Level entsprechend konfiguriert werden. Grundsätzlich ist das Logging zunächst deaktiviert. Um das reguläre Logging zu aktivieren, verwenden Sie den folgenden Parameter. Dadurch werden die Logs in das Logfile /var/log/tor/notices.log geschrieben:

Log notice file /var/log/tor/notices.log

Um Probleme zu debuggen, können Sie zusätzlich das Debug-Logfile /var/log/tor/debug.log mit folgendem Parameter aktivieren. Bitte beachten Sie, dass dadurch eine sehr hohe Anzahl an Logs generiert wird:

Log debug file /var/log/tor/debug.log

Abschließen der Konfiguration

Die Installation von Tor auf Ihrem System ist somit abgeschlossen und die grundlegenden Konfigurationen wurden vorgenommen. Um alle vorgenommenen Änderungen zu übernehmen, finalisieren Sie die Konfiguration durch einen Neustart von Tor:

$ sudo systemctl restart tor

Loading

Updated on 29. September 2026
Was this article helpful?

Related Articles