Good to Know Database

CentOS 5: Tor und Privoxy einrichten


1. Einleitung

Immer mehr Webseiten speichern die IP-Adressen und weitere Informationen zur Ermittlung des Surfverhaltens des Besuchers. Man kann damit zwar noch nicht ermitteln wer genau auf die Internetpräsenz zugreift, allerdings kann im Ernstfall Ihr Provider die genutzte IP-Adresse Ihrem Namen zuordnen.

Eine Lösung für dieses Problem sind die Programme Tor und Privoxy. Normalerweise baut Ihr Browser eine direkte Verbindung zum Webserver auf, mit Hilfe eines Tor-Clients wird die Anfrage zu einer Webseite über verschiedene weltweit verteilte Tor-Server geleitet. Diese Tor-Server sind die Knotenpunkte im Tor-Netzwerk welche man auch als Nodes oder Onion-Router bezeichnet. Der so genannte Exit-Node ist der letzte Knotenpunkt in der Reihe welcher dann die Verbindung zum Zielserver aufbaut.

Da Tor keine DNS-Namen auflösen kann, werden diese an den DNS-Server Ihres Providers geschickt um die Adresse des Zielservers zu ermitteln. Somit könnte jemand beim Auswerten der Logfiles des DNS-Servers ermitteln auf welche Seiten Sie zugegriffen haben.
Um auch diese Gefahr zu umgehen können Sie mit Privoxy Ihren eigenen Proxy einrichten. Im Gegensatz zu anderen Proxy-Servern welche Socks4 oder Socks5 verwenden, verwendet Privoxy Socks4a wodurch man nicht erst den DNS-Namen in die IP-Adresse auflösen muss. Ein weiterer Vorteil von Privoxy ist, dass persönliche Header-Informationen in den HTTP-Requests herausgefiltert werden.

Im folgenden Tutorial möchte ich Ihnen deshalb zeigen wie Sie einen Tor-Client und einen Privoxy-Server auf einem CentOS 5 Server einrichten und diesen dann von jedem Client in Ihrem Netzwerk zum Surfen benutzen können.

2. Tor installieren und konfigurieren

Da es in den CentOS 5 Repositories kein RPM-Paket mit Tor gibt, werden wir Tor aus dem Quellcode kompilieren und installieren. Zuvor müssen Sie einige Abhängigkeiten erfüllen, damit die nachfolgende Installation problemlos verläuft.

[root@centos5 ~]# yum install gcc make libevent libevent-devel openssl openssl-devel

Wechseln Sie jetzt in das Verzeichnis /usr/src, laden das Archiv mit dem Quellcode herunter und entpacken diesen.

[root@centos5 ~]# cd /usr/src/
[root@centos5 src]# wget http://www.torproject.org/dist/tor-0.2.1.26.tar.gz
[root@centos5 src]# tar xfz tor-0.2.1.26.tar.gz
[root@centos5 src]# cd tor-0.2.1.26

Im Quellcode-Verzeichnis führen Sie das Configure-Skript wie folgt aus.

[root@centos5 tor-0.2.1.26]# ./configure --bindir=/usr/bin --sysconfdir=/etc

Danach kompilieren Sie den Quellcode und installieren Tor.

[root@centos5 tor-0.2.1.26]# make && make install

Damit Tor nicht mit Root-Rechten ausgeführt wird, erstellen wir eine eigene Gruppe und einen eigenen Benutzer für Tor.

[root@centos5 ~]# groupadd -r tor
[root@centos5 ~]# useradd -r -g tor -s /bin/false -c "tor" tor

Anschließend erstellen Sie eine Konfigurationsdatei für Tor. Eine Beispielkonfiguzrationsdatei finden Sie unter /etc/tor/torrc.sample.

[root@centos5 ~]# vi /etc/tor/torrc

Die hier verwendete Konfigurationsdatei sieht wie folgt aus.

SocksPort 9050
SocksListenAddress 127.0.0.1
RunAsDaemon 1
Log warn syslog
DataDirectory /var/lib/tor/.tor
User tor

