Aus Raspberry Pi Geek 06/2013

Raspberry Pi als Tor-Router und Web-Filter (Seite 3)

Als Nächstes gilt es, die Iptables-Regeln anzupassen. Bereits vorhandene Rules löschen Sie zunächst mit den Aufrufen iptables -F und iptables -t nat -F. Danach aktivieren Sie die in Listing 5 gezeigten neuen Regeln und speichern diese gleich in /etc/iptables.ipv4.nat ab. Damit das System die Regeln beim nächsten Reboot wieder einliest, öffnen Sie die Datei /etc/network/interfaces und ergänzen sie nach einer Leerzeile um den Eintrag up iptables-restore /etc/iptables.ipv4.nat

Listing 5

# iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22
# iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53
# iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040
# iptables-save > /etc/iptables.ipv4.nat

Tor einrichten

Die Datei /etc/tor/torrc enthält die Konfiguration von Tor. Dort fügen Sie direkt nach der Zeile ## https://www.torproject.org/docs/faq#torrc die in Listing 6 gezeigte Passage ein. Damit Tor in der Lage ist, seine Meldungen auch einzutragen, legen Sie zudem eine Log-Datei an (Listing 7). Zu guter Letzt starten Sie Tor mit dem Aufruf service tor start. Damit auch dieser Dienst nach einem Reboot automatisch hochfährt, setzen Sie noch das Kommando update-rc.d tor enable ab.

Listing 6

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

Listing 7

# touch /var/log/tor/notices.log
# chown debian-tor /var/log/tor/notices.log
# chmod 644 /var/log/tor/notices.log

Um Tor zu verwenden, müssen Sie sich zukünftig nur noch mit dem jeweils genutzten Device am neuen WLAN anmelden. Ob das Konstrukt wie gewünscht funktioniert, prüfen Sie über einen Aufruf der Seite https://check.torproject.org. Im Erfolgsfall erscheint die Meldung Congratulations. Your browser is configured to use Tor (Abbildung 4).

Abbildung 4: Verbindet sich Ihr Browser via Tor mit dem Internet, erscheint der entsprechende Eintrag auf der Check-Seite des Projektes.

Abbildung 4: Verbindet sich Ihr Browser via Tor mit dem Internet, erscheint der entsprechende Eintrag auf der Check-Seite des Projektes.

Kein Rundumschutz

Onion Pi verschleiert in dieser Konstellation zwar wirkungsvoll Ihre IP-Adresse – vollständig anonym surfen Sie dadurch jedoch nicht: Skripte und Browser-Erweiterungen wie Java und Flash sind durchaus in der Lage, diese Anonymisierung aufzuheben. Ein Beispiel dafür lieferte eine Schwachstelle in der Javascript-Engine von Firefox, den Tor mit seinem Browser-Bundle bis Ende Juni auslieferte. Besuchte ein Tor-Nutzer entsprechend präparierte Webseiten, griff das Skript MAC-Adresse sowie Hostnamen ab und schickte diese Informationen an einen Server des amerikanischen Geheimdienstes.

Auch ein Login bei Ihrem E-Mail-Provider oder das Benutzen der Kreditkarte beim Online-Shopping verraten Daten und Details zu Ihrer Person. Beim Verschicken nicht via SSL gesicherter Zugangsdaten lauert darüber hinaus noch eine weitere Gefahr, die sogenannten Bad-Exit-Nodes, deren Betreiber Login-Daten aus dem Datenstrom ausfiltern und für ihre Zwecke missbrauchen.

Für besseren Schutz empfehlen wir daher einerseits Achtsamkeit im Umgang mit den eigenen persönlichen Daten und andererseits das Verwenden von Firefox in Kombination mit der kostenlos erhältlichen Erweiterung NoScript [3]. Dieses Addon blockiert bei Bedarf alle zusätzlichen Multimedia-Plugins sowie Skripte (Abbildung 5). Direkt nach der Installation empfiehlt sich ein Blick in die Einstellungen der Erweiterung. Darin wählen Sie aus, welche Plugins es deaktivieren soll. An dieser Stelle legen Sie auch fest, welche Webseiten über eine Ausnahmeregelung doch Java oder Flash im Browser ausführen dürfen. Wie Sie stattdessen einen zentralen Content-Filer einrichten, zeigt der Kasten “Webfilter Privoxy”.

