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.
|