Nachdem Sie die Konfigurationsdatei erstellt haben, erstellen Sie das Arbeitsverzeichnis (DataDirectory) und passen die Zugriffsrechte entsprechend an.

[root@centos5 ~]# mkdir -p /var/lib/tor
[root@centos5 ~]# chown tor:tor /var/lib/tor/
[root@centos5 ~]# chmod 0700 /var/lib/tor/

Damit Sie Tor später wie einen Service starten, stoppen und neu starten können, erstellen Sie ein Init-Skript.

[root@centos5 ~]# vi /etc/rc.d/init.d/tor

Kopieren Sie den folgenden Code in Ihr Init-Skript.

#!/bin/sh
# chkconfig: - 99 01
# description: An anonymizing overlay network for TCP.

. /lib/lsb/init-functions

prog="/usr/bin/tor"
opts=--quiet
lockfile=/var/lock/subsys/tor
pidfile=/var/run/tor/tor.pid

start() {
  echo -n $"Starting $prog: "

  start_daemon $prog --PIDFile "$pidfile" $opts
  rc=$?
  if test $rc -eq 0 && touch $lockfile ; then
    log_success_msg
  else
    log_failure_msg
  fi

  return $rc
}

stop() {
  echo -n $"Stopping $prog: "
  killproc $prog -INT && log_success_msg || log_failure_msg
  rm -f $pidfile $lockfile
}

restart() {
  stop
  start
}

reload() {
  echo -n $"Reloading $prog: "
  killproc $prog -HUP && log_success_msg || log_failure_msg
}

status() {
  pidofproc -p "$pidfile" "$prog" >/dev/null 2>&1
  rc=$?
  case $rc in
    (0) echo $"$prog is running";;
    (1) echo $"program is dead and pid file $pidfile exists";;
    (2) echo $"program is dead and lock file $lockfile exists";;
    (3) echo $"program is not running";;
    (4) echo $"program or service status is unknown";;
    (*) echo $"status $rc of $prog";;
  esac

  return $rc
}

case $1 in
  (start|stop|reload|status|restart)
    $1
    ;;
  (force-reload)
    restart
    ;;
  (condrestart|try-restart)
    if [ -f $lockfile ]; then
      restart
    fi
    ;;
  (*)
    echo $"Usage: $0 {start|stop|force-reload|reload|try-restart|status}"
    exit 3
esac

Nachdem das Init-Skript erstellt wurde, müssen Sie die Zugriffsberechtigungen der Skriptdatei noch ändern und das Verzeichnis für die PID-Datei erstellen.

[root@centos5 ~]# chmod 0755 /etc/rc.d/init.d/tor
[root@centos5 ~]# mkdir -p /var/run/tor/
[root@centos5 ~]# chown tor:tor /var/run/tor/

Mit den folgenden Befehlen erstellen Sie danach den Service und aktivieren ihn im Runlevel 3 und 5.

[root@centos5 ~]# chkconfig --add tor
[root@centos5 ~]# chkconfig --level 35 tor on

Der soeben erstellte Service kann jetzt gestartet werden.

[root@centos5 ~]# service tor start

Sollte es Probleme mit Tor geben, hilft Ihnen ein Blick in die Logdatei /var/log/messages weiter.

[root@centos5 ~]# tail -f /var/log/messages

3. Privoxy installieren und konfigurieren

Privoxy können Sie mit dem folgenden Befehl direkt aus den CentOS 5 Repository installieren.

[root@centos5 ~]# yum install privoxy

Anschließend müssen Sie die Privoxy-Konfigurationsdatei /etc/privoxy/config anpassen.

[root@centos5 ~]# vi /etc/privoxy/config

Fügen Sie die beiden folgenden Zeilen in die Konfigurationsdatei ein. Als listen-address geben Sie die IP-Adresse Ihrer Netzwerkkarte an, welche die Verbindung zum internen Netzwerk herstellt und auf welcher der Proxy-Dienst laufen soll.

