Tor - The Onion Router

Der Tor-Dienst nutzt ein Netzwerk aus Relays, um den Datenverkehr zwischen Endpunkten in einem anonymen Modus zu übertragen. Bei der Herstellung einer Verbindung zu einer Webseite durchläuft der Datenverkehr den zufälligen Auswahlprozess mehrerer Relays (Knoten; Nodes), bevor er sein Ziel erreicht. Jedes dieser Relays fügt wie die Schichten einer Zwiebel eine Verschlüsselungsschicht hinzu oder entfernt sie. Bei jeder Weiterleitung zum nächsten Relay im Netzwerk wird nur die äußerste Verschlüsselungsschicht entschlüsselt, so dass der eigentliche Inhalt der Daten und ihre Herkunft verborgen bleiben.

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. Dadurch wird sichergestellt, dass Ihre Verbindung zum Ziel anonymisiert abgewickelt wird.

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

Das Tor-Netzwerk verfügt über eine Funktion, die dafür sorgt, dass die Knoten in regelmäßigen Abständen automatisch gewechselt werden. Dadurch wird die Anonymität der Benutzer erhöht. Dieser Vorgang wird als Circuit Rotation bezeichnet. Der Tor-Daemon erstellt standardmäßig alle 10 Minuten eine neue Route (Circuit) durch das Netzwerk, die aus verschiedenen Tor-Knoten besteht. Dadurch wird sichergestellt, dass der Datenverkehr etwa alle 10 Minuten über eine neue Kette von Relays geleitet wird. Bestehende Verbindungen bleiben in der Regel für eine kurze Zeit weiterhin über den alten Circuit bestehen, bis sie abgeschlossen sind. Neue Verbindungen verwenden jedoch sofort den neuen Circuit.

Sie können den Parameter NewCircuitPeriod anpassen, um die Zeit zu definieren, nach der ein neuer Circuit erstellt wird. Zum Beispiel führt folgender Eintrag zu einer Reduzierung der Zeitspanne auf fünf Minuten:

NewCircuitPeriod 300

Verkehrstyp

Tor wird standardmäßig als Client konfiguriert, um anonymes Surfen zu ermöglichen. In der Regel sind keine zusätzlichen Konfigurationen erforderlich. Sollten Sie Tor als Relay (Weiterleitungsknoten) oder Exit-Node betreiben wollen, ist dies in der Konfigurationsdatei entsprechend einzustellen:

ORPort 9001
ExitPolicy reject *:*

Dies erlaubt es Ihrem Knoten, als Relay zu fungieren (ORPort 9001), jedoch nicht als Exit-Node.

ORPort 9001
ExitPolicy accept *:80,443

Mit dieser Einstellung kann Ihr Knoten sowohl als Relay als auch als Exit-Node fungieren.

Ihr System kann somit als Exit-Node für HTTP- und HTTPS-Datenverkehr genutzt werden. Bitte beachten Sie, dass dies rechtliche Konsequenzen haben kann, da der Ausgangsverkehr über Ihre IP-Adresse geleitet wird.

Sofern in der Konfigurationsdatei des Tor-Daemons (/etc/tor/torrc) keine ExitPolicy oder ORPort (Onion Routing Port) Policy festgelegt oder auskommentiert wurde, verhält sich der Tor-Knoten standardmäßig als Client und steht weder als Relay noch als Exit-Node zur Verfügung.

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 15. August 2024
Was this article helpful?

Related Articles