Dienstag Aug. 21, 2007

Tor, Privoxy, Firefox, Gentoo und anonym surfen

Naja... Anonym surfen ist ja etwas Augenwischerei im Internet. Google, CIA,  NSA, BND, Innenministerium und das Finanzamt sitzen ja eh schon überall drin - ok, kleiner Scherz am Rande ;-) Ich hab nix zu verbergen! Genau - solange, bis mal jemand bei der Schufa die Datensätze durcheinander bringt. Dann wird aus dem unschuldigen Bürger plötzlich der Kreditpreller. Ok, das wird natürlich nie passieren, auch klar oder? Schöne Aussichten. Ein bißchen Sarkamus muss ja auch mal sein ;-) Aber zurück zum Thema... Es gibt Seiten, da ist es wohl besser, wenn man sich etwas unauffälliger verhält, welche Gründe man auch immer haben mag dafür. Dafür ist das Gespann Tor, Privoxy und Firefox ideal.

Nun... Unter Gentoo ist das auch relativ schnell installiert. Zuerstmal die Software:

emerge -av tor
emerge -av privoxy

Firefox wird ja wohl jeder schon irgendwo rumliegen haben ;-) Was ist nun Tor eigentlich? Tor ist ein ganzes Netzwerk von Rechnern. Damit kann man ganz gut seine eigene IP-Adresse gegenüber der Seite verstecken, auf die man zugreifen möchte. Dazu wird der ganze Verkehr verschlüsselt (schon vom Client weg) durch das Tor-Netzwerk geschickt und das über mehrere Tor-Server hinweg. Der Weg ändert sich von Zeit zu Zeit, damit einem Angreifer es nicht zu leicht gemacht wird, den Weg zurück zu verfolgen. Was Tor allerdings nicht verbergen kann, ist alles, was der Browser mitschickt also z.B. Cookies oder Informationen, die über JavaScript ausgelesen werden. Dafür gibt's den Proxy Privoxy. Das Teil ist so mächtig, das ich mir eine genaue Beschreibung spare ;-) Wir wollen momentan nur erreichen, das der Browser möglichst wenig Informationen über uns rausrückt und das tut Privoxy schon sehr gut in der Defaulteinstellungen.

Eine Beispielkonfiguration von Tor liegt in /etc/tor. Dort kopieren wir die Datei torrc.sample nach torrc. Dort drin muss man eigentlich nicht viel umstellen. Die Defaulteinstellungen sind eigentlich ok. Tor startet man dann einfach mit

/etc/init.d/tor start

Damit der Service nach dem Rechner-Reboot wieder startet, führen wir noch

rc-update add tor default

aus. Dann wechseln wir zur Konfiguration von Privoxy nach /etc/privoxy. Dort müssen wir Privoxy in der Datei config mitteilen, das alle Anfragen über das Tor-Netzwerk laufen sollen. Also fügen wir am Besten (ist aber eigentlich egal) unter forward-socks4 and forward-socks4a Folgendes hinzu (wenn man die torrc nicht verändert hat diesbzgl.):

forward-socks4a / localhost:9050 .

Privoxy hat einen sehr großen Regelsatz. Da steht z.B. drin, das Anfragen an bestimmte Ad-Server (da wo die Werbung herkommt) rausgefiltert werden, Kommandos seitens des Servers zum Setzen eines Cookies entfernt werden, usw. Die Regeln und Aktionen findet man in den Dateien, die mit action oder filter enden. Die Dateien sollte man sich wirklich einmal genauer ansehen, aber Änderungen nimmt man nur in der user.action vor. Da diese Datei als Letztes eingelesen wird, überschreibt diese Datei Regeln, die in den davor genannten Dateien definiert wurden. Möchte man z.B. von bestimmten Seiten doch Cookies zulassen, fügt man diese Seiten einfach unter dem Abschnitt { allow-all-cookies } ein. Die Dateien sind sehr gut dokumentiert und es sind viele Beispiele drin. Einfach mal anschauen. Passt hier dann alles, starten wir Privoxy:

/etc/init.d/privoxy start

Auch hier wollen wir, das Privoxy beim Starten des Rechners ebenfalls hochkommt:

rc-update add privoxy default

Wenn man nun im Firefox unter den Verbindungseinstellungen angibt, das man über den Proxy localhost:8118 surfen möchte, schickt Firefox alle Anfragen an Privoxy, welcher dort alle sicherheitsrelevanten Angaben entfernt (wir wollen ja möglichst unerkannt bleiben) und leitet es an den Tor-Daemon weiter, welcher die Daten dann verschlüsselt und sie an's Tor-Netzwerk durchreicht. Man darf sich vom Tornetzwerk nicht allzu viel Performance erwarten. Das Ganze ist relativ langsam, aber man kann damit leben.

Wir können nun aber in den Firefox ein Skript laden, das genau definiert, welche Seiten wir über das Tor-Netzwerk besuchen wollen und welche Seiten direkt angefragt werden sollen. Das Ganze ist JavaScript sehr ähnlich und sieht z.B. so aus:

function FindProxyForURL(url, host) {
        if (isInNet(host, "193.222.168.0.", "255.255.255.0") ||
            dnsDomainIs(host, ".boeseseite.de") ||
                return "PROXY localhost:8118";
        } else {
                return "DIRECT";
        }
}

Hier legen wir also fest, das Anfragen an das komplette Class-C Netz 193.222.168.0/24 und an boeseseite.de über Privoxy und damit über das Tor-Netzwerk laufen und der Rest ganz normal direkt angefragt wird. Man kann damit noch viel mehr machen. Genaueres gibt es hier nachzulesen: Navigator Proxy Auto-Config File Format

Diese Datei muss beim Firefox dann nur noch in den Einstellungen/Erweitert/Netzwerk angegeben werden z.B. file:///home/user/proxy/proxy.pac und schon werden die Einstellungen aktiv. In diesem Sinne...

Technorati Tags: , , , , ,

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet