Dieses Tutorial soll zeigen, wie man einen Proxy einrichtet, der den eingehenden Netzwerkverkehr durch das TOR-Netzwerk leitet.
Inhaltsverzeichnis
Was wird benötigt:
- Ein Computer, der die amd64 oder arm64 Architektur unterstützt. (Also jeder halbwegs aktuelle Computer.) Ein Raspberry Pi auf dem bereits ein PiHole/AdGuard Home oder ein WireGuard-Server läuft funktioniert natürlich auch.
- Für dieses Tutorial: Ein Debian oder Ubuntu Linux. Auf einer anderen Distro lässt sich so ein Proxy auch umsetzen, ggf. muss man sich über die Unterschiede informieren.
(In meinem Fall ist es ein LXC mit Ubuntu 24.04 auf Proxmox.)
Installation des TOR-Repository:
Das Tor-Projekt bietet eigene Repositorys für verschiedene Distributionen an. Es empfiehlt sich, das passende Repository für die verwendete Distributionen zu verwenden, da man hier Aktualisierungen für das TOR-Paket am schnellsten bekommt und nicht auf die Repositorys der Distributionen angewiesen ist.
Die Installation des Repositorys ist vom TOR-Projekt dokumentiert, hier eine Fassung, die für den Linux-Neuling vielleicht besser zu folgen ist:
Schritt 1:
Mit folgendem Befehl lässt sich die Prozessorachitektur des Systems anzeigen:
sudo dpkg --print-architecture
Wie bereits beschrieben sollte diese amd64 oder arm64.
Schritt 2:
Mit der Paketverwaltung apt werden die Repositorys aktualisiert und benötigte Pakete installiert:
sudo apt update && sudo apt install apt-transport-https gnupg -y
Schritt 3:
Für den nächsten Schritt wird der Codname der verwendeten Distribution benötigt, welcher wie folgt bestimmt werden kann:
lsb_release -c
Schritt 4:
Als nächstes muss eine Datei erstellt werden, welche die nötigen Informationen zum Repository enthält.
Folgender Befehl öffnet den Texteditor nano, gleich mit dem richtigen Dateipfad und -name:
sudo nano /etc/apt/sources.list.d/tor.sources
Folgender Inhalt muss in diese Datei eingefügt werden:
Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: <DISTRIBUTION>
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpg
Die Bezeichnung <DISTRIBUTION> muss dabei mit dem vorhin bestimmten Codname ausgetauscht werden.
Mit STRG+O wird die Datei gespeichert,
mit STRG+X wird der Texteditor verlassen.
Schritt 5:
Folgende Befehlskette lädt den mit gpg-Schlüssel des Repositorys herunter und speichert diesen unter dem in tor.sources angegebenen Dateipfad und -namen:
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null
Schritt 6:
Das TOR-Paket kann nach einer Aktualisierung der Repositorys installiert werden:
sudo apt update && sudo apt install tor deb.torproject.org-keyring -y
Mit folgendem Befehl kann überprüft werden, ob das Paket aus dem TOR-Repository installiert wurde:
apt policy tor
Das TOR-Repository sollte an erster Stelle stehen und am Anfang mit drei Sternchen versehen sein.
Konfigurieren des TOR-Proxys:
Das TOR-Paket ist installiert, nun muss der Proxy konfiguriert werden.
Schritt 1:
Als erstes wird mit folgender Befehlskette eine Kopie der TOR-Konfigurationsdatei torrc erstellt:
sudo cp /etc/tor/torrc /etc/tor/torrc.backup
Zum löschen der aktiven Konfigurationsdatei und Wiederherstellen der Backup-Datei kann folgende Befehlskette verwendet werden:
sudo rm /etc/tor/torrc && sudo cp /etc/tor/torrc.backup /etc/tor/torrc
Schritt 2:
Die Konfigurationsdatei wird mit dem Texteditor nano wie folgt geöffnet:
sudo nano /etc/tor/torrc
Ein Proxy kann über das Socks als auch über das HTTP Protokoll gestartet werden.
Für einen Socks-Proxy wird der zweiten Textabschnitt um folgender Zeile ergänzt:
SocksPort <IP>:9050
Statt <IP> muss dort die IP-Adresse des Systems eingetragen werden. Anstelle von Port 9050 kann bei Bedarf auch ein anderer Port gewählt werden.
Auf Wikipedia findet sich eine Übersicht zu gänigen Portnummern. So lässt sich überprüfen, ob der gewünschte Port nicht schon vergeben ist.
Um einen HTTP-Proxy zu starten, kann zusätzlich folgende Zeile ergänzt werden:
HTTPTunnelPort <IP>:9080
Hier gilt das Gleiche wie für den Socks-Proxy.
Sind die Änderungen vorgenommen, kann der Texteditor wie oben beschrieben verlassen werden.
Schritt 3:
Bei der Installation sollte der TOR-Dienst von systemd automatisch gestartet worden sein und beim Systemstart automatisch starten.
Folgender Befehl startet den TOR-Dienst neu und liest die Konfigurationsdatei neu ein:
sudo systemctl restart tor.service
Falls bei der Benutzung des Proxys die IP eines Endknotens gesperrt sein, kann mit diesem Befehl eine neue Verbindung gestartet werden.
Sollte der Dienst bei Systemstart nicht starten, kann er mit folgendem Befehl aktiviert werden:
sudo systemctl enable tor.service
Wenn der Dienst noch nicht läuft kann er mit folgendem Befehl gestartet werden:
sudo systemctl start tor.service
Proxy einrichten/testen:
Um den Proxy nutzen zu können, muss in den Proxy-Einstellungen des zu verbindenen Systems/Software die IP-Adresse, der Port und das gewünschte Protokoll eingetragen werden.
Zum testen des Proxy’s, kann z.B. in den Firefox Einstellungen unter „Allgemein → Verbindungs-Einstellungen“ die Daten eintragen werden.
Mit der Adresse https://check.torproject.org kann überprüft werden, ob eine Verbindung über das TOR-Netzwerk geleitet wird.