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.
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 derTor-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 derTor-Daemon
alsRelay
(Weiterleitungsserver) oder alsExit-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.
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.
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