Abbildung 5: Einmal von der Whitelist von NoScript entfernt, zeigt YouTube im Browser keine Videos mehr.

Abbildung 5: Einmal von der Whitelist von NoScript entfernt, zeigt YouTube im Browser keine Videos mehr.

Webfilter Privoxy

Möchten Sie für alle Geräte und Browser, die das Tor-Netzwerk über den Tor-RasPi nutzen, einen Content-Filter einrichten, erledigen Sie das aus naheliegenden Gründen auch mittels einer zentralen Instanz. Ein beliebtes Tool für diesen Zweck ist Privoxy. Dank fein justierbarer Regeln blockt die Software zuverlässig Werbung und Cookies, obendrein erhöht sie durch das Blockieren von Skripten die Sicherheit.

Um Privoxy zu installieren, tippen Sie auf der Konsole des Raspberry sudo apt-get install privoxy ein. Damit der Filter im gesamten WLAN zur Verfügung steht, öffnen Sie die Datei /etc/privoxy/config und setzen die Variable listen-address auf den Wert 0.0.0.0:8118.

Ähnlich wie ein Adblocker für Webbrowser besitzt auch Privoxy die Fähigkeit, eine Liste von bekannten (Werbe-)Webseiten zu blockieren. Mit den Befehlen aus Listing 8 laden Sie eine solche Liste herunter und hinterlegen sie im Content-Filter. Das installierte Skript lädt automatisch Filterlisten herunter, konvertiert sie ins Privoxy-Format und legt sie unter /etc/privoxy ab. Zudem trägt es die Listen in /etc/privoxy/config für die künftige Verwendung ein.

Die Filterlisten aktualisiert der Anbieter mehrmals im Monat. Deswegen empfiehlt sich das Einrichten eines Cronjobs, der das manuelle Update der Filterlisten erspart. Tippen Sie dazu als Root crontab -e, und fügen Sie folgende Zeile ans Ende der Datei an:

0 22 * * * root /bin/bash /usr/local/bin/privoxy-blocklist.sh

Mit dieser Einstellung startet das Skript jeden Tag um 22 Uhr. Fügen Sie nun eine weitere Direktive in den Iptables-Regeln hinzu, damit die Kommunikation zwischen Client und Privoxy nicht direkt zu Tor weitergeleitet wird, und hinterlegen Sie diese gleich fest (Listing 9).

Starten Sie nun sicherheitshalber Privoxy über service privoxy restart neu, um die geänderte Konfiguration zu übernehmen. Vergessen Sie nicht, auf den Clients im Browser den Proxy einzutragen (Abbildung 6). In unserem Test filterte Privoxy anschließend auch ohne Browser-Addons zuverlässig die Werbung aus Webseiten heraus (Abbildung 7).

Ein Nachteil von Privoxy: Es lastet bei mehreren gleichzeitig aktiven Benutzern die CPU des RasPi stark aus. Im Tests verlängerten sich dadurch die Ladezeiten typischer Webseiten um bis zu 15 Sekunden.

Listing 8

# cd /usr/local/bin
# wget -O privoxy-blocklist.sh "http://andrwe.org/doku.php/scripting/bash/privoxy-blocklist?do=export_code&codeblock=0"0
# chmod +x privoxy-blocklist.sh
# ./privoxy-blocklist.sh -v 1

Listing 9

# iptables -t nat -I PREROUTING -i wlan0 -p tcp --dport 8118 -j REDIRECT --to-ports 8118

Abbildung 6: Die korrekten Proxy-Einstellungen im Firefox.

Abbildung 6: Die korrekten Proxy-Einstellungen im Firefox.

Abbildung 7: Links Spiegel.de ohne NoScript und aktivierten Privoxy, rechts durch Privoxy gefiltert.

Abbildung 7: Links Spiegel.de ohne NoScript und aktivierten Privoxy, rechts durch Privoxy gefiltert.

Im Betrieb

Der Tor-Proxy auf dem Raspberry Pi überzeugt durch seine schnelle Einrichtung und die geringen Betriebskosten. Für das eigene Heimnetzwerk ist ein solcher Onion-Router das ideale Werkzeug, um die Privatsphäre bestmöglich zu wahren.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben