Zum Hauptinhalt Zur Navigation

Anonymes Surfen: Die Tor-Zentrale für zu Hause

Wer über viele verschiedene Geräte im Haushalt im Tor -Netzwerk surfen will, muss nicht auf jedem das Browser-Bundle installieren. Ein zentraler Tor-Proxy auf einem Minirechner ist schnell eingerichtet.
/ Jörg Thoma
24 Kommentare News folgen (öffnet im neuen Fenster)
Tor lässt sich leicht als Proxy einrichten und über das WLAN nutzen. (Bild: Tor-Projekt)
Tor lässt sich leicht als Proxy einrichten und über das WLAN nutzen. Bild: Tor-Projekt

Ein zentraler Anlaufpunkt zu Hause für einen Eintritt ins Tor-Netzwerk ist nicht nur schnell eingerichtet, sondern erspart auch die vielfache Installation eines Tor-Browsers auf vielen Geräten. Ein solcher Tor-Proxy lässt sich auch auf Minirechnern installieren, etwa einem Raspberry Pi. Besonders geeignet ist dafür der Cubox-i , denn der kleine Würfel hat bereits ein integriertes WLAN-Modul. Dank seiner Größe kann er auch unterwegs mitgenommen werden. Die nach der folgenden Anleitung beschriebene Konfiguration lässt sich ohne Anpassungen fast überall nutzen, sofern eine LAN-Verbindung verfügbar ist.

Eines vorweg: Mit einem normalen Browser statt mit dem dafür konzipierten Tor-Browser im Tor-Netzwerk zu surfen, erfordert zusätzliche Vorsichtsmaßnahmen, etwa die grundsätzliche Nutzung verschlüsselter Verbindungen und des Inkognito-Modus. Außerdem ist die Datenübertragung im Tor-Netzwerk deutlich langsamer als im normalen Netz.

Mit dem Tor-Proxy zu etwas mehr Anonymität

Es gibt aber auch Vorteile, wenn Tor als Proxy eingerichtet wird, etwa dass automatisch auch Verbindungen zum E-Mail-Server oder anderen Diensten über das Tor-Netzwerk laufen. Aber auch hier sollten nur verschlüsselte Ende-zu-Ende-Verbindungen genutzt werden, denn spätestens beim Verlassen des Tor-Netzwerks über dessen Exit-Knoten fällt dessen interne Verschlüsselung weg. Ein VPN kann unser Tor-Proxy nicht ersetzen, wohl aber in Kombination mit HTTPS und anderen verschlüsselten Diensten oder auch zusammen mit VPN für mehr Anonymität sorgen.

Unsere Anleitung bezieht sich zwar auf den Cubox-i, lässt sich aber auch auf anderen Rechnern umsetzen, etwa dem Raspberry Pi oder dem Banana Pi. Einzige Voraussetzung ist ein entsprechendes WLAN-Modul, das sich als Access Point nutzen lässt.

Debian samt Software installieren

Für das Cubox-i hat der Entwickler Igor Pecovnik entsprechende Debian-Versionen erstellt(öffnet im neuen Fenster) . Wir nutzen sein vorgefertigtes Image von Debian Wheezy, das auf dem Cubox-i äußerst stabil läuft. Eine Version mit dem aktuellen Debian Jessie gibt es ebenfalls. Hier hatten wir noch Probleme, die bis zum Einfrieren des Systems reichten. Die Distributionen werden aber laufend aktualisiert, mit großer Wahrscheinlichkeit werden die Fehler ziemlich bald behoben. Wer will, kann das Image aus den aktuellen Quellen direkt erstellen lassen. Auf der entsprechenden Git-Hub-Seite(öffnet im neuen Fenster) gibt es dazu eine Anleitung. Das vorgefertigte Image lässt sich von der Webseite des Entwicklers herunterladen.

Eine 8 GByte große SD-Karte reicht völlig aus, um darauf langfristig einen Tor-Proxy zu betreiben. Pecovniks Image befindet sich in einer Zip-Datei, die zunächst entpackt werden muss. Das Raw-Image muss unter Linux und OS X mit dem Befehl dd auf die SD-Karte geschrieben werden. Für Windows-Nutzer hat Pecovnik das Werkzeug Imagewriter beigelegt. Wer anschließend ohne großen Aufwand die etwa 2 GByte große Partition auf die gesamte Kapazität der SD-Karte vergrößern will, kann dafür Gparted(öffnet im neuen Fenster) nutzen. Windows- und OS-X-Nutzer müssen das Live-Image verwenden, das auch auf USB-Sticks installiert werden kann. Unter Linux lässt sich Gparted meist über die Softwarequellen installieren.