listen-address 192.168.10.1:8118
forward-socks4a / 127.0.0.1:9050 .

Nachdem Sie die Konfigurationsdatei erweitert haben, starten Sie den Privoxy-Daemon.

[root@centos5 ~]# service privoxy start

Damit bei einem Neustart der Privoxy-Daemon automatisch gestartet wird, aktivieren Sie diesen mit dem folgenden Befehl in den Runlevel 3 und 5.

[root@centos5 ~]# chkconfig --level 35 privoxy on

Bei Problemen mit Privoxy überprüfen Sie die Logdatei /var/log/privoxy/logfile.

[root@centos5 ~]# tail -f /var/log/privoxy/logfile

Sollten Sie die Firewall aktiviert haben, müssen Sie den TCP-Port 8118 öffnen. Dazu rufen Sie das Firewall-Konfigurationstool auf und tragen privoxy:tcp als weiteren Port ein.

[root@centos5 ~]# system-config-securitylevel-tui

4. Firefox konfigurieren

In diesem Abschnitt möchte ich Ihnen zeigen wie Sie Ihren Proxy-Server in Firefox eintragen können. Dazu starten Sie auf einem Client Firefox und öffnen über das Menü Extras die Einstellungen. Im Register Erweitert öffnen Sie den Reiter Netzwerk und klicken im Bereich Verbindung auf den Button Einstellungen.... Aktivieren Sie jetzt die Manuelle Proxy-Konfiguration und tragen die IP-Adresse Ihres Servers ein (hier ist das die 192.168.10.1). Danach müssen Sie noch den Port von Privoxy eintragen welcher normalerweise 8118 ist. Sollte das Kästchen Für alle Protokolle diesen Proxyserver verwenden nicht aktiviert sein, sollten Sie dieses aktivieren. Da jetzt alle Anfragen über den Proxy geleitet werden, ist es nicht mehr möglich auf die Intranetseite auf Ihrem Server oder auf die Konfigurationsseite Ihres Routers zuzugreifen. Aus diesem Grund sollte man in das Feld Kein Proxy für noch das lokale Subnetz sowie den Domainnamen eintragen. Das könnte dann zum Beispiel wie folgt aussehen.

localhost, 127.0.0.1, 192.168.10.0/24, .home.lan

Wenn Sie alle Einstellungen vorgenommen haben, bestätigen Sie diese und kehren in das Browserfenster zurück. Zum Überprüfen ob Ihre Einstellungen richtig sind und ob auch das Tor-Netzwerk benutzt wird, rufen Sie einfach http://www.wieistmeineip.de auf. Sollten Sie alles richtig konfiguriert haben, wird Ihnen auf dieser Webseite eine IP angezeigt welche nicht Ihre eigene Internet-IP-Adresse ist. Sollten Sie Ihre momentane Internet-IP-Adresse nicht kennen, können Sie die Proxy-Einstellungen kurz deaktivieren und die Seite erneut aufrufen. Weiterhin ist Ihnen sicher aufgefallen das sich das angezeigte Land ändern kann. Wie bereits Eingangs erwähnt, gibt es weltweit Tor-Nodes welche auch als Exit-Node dienen. Ihre Webanfrage kann also um die ganze Welt gehen bevor eine Verbindung zum Zielserver aufgebaut wird.

Wie Sie sicher festgestellt haben hat dies den Nachteil, dass die Anfragen länger dauern und somit der Browser länger braucht um die Webseite zu landen. Da nicht immer eine anonyme Verbindung benötigt wird, können Sie sich zum Beispiel die Firefox-Erweiterung QuickProxy (https://addons.mozilla.org/firefox/1557/) installieren. Nach der Installation sehen Sie in der rechten unteren Ecke ein kleines Icon mit welchem Sie bei Bedarf die Proxy-Einstellungen aktivieren und deaktivieren können.


Dieser Eintrag wurde am 23.05.2009 erstellt und zuletzt am 16.02.2013 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_627.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer