Raspberry Pi und Tor
Mit Tor kann man im Internet anonym surfen. Das sagt zumindest die Theorie. Jedenfalls ist die Anonymität nirgendwo mehr gegeben als im Tor Netzwerk. Ich zeige euch wie ihre euren Raspberry Pi mit Tor verwendet könnt um damit eure Kommunikation zu anonymisieren.
Raspberry Pi und Tor
Die folgende Vorgehensweise basiert auf meinem letzten Artikel in dem ich den aus dem Raspberry Pi einen Access Point gemacht habe. Wir nutzen nun das Tor Netzwerk um die eigene nach außen (ins Internet) gehende Kommunikation so gut wie möglich zu verschleiern. Damit sollten uns potentielle Datensammler nicht mehr über die IP Adresse zuordnen können.
Installation
Wie immer ist die Installation bei Linux sehr einfach. Tor installiert sich folgendermaßen über die Kommandozeile:
sudo apt-get install tor
Das Tor Programm hat am Raspberry Pi eine eigene Konfigurationsdatei. Diese müssen wir nun mit den für unseren konfigurierten Netzwerkverkehr anpassen. Wir öffnen diese Datei:
sudo nano /etc/tor/torrc
Zu meiner im letzten Artikel verwendeten Einstellung passen folgende Konfigurationszeilen:
Log notice file /var/log/tor/notices.log VirtualAddrNetwork 10.192.0.0/10 AutomapHostsSuffixes .onion,.exit AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 192.168.30.1 DNSPort 53 DNSListenAddress 192.168.30.1
Was wird hier gemacht? Zuerst legen wir eine Log Datei an in diese Log Nachrichten ab der Log Stufe notice gespeichert werden. Das ist vermutlich etwas viel Information, brauchen wir aber solange die Funktionalität noch nicht vollständig getestet worden ist. Weitere wichtige Zeilen sind die von TransListenAddress und DNSListenAddress in die wir (wir erinnern uns) die IP Adresse des Access Points (DHCP Server) eingeben.
Konfiguration
Um Tor nutzen zu können müssen wir unsere iptables neu erstellen und dort festlegen, dass Tor das Routing der IP Adressen übernimmt. Dazu müssen wir zuerst die alten iptables löschen:
sudo iptables -F sudo iptables -t nat -F
Die folgenden Kommandos erzeugen uns nun die neuen Tor spezifischen iptables mit der Ausnahme für den SSH Port, damit wir auch weiterhin den Pi normal über SSH erreichen. Das macht Sinn, sonst hätten wir uns im Fehlerfall eventuell selber ausgesperrt. Die iptable wird durch folgende Kommandos erstellt:
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22 sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53 sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040
Noch ein paar Worte zu den iptables. Die zweite Zeile leitet alle UDP Nachrichten auf den Port 53 um, die dritte Zeile alle TCP Nachrichten auf den Port 9040. Wir erinnern uns, in der Tor Konfiguration haben wir die Parameter TransPort und DNSPort auf eben diese Werte gesetzt.
Ansehen können wir uns diese iptables folgendermaßen:
sudo iptables -t nat -L
Bevor wir diese nun speichern sollten wir unbedingt einen kritischen Blick darauf riskieren. Das sollte man unbedingt immer machen, im Fehlerfall passiert es nicht selten, dass man sich selber aus seinem System aussperrt. Beim Raspberry Pi ist das noch ein relativ kleines Problem, bei einem Webserver der irgendwo in einem Rechenzentrum steht kann das fatal sein. Ist man sich schließlich sicher, dass die Konfiguration passt, dann kann diese mir dem folgenden Kommando abgespeichert werden:
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Von nun an wird diese iptable direkt bei Systemstart geladen.
Log
Bevor wir nun so richtig mit unserer Kommunikation über unseren Raspberry Pi Tor Router durchstarten, müssen wir uns noch um das Logging kümmern. Das wird zwar nicht zwingend benötigt, wir wollen aber kontrollieren ob die Kommunikation auch korrekt über Tor durchgeführt wird. Dazu haben wir in der Tor Konfiguration eine Logdatei definiert. Diese legen wir nun im Dateisystem mit den nötigen Schreibrechten an:
sudo touch /var/log/tor/notices.log sudo chown debian-tor /var/log/tor/notices.log sudo chmod 644 /var/log/tor/notices.log
Mit Tor Sicher und Anonym im Internet
Nun wird es aber Zeit um endlich die installierte Software auszuprobieren. Das Tor Service wird wie folgt gestartet:
sudo service tor start
Damit das Service auch bei Systemstart automatisch gestartet wird müssen wir noch folgendes Kommando absetzen:
sudo update-rc.d tor enable
Funktionstüchtigkeit von Tor testen
Ein sicheres Gefühl alleine bringt wenig, wenn Tor falsch konfiguriert ist und dadurch nicht funktionsfähig ist. Wir müssen deshalb dringend noch einen Funktionstest durchführen. Dieser ist zum Glück sehr einfach. Wir müssen lediglich über unseren Raspberry Pi Tor Access Point eine Internetseite aufrufen, die die eigene IP Adresse ausgibt. Einfach in Google nach „meine ip“ googlen. Davon gibt es genug. Die dort angezeigte IP Adresse muss bei eingeschaltetem Tor Service eine andere sein. Dazu müssen wir den Test nochmals wiederholen bei abgeschaltetem Tor. Abschalten können wir Tor folgendermaßen:
sudo service tor stop
Fazit
Mit dem Raspberry Pi kann man schnell einen eigenen Access Point bauen und mit Tor absichern. Dank dem Tor Netzwerk bleibt die eigene Kommunikation dann weitgehend Anonym. Über herkömmliche weise ist es nicht zurückverfolgen welche IP Adresse man zu einem Zeitpunkt gehabt hat. Dadurch ist man anonym. Einziger bekannter Angriffspunkt des Tor Netzwerks ist aktuell die Kontrolle über weite Teile der Tor Server. Da diese aber fast ausschließlich in privten Händen sind und die Zahl der Knoten ständig steigt bleibt das vermutlich auch noch sehr lange Zeit so.
Welche Erfahrungen habt ihr mit Tor gemacht? Warum ist euch Anonymität im Internet wichtig?
Es gab einige kritische Berichte zu Tor, vor allem sitzen Schnüffler und Böse Buben an den „Exit Knoten“ und schauen sich schon an was ihr so anonym surfen wollt. Also nichts kritisches über Tor, oder nur SSL verschlüsselt!