Anonymer Superproxy Drucken E-Mail
Geschrieben von: Administrator   
Mittwoch, 11. April 2007 13:24
In diesem Artikel geht es darum, einen leistungsfähigen, anonymisierenden Proxyserver aufzubauen.

Installations Pakete

Unter Debian / Ubuntu werden folgende Pakete benötigt:

  • tor (zum Anonymisieren im Tor Netzwerk)
  • Privoxy (ein Proxyserver, so dass ein Browser Tor effektiv nutzen kann)
  • Squid (weil Privoxy einige Funktionen fehlen, muss Squid ihm etwas helfen)

Tor Konfiguration

Die Konfiguration erfolgt in der /etc/tor/torrc:

# what port to open for local application connections
SocksPort 9050
# accept connections only from localhost
SocksListenAddress 127.0.0.1

Dabei handelt es sich um die Standardkonfiguration, die Tor nur auf localhost (127.0.0.1)
Port 9050 reagieren lässt. Für unsere Anwendung brauchen wir auch nicht mehr.


Privoxy Konfiguration

Damit Privoxy Tor benutzt, sind folgende Einträge in der /etc/privoxy/config notwendig:

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

Privoxy reagiert ebenfalls nur auf dem Localhost. Hier wird Port 8118 verwendet und alle
Anfragen werden über den Tor Server auf localhost:9050 abgewickelt.


Squid Konfiguration

Squid dient als Proxy, der von den Clients vewendet wird, nur seine Dienste sind im LAN
sichtbar. Mit /etc/squid/squid.conf wird Squid konfiguriert:

http_port 3128 transparent
cache_peer 127.0.0.1 parent 8118 0 no-query
acl our_networks src 192.168.0.0/24 172.16.2.0/24
http_access allow our_networks
via off
access_log none
cache_log none
cache_store_log none

Die Anfragen werden auf Port 3128 erwartet und die IP-Netze im LAN dürfen den Squid nutzen.
Als Uplink wird Privoxy auf localhost:8118 verwendet. Der Proxy erzählt seinem Gegenüber auch
nicht, dass ein Proxy im Spiel ist, die verräterische "via" Zeile existiert nicht mehr. Es gibt keine
Logfiles. Achtung: Der Cache existiert jedoch noch. Damit lässt sich immer noch nachvollziehen,
wer was abgerufen hat.


Transparenter Proxy

Damit man nun nicht im Browser extra einen Proxy einstellen muss, machen wir daraus
einen transparenten Proxy:

iptables -A PREROUTING -i eth0 -s 192.168.0.0/24 \
-p tcp --dport 80 -j REDIRECT --to-port 3128

Alle Anfragen aus dem Netz 192.168.0.0/24 an den Ports 80 werden nun über unseren
anonymisierenden Proxy umgeleitet. Mit Port 443 (https) ist der transparente Proxybetrieb
nicht so ohne weiteres möglich.

 

LAST_UPDATED2