Nach dem ersten Neustart

Nach dem ersten Start erscheint die per DHCP automatisch vergebene IP-Adresse, die zunächst notiert werden sollte. Anschließend erfolgt das erste Login als Benutzer Root mit dem Standardpasswort 1234. Sofort erscheint die Aufforderung, dieses Passwort zu ändern, dem sinnvollerweise nachgekommen werden muss. Hier gilt noch das englische Tastaturlayout, was berücksichtigt werden muss, wenn das Passwort Sonderzeichen enthält.

Nach dem ersten Login wird zuerst ein neuer Benutzer angelegt. Dazu wird adduser "Benutzername" eingegeben und anschließend ein weiteres Passwort für diesen Benutzer. Wer will, kann noch die Superuser-Erweiterung Sudo mit apt-get install sudo installieren und danach mit adduser "Benutzername" sudo den frisch angelegten Benutzer der Sudo-Gruppe hinzufügen. Anschließend folgt eine erneute Anmeldung, damit die Änderung greift. Die aktuelle IP-Adresse lässt sich dann nochmals mit dem Befehl sudo ifconfig auslesen.

Entfernt verwalten

Danach kann die kleine Kiste von einem entfernten Rechner verwaltet und ohne Monitor, Tastatur und Maus in eine Ecke gestellt werden. Von Linux oder OS X aus lässt sich der Cubox-i über SSH per Terminal steuern und unter Windows kann dafür das Hilfsprogramm Putty genutzt werden. Der Zugang erfolgt mit dem zuvor eingerichteten Benutzer, etwa mit ssh -l "Benutzername" "IP-Adresse" . Befehle, die mit Administratorrechten ausgeführt werden müssen, erfolgen mit vorangestelltem su oder sudo .

Beim Einloggen von einem externen Linux-Rechner übernimmt das Debian-System meist automatisch dessen Tastaturlayout. Dennoch sollte der Zeichensatz mit sudo dpkg-reconfigure locales auf de_DE.UTF-8 UTF-8 umgestellt werden. Die Konfiguration der Tastatur lässt sich mit apt-get install keyboard-configuration nachholen. Schließlich muss noch die Zeitzone eingerichtet werden. Dafür wird der Befehl sudo dpkg-reconfigure tzdata gestartet. Dieser letzte Schritt ist wichtig, damit das Tor-Netzwerk korrekt funktioniert.

Das Tor-Proxy im WLAN

Jetzt wird der Cubox-i als WLAN-Access-Point eingerichtet. Der WLAN-Adapter ist zunächst nicht konfiguriert, sollte aber in der Liste der Netzwerkadapter auftauchen, die mit sudo ifconfig -a abgerufen werden kann. Pecovniks Image bringt den dafür benötigten Treiber schon mit. Auf einem Raspberry Pi muss dieser unter Umständen nachgerüstet werden. Im Internet erhält man Informationen über kompatible WLAN-Adapter für den kleinen Rechner(öffnet im neuen Fenster) .

Zunächst muss noch die Software für den DHCP- und den Tor-Server mit apt-get install udhcpd tor installiert werden. Achtung: Das später benötigte Paket Hostapd ist in Pecovniks Image bereits in einer angepassten Version enthalten. Auf dem Raspberry Pi muss es noch nachinstalliert werden.

Konfiguration des DHCP-Servers

Mit sudo nano /etc/udhcpd.conf wird die Konfigurationsdatei für den DHCP-Server zur Bearbeitung geöffnet. Dort muss die Gruppe der IP-Adressen definiert werden, die der Cubox-i im Netzwerk vergeben darf. Ist bereits ein WLAN-Access-Point aktiv, etwa in einem Router, sollte darauf geachtet werden, dass die IP-Adressen sich nicht überschneiden. Ein Beispiel: Werden bisher IP-Adressen beginnend mit 192.168.2 im Netzwerk vergeben, kann für das Cubox-i die Adressgruppe 192.168.42 genutzt werden. Alternativ kann auch diese Gruppe nochmals eingegrenzt werden, etwa von 192.168.42.20 bis 192.168.42.40 . Dann können immerhin 21 Geräte mit IP-Adressen versorgt werden.

