Tor mit Privoxy und Firewall

Bei Tor handelt es sich um ein Netzwerk für den anonymisierten Zugriff auf Ressourcen im Internet. Es werden verschiedene auf TCP basierende Protokolle unterstützt. Darunter sind zum Beispiel HTTP für den Zugriff auf Web-Ressourcen, Instant Messaging, E-Mail und SSH.

Jeder der Tor zum Einsatz bringen und nutzen will, sollte sich vorher über dessen Funktionsweise, Vor- und Nachteile, sowie Risiken informieren und darüber auch im klaren sein, was genau er tut. So ist es zum Beispiel möglich, dass vertrauliche Informationen trotzdem in falsche Hände gelangen.

Im folgenden wird gezeigt, wie Tor auf einem Ubuntu 10.04 System eingerichtet werden kann. Die Vorgehensweise sollte sich aber relativ leicht auf andere Linux Distributionen wie Debian übertragen lassen.

Das Tor Projekt empfiehlt die Pakete aus Sicherheitsgründen direkt aus dem eigenen Tor Paket-Repository zu nehmen. So soll sichergestellt werden, dass immer die aktuellsten Sicherheitsupdates installiert sind. Dabei bietet es sich an das Repository direkt im System mit anzugeben. Dazu muss entweder die Datei /etc/apt/sources.list mit folgender Zeile erweitert oder eine neue Datei angelegt werden. Bevor dies jedoch gemacht wird, muss DISTRIBUTION durch die aktuelle Distribution erweitert werden.

deb     http://deb.torproject.org/torproject.org DISTRIBUTION main

Für die Übersichtlichkeit ist es jedoch besser eine extra Datei dafür anzulegen. Dies sieht bei Ubuntu 10.04 wie folgt aus.

$ cd /etc/apt/sources.list.d/
$ echo "deb http://deb.torproject.org/torproject.org lucid main" | sudo tee tor.list

Anschließend muss der GPG-Key hinzugefügt werden.

$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 886DDD89

Ist das geschafft, können die Pakete tor und tor-geoipdb installiert werden.

$ sudo apt-get update
$ sudo apt-get install tor tor-geoipdb

Der Dienst sollte jetzt laufen. Es bietet sich an für noch mehr Anonymität einen Proxy wie Privoxy zu verwenden. Jedoch kann auch ein etwas schlankerer Proxy mit einer Caching Funktion verwendet werden. Hierfür könnte zum Beispiel Polipo zum Einsatz kommen.

Die Privoxy Konfiguration /etc/privoxy/config muss für die Verwendung mit Tor um folgende Zeile ergänzt werden.

forward-socks4a / localhost:9050 .

Damit die Änderung wirksam werden muss Privoxy neu gestartet werden.

$ sudo service privoxy restart

Bevor der Web-Browser Tor verwendet, muss der Proxy eingetragen werden.

Damit keine Verbindungen außerhalb von Tor möglich sind, bietet es sich an eine Firewall einzurichten. Diese verwirft alle ausgehenden Pakete, die nicht zu einer bestehenden Verbindung gehören und nicht von einem Prozess vom Nutzer debian-tor ausgehen. Verbindungen können jedoch noch zum Computer aufgebaut werden. So ist es weiterhin möglich sich zum Beispiel per SSH anzumelden. Für einen einfachen Start der Firewall eignet sich ein kleines Skript /etc/init.d/firewall-tor mit folgendem Inhalt.

NETDOWN=yes

PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/lsb/init-functions

do_start () {
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -j ACCEPT -o lo
    iptables -A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT
    iptables -P OUTPUT DROP
    iptables -P INPUT ACCEPT
}

do_stop () {
    iptables -F
    iptables -X
    iptables -P OUTPUT ACCEPT
    iptables -P INPUT ACCEPT
}

case "$1" in
  start)
    do_start
    ;;
  restart|reload|force-reload)
    do_stop
    do_start
    ;;
  stop)
    do_stop
    ;;
  *)
    echo "Usage: $0 start|restart|stop" >&2
    exit 3
    ;;
esac

:

Jetzt kann die Firewall mit den folgenden Befehlen gestartet bzw. angehalten werden.

$ sudo /etc/init.d/firewall-tor start
$ sudo /etc/init.d/firewall-tor stop

Verwandte Artikel