Installation und Konfiguration von Tor

Samstag, 5. Januar 2008 (22:54 CET)

Nach langem Ringen und Überlegungen meinerseits habe ich mich in den letzten Tagen nun zum 2. Mal entschieden wieder einen Tor Exit Node auf meinem root Server laufen zu lassen. Dazu beigetragen hat sicherlich nicht zuletzt das äußerst positive Fazit des CCC über den CCC-eigenen Tor Server das auf dem 24c3 gezogen wurde. Und da das ganze nicht ganz trivial ist, zumindest wenn man Tor direkt aus den Quellen heraus baut, habe ich hier mal die aufgeschrieben was alles beachtet werden muss.

Was brauchen wir: Eine beliebige Linux Distribution auf einem einigermaßen schnellen Rechner. In meinem Fall ein Debian Linux System mit 2.6er Kernel, 2 GB RAM und einem AMD Opteron Prozessor. Tor benötigt um kompiliert zu werden ein lauffähiges libevent sowie openssl and zlib, die Installtion der letzteren beiden beschreibe ich hier allerdings nicht. Die neuste Version von libevent gibt es auf dieser Seite. Doch der Reihe nach: Als erstes holen wir uns libevent vom Server.
wget http://monkey.org/~provos/libevent-1.4.1-beta.tar.gz
tar xfvz libevent-1.4.1-beta.tar.gz
./configure && make
make install
make verify

Achtung: Standardmäßig wird libevent nach /usr/local/lib/ installiert, da dies kein Standardsuchpfad für Tor ist muss dieser Pfad Tor bei der Konfiguration bekannt gegeben werden. Aber immer der Reihe nach.

Nun haben wir alle Tor Abhängigkeiten installiert/gelöst und können uns der Tor Installation widmen. Als erstes besorgen wir uns die aktuellste Tor Version, je nach Geschmacksrichtung in experimenteller Version oder so wie ich die aktuelle stable version 0.1.2.18. Die gibt es bequem von der Tor Homepage.

wget http://www.torproject.org/dist/tor-0.1.2.18.tar.gz
tar xfvz tor-0.1.2.18.tar.gz
./configure --with-libevent-dir=/usr/local/lib/
make && make install

Tor legt dabei übrigens seine Konfigurationsdateien in das Verzeichnis /usr/local/etc/tor/ ab. Um genau zu sein zwei Dateien: torrc.sample und tor-tsocks.conf.

Um unseren Server nun in Betrieb zu nehmen kopieren wir einfach die torrc.sample und benennen sie in torrc um.

mv torrc.sample torrc
vi torrc

Und editieren diese folgendermaßen:

RunAsDaemon 1 - Um Tor als Dienst laufen zu lassen
Nickname ‘ididntedittheconfig’ - Ein schicker Name
Address 127.0.0.1 - Kann nützlich sein bei mult. IP Adressen.
ContactInfo SomeName - Eine Aussagekräftige Kontaktaddresse
ORPort 9001 - Der Port den Tor benutzen soll

Und das sind auch schon alle Einstellung die getroffen werden müssen um den Server ans Laufen zu bringen. Es empfiehlt sich einen eigenen Benutzer anzulegen unter dem Tor läuft. Wenn das bereits geschehen ist kann man als root einfach mit
su torbenutzer

den Benutzer ohne Passwortabfrage wechseln. Und durch Eingabe von
tor

in der kommandozeile den Dienst starten. Wenn alles gut läuft steht dann in der notices.log Datei, die sich im Ordner /usr/local/var/log/tor/ befindet folgendes:

[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Now checking whether ORPort xxx and DirPort xxx are reachable… (this may take up to 20 minutes –
look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
[notice] Self-testing indicates your DirPort is reachable from the outside. Excellent.
[notice] Performing bandwidth self-test…done.

Wunderbar, alles läuft. Schon nach kurzer Zeit sollte der Server dann auch in
Verzeichnisdiensten wie diesem auftauchen.

Mein Tor-Server ist übrigens unter dem Namen “GatewayToHeaven” unter der IP 85.214.91.252 zu erreichen. Ich behalte mir allerdings das Recht vor den Server jederzeit abzustellen oder in irgendeiner Form zu beschränken.

Hinweisen möchte ich zudem noch auf das sehr gute Abuse FAQ auf der offiziellen Tor Webseite die näher auf den Punkt: “Oh Gott, nutzen das nicht nur Kriminelle!?” eingeht.


Aktionen

Informationen

Schreib einen Kommentar

Du kannst diese Tags verwenden : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>