Die Vergabe der ersten IP-Adresse wird in der Zeile beginnend mit der Zeichenkette start definiert - in unserem Beispiel ist das 192.168.42.20 . In der nächsten Zeile beginnend mit end wird die letzte IP-Adresse eingetragen - hier 192.168.42.40 . Damit Udhcpd die Adressen über den WLAN-Adapter vergibt, muss die nächste Zeile interface wlan0 lauten.

Automatische Adressvergabe

Auf einem Raspberry Pi muss die Zeile remaining yes durch das Entfernen des am Anfang stehenden Rautezeichens aktiviert werden. Dann wird die Vergabe einer IP-Adresse samt verbleibender Gültigkeitsdauer gespeichert. Das ist notwendig, weil das Raspberry Pi keinen eigenen Zeitgeber besitzt, der die Zeit zwischen Neustarts speichert. Der Cubox-i hat einen solchen Zeitgeber, daher kann dort die Zeile unangetastet bleiben.

In der Zeile, die mit opt dns beginnt, werden zwei DNS-Server eingetragen, über die Clients Webadressen beziehen. Die im Netz kursierenden Anleitungen verwenden hier die von Google bereitgestellten DNS-Server 8.8.8.8 oder 8.8.4.4 . Alternativ kann hier auch die IP-Adresse des Heimrouters oder des Internetproviders eingetragen werden. In der nächsten Zeile opt router wird die statische IP-Adresse des Cubox-i oder der Raspberry Pi vergeben, die in einem nächsten Schritt konfiguriert werden muss. Hier bleiben wir in unserem Subnetz und verwenden die IP-Adresse 192.168.42.1 .

Und aktiviert

Die nächsten beiden Zeilen opt wins und option dns sollten mit einem vorangesetzten Rautezeichen deaktiviert werden. Erstere sendet den Rechnernamen im lokalen Netzwerk an Windows-Clients und wird selbst von Microsoft nicht mehr empfohlen. In der zweiten Zeile kann noch ein dritter DNS-Server eingetragen werden, was aber nicht notwendig ist.

Die letzten beiden Zeilen, die mit option beginnen, sollten aktiviert bleiben. In der Zeile option lease wird in Sekunden bestimmt, wie lange eine IP-Adresse an einen Client vergeben wird, bis sie erneut zugewiesen werden muss. Der dort standardmäßig eingetragene Wert 864000 entspricht einer Dauer von zehn Tagen. Anschließend werden die Änderungen mit der Tastenkombination Strg + O gespeichert und der Editor mit Strg + X verlassen. Schließlich muss in einem letzten Schritt der DHCP-Server noch aktiviert werden. Dazu wird mit Nano die Konfigurationsdatei /etc/default/udhcpd geöffnet und vor die Zeile DHCPD_ENABLED="no" ein Rautezeichen gesetzt.

WLAN-Access-Point einrichten

Dem WLAN-Adapter muss jetzt eine statische IP-Adresse zugewiesen werden. Zunächst sollte sichergestellt werden, dass der Netzwerkadapter nicht läuft. Er kann mit sudo ifdown wlan0 deaktiviert werden. In der Konfigurationsdatei /etc/network/interfaces.default wird die IP-Adresse mit folgenden Zeilen festgelegt:

iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0

Nach jedem Neustart geschieht jetzt die Vergabe der statischen IP-Adresse automatisch. Mit ifconfig wlan0 192.168.42.1 kann der WLAN-Netzwerkadapter auch manuell vorübergehend aktiviert werden.

Die Option allow-hotplug wlan0 , die viele Anleitungen im Internet zusätzlich empfehlen, wird eigentlich nur dann benötigt, wenn der WLAN-Adapter im laufenden Betrieb ab- und wieder angesteckt wird. Auf dem Raspberry Pi kann sie sinnvoll sein, auf dem Cubox-i mit dem integrierten WLAN-Adapter ist sie unnötig.

Hostapd sorgt für WLAN-Verbindungen

Die Konfigurationsdatei /etc/hostapd.conf für den WLAN-Adapter als Access Point - sie kann auf einigen Installationen auch im Verzeichnis /etc/hostapd/ liegen - wurde bei der Installation der entsprechenden Software Hostapd bereits automatisch generiert. Sie muss aber noch ein wenig angepasst werden. Dort sollte beispielsweise das Passwort für den Zugang zum Access Point geändert werden, das standardmäßig auf 12345678 festgelegt ist. Bei Bedarf kann auch die SSID neu vergeben werden. Alle weiteren Einstellungen können beibehalten werden. Jetzt muss Hostapd noch aufgefordert werden, die Konfigurationsdatei zu nutzen. Dazu wird die Konfigurationsdatei /etc/default/hostapd editiert. Dort muss nach dem Eintrag DAEMON_CONF= um /etc/hostapd.conf ergänzt und das vorangesetzte Rautezeichen entfernt werden.

In der Konfigurationsdatei /etc/sysctl.conf wird jetzt noch festgelegt, dass alle über WLAN eingehenden Daten an den Ethernet-Adapter des entsprechenden Geräts und von dort ins Internet weitergeleitet werden. Das geschieht über die Zeile net.ipv4.ip_forward=1 , die dort mit dem Entfernen des vorangestellten Rautezeichens aktiviert wird. Mit sudo sysctl -p kann die Weiterleitung sofort aktiviert werden.

Weiterleitungen erstellen

Jetzt werden die Regeln für die Weiterleitung erstellt. Dazu müssen zunächst alle bestehenden Firewall-Einstellungen gelöscht werden. Das geschieht mit den Befehlen: iptables -F und iptables -t nat -F . Danach müssen folgende Befehle eingegeben werden:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Anschließend wird die aktuelle Konfiguration der Firewall Iptables noch in eine Datei geschrieben:

sudo sh -c "iptables-save ᐳ /etc/iptables.ipv4.nat"

Damit der Inhalt der Datei automatisch bei einem Neustart eingelesen wird, muss in der Konfigurationsdatei /etc/network/interfaces.default folgender Eintrag ans Ende gesetzt werden:

up iptables-restore /etc/iptables.ipv4.nat

Tor als Proxy einrichten

Jetzt muss noch Tor so eingerichtet werden, dass es als Proxy über das WLAN verwendet werden kann. Dazu sind folgende Zeilen in der Konfigurationsdatei /etc/tor/torrc notwendig:

Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 192.168.42.1
DNSPort 53
DNSListenAddress 192.168.42.1

Die dafür benötigte Protokolldatei muss schließlich noch mit sudo touch /var/log/tor/notices.log angelegt werden. Mit chown debian-tor /var/log/tor/notices.log und chmod 644 /var/log/tor/notices.log werden ihr die entsprechenden Rechte verliehen.

Sicherheitshalber sollte jetzt noch ein Neustart des Systems erfolgen. Anschließend können sich Geräte über den neuen Access Point verbinden. Mit der Eingabe der Webadresse https://check.torproject.org im Browser kann geprüft werden, ob eine Verbindung ins Tor-Netzwerk geklappt hat.

Einige Hinweise zur Nutzung

Nochmals einige Warnungen: Der Firefox-basierte Browser vom Tor-Team ist speziell angepasst, um einige Fallstricke beim Schutz der Privatsphäre zu beseitigen. Sie fehlen natürlich in normalen Browsern. Deshalb ist selbst beim Surfen über einen Tor-Proxy noch mehr Vorsicht geboten. Grundsätzlich sollte der Inkognito-Modus verwendet werden. Auch das automatische Anmelden bei diversen Diensten im Internet kann einen Benutzer verraten. Und man sollte immer darauf achten, verschlüsselte Verbindungen zu verwenden, denn das Tor-Netzwerk chiffriert Daten nur intern.

Wer vertrauenswürdige Exit-Nodes verwenden will, kann die des Chaos Computer Clubs oder des Vereins Digitalcourage verwenden. Sie können in der Konfigurationsdatei /etc/tor/torrc festgelegt werden. Unter der Zeile StrictNodes 1 müssen dann die entsprechenden Fingerprints eingetragen werden. Sie liegen in Form einer alphanumerischen Zeichenkette vor, etwa 31A9 93F4 13D0 1E68 117F 7624 7E4F 2420 9519 0B87 , die in diesem Fall von einem der Exit-Server des Chaos Computer Clubs stammt. In der Konfigurationsdatei müssen sie mit vorangestelltem $-Zeichen und ohne Leerstellen eingetragen werden, etwa $31A993F413D01E68117F76247E4F242095190B87. Eine Liste aktueller Exit-Server gibt es auf der Webseite torstatus.blutmagie(öffnet im neuen Fenster) .


Relevante Themen