HOWTO Anonimiteit met Tor en Privoxy
Uit Gentoo Linux Wiki
Inhoud |
[bewerken] Inleiding
Deze HOWTO legt uit hoe men anoniem over het web can surfen door Tor (TheOnionRouter) en Privoxy te gebruiken.
Tor kan ook gebruikt worden om andere netwerk clients (instant messaging, Usenet, enz) anoniem te laten gedragen. Deze HOWTO legt ook uit hoe je servers opzet om anoniem beschikbaar te zijn door Tor's "verborgen service" mechanisme.
Het gebruik van het Tor-netwerk om grote hoeveelheden data te verplaatsten wordt gezien als niet netjes. Natuurlijk is het mogelijk, maar er word een beroep gedaan op de redelijkheid van de gebruiker. Tor is bedoeld voor tekst en niet voor video's, mp3's, bittorent etc. De makers van Tor nemen geen verantwoordelijkheid voor hetgeen over het tor netwerk wordt verstuurd.
[bewerken] Anoniem surfen op het web
[bewerken] Het Opzetten
Als root:
$ emerge net-misc/tor net-proxy/privoxy
Voeg deze regel toe /etc/privoxy/config (maakt niet uit waar, maar regel 1010 ziet eruit als de juiste plaats):
| File: /etc/privoxy/config |
forward-socks4a / localhost:9050 . |
Aantekening: In de standaard configuratie zal privoxy je oorspronkelijke IP in een http header sturen. Dit verbreekt logischerwijze je anonimiteit als het je publieke IP is. In de actions, laat minstens -add-header en +hide-forwarden-for-headers toe. Je kan dit ofwel in het .actions bestand (lees de handleiding) of, eens privoxy gestart is, via http://config.privoxy.org/show-status.
Opmerking: Dit is nu de standaard configuratie.
Aantekening: Indien je met je proxy wenst te verbinden vanaf andere machines moet je /etc/privoxy/config verder aanpassen. Zoek achter "listen-adress" en lees de uitleg in de aantekeningen.
Het is een gewone configuratie om een proxy in het locale netwerk te hebben die aanspreekbaar is van elke andere host op het netwerk. Dus als je netwerk 192.168.0.0 is en je proxy 192.168.0.1 heeft, gebruik dan:
| File: /etc/privoxy/config |
listen-address 192.168.0.1:8118 |
Start tor:
$ cp /etc/tor/torrc.sample /etc/tor/torrc $ /etc/init.d/tor start
Start privoxy:
$ /etc/init.d/privoxy start
Voeg tor en privoxy toe aan de default runlevel als je ze wilt starten tijdens het booten.
$ rc-update add privoxy default $ rc-update add tor default
Configureer je web browser's http proxy zodat hij naar host: 127.0.0.1 poort 8118 wijst.
- Onder Firefox, ga naar het Edit menu/Preferences/General/Connection (er is ook een uitbreiding voor Firefox hieronder)
- Onder Opera, ga naar het Tools menu/Preferences/Advanced/Network/Proxy Servers
Je zou ook je SSL proxy op dezelfde configuratie moeten zetten, als je je SSL verkeer wilt verbergen.
De Tor mensen adviseren alle protocollen via privoxy te laten gaan, ook als het deze protocollen breekt.
Van de Tor FAQ: [1] "Spijtiggenoeg laat Privoxy alleen http en https toe. Dit betekend dat je Privoxy niet kunt gebruiken om ftp verbindingen te beheren. Erger nog, als je geen enkele proxy specifieerd voor je ftp verkeer zal je browser rechtstreeks verbonden worden met de ftp site. Een webpagina die dus een img link naar een ftp site zet kan dus je echte lokatie onthullen!"
Je bent nu anoniem op het web aan het surfen. Of je hebt allesinds een betere kans op anonimiteit en bent aan het bijdragen tot de ontwikkeling van deze oplossingen - de Tor auteurs benadrukken dat je Tor niet moet betrouwen indien je sterke anonimiteit wilt.
[bewerken] Server
Het is vrij eenvoudig om een server te configuren. Als je jouw node als een server instelt, betekent dat je een router wordt in het netwerk en -naar gelang je instellingen- mogelijk een exit node. Dit betekent, dat je meer bandbreedte zal gebruiken dan bij de client instellingen. Hier staat tegenover, dat je het Tor netwerk helpt en bovendien, dat je meer anonimiteit beter gewaarborgd wordt. Een aanvaller kan namelijk niet zien of een verbinding van jou komt of van iemand anders, die een verbinding via jou maakt.
Hieronder wordt een voorbeeld gegeven van een server configuratie. Je kan verschillende zaken instellen. Zo is het mogelijk om je bandbreedte, die je aan Tor wilt besteden in te stellen. Je kan een zogenaamde "exit policy" opzetten, hiermee geef je aan met welke poorten naar buiten mag worden getreden door jouw node.
| File: /etc/tor/torrc |
## Server configuratie Tor ## De gebruikersnaam vervang deze met een andere naam dan <nickname> Nickname <nickname> ## Vervang deze met je eigen ip-adres Address <0.0.0.0> ## Hiermee kunnen de makers van het Tor netwerk je bereiken, als bijvoorbeeld je server down is. Dit ## doet niets af aan je anonimiteit. ContactInfo <Email@adress> ## Poort van de router. Deze moet van buiten af bereikbaar zijn. ORPort 9001 ## Hierin staat de exit policy beschreven. Voor de meeste servers ## is de standaard policy goed genoeg. De exit policies worden in volgorde afgewerkt. #ExitPolicy reject 0.0.0.0/255.0.0.0:* #ExitPolicy reject 169.254.0.0/255.255.0.0:* #ExitPolicy reject 127.0.0.0/255.0.0.0:* #ExitPolicy reject 192.168.0.0/255.255.0.0:* #ExitPolicy reject 10.0.0.0/255.0.0.0:* #ExitPolicy reject 172.16.0.0/255.240.0.0:* #ExitPolicy accept *:22 # ssh #ExitPolicy accept *:53 # dns #ExitPolicy accept *:80 # http #ExitPolicy accept *:8080 # webcache #ExitPolicy accept *:8081 # tproxy #ExitPolicy accept *:443 # https #ExitPolicy reject *:* # Sta alleen bovengenoemde lijst toe. ## Hier wordt een Bandbreedte, die men aan tor wil besteden, gespecificeerd: BandwidthRate 40 KB # Maximaal 40 Kb/s (Gemiddeld) BandwidthBurst 80 KB # Kortstondig mag dit 80 Kb/s zijn. ## Strip alle identiteits informatie weg SafeLogging 1 |
Zie de manpage van Tor voor meer geavanceerdere opties van Tor.
[bewerken] Gaim en Tor
Wees zeker dat je privoxy en tor gestart hebt zoals hierboven uitgelegd.
In Gaim:
- Ga naar het Tools menu, kies Accounts
- Selecteer het IM protocol dat je anoniem wilt gebruiken
- Klik Modify
- Klik Show more options
- Onder Proxy Options selecteer proxy type SOCKS 5
- Voeg 127.0.0.1 in voor de host
- Voeg 9050 in voor de poort
- Laat user/pass leeg
[bewerken] Andere Netwerk Clients
De bovenstaande methode zal werken met elke netwerk client werken die SOCKS proxy kent, zoals x-chat.
[bewerken] IRSSI
$ torify irssi
Gebruik Tor NIET in met Bittorrent clients! Het Tor netwerk is nog in zijn jonge levensjaren en zal zoveel dataverkeer niet kunnen verwerken.
[bewerken] Firefox Uitbreiding
Er is een handige uitbreiding voor Firefox, Switchproxy Extension, die het wisselen tussen anoniem surfen en surfen met proxy vlot laat verlopen.
[bewerken] Verborgen Services Aanbieden
Een verborgen service is een server op je computer dat je beschikbaar maakt via tor met een .onion top level domein.
Een website die aangeboden word door een verborgen service ziet er zo uit: http://6sxoyfb3h2nvok2d.onion/tor/SocatHelp. Je kan bijvoorbeeld de verborgen Tor wiki benaderen op: http://6sxoyfb3h2nvok2d.onion/tor/
Je kan verborgen services aanbieden terwijl tor als een client of server aan het draaien is.
Om je webserver anoniem aan te bieden moet je ~/.tor/torrc aanpassen en in het 'hidden services' gedeelte deze lijnen toevoegen:
| File: ~/.tor/torrc |
HiddenServiceDir ~/apache_hidden/ HiddenServicePort 80 127.0.0.1:80 |
Maak nu ~/apache_hidden aan en start tor. Zoek in het bestand ~/apache_hidden/hostname naar het .onion adres dat je wilt gebruiken.
[bewerken] Niet-HTTP Service
Wanneer tor en privoxy gebruikt worden wordt het aanbieden van verborgen services voor web servers gemakkelijk, maar wat als je een niet-http services wilt beschikbaar maken?
Stel je hebt een mud server lopen op poort 5454 en wilt deze beschrikbaar maken als een verborgen service. Volg de bovenstaande stappen, maak in de plaats een map met de naam ~/mud_hidden/ aan.
Om aan je mud te geraken zouden mensen het adres 34vss3f3tohrri.onion:5454 gebruiken. Maar telnet can de .onion namespace niet gebruiken, dus moeten we socat gebruiken.
$ emerge net-misc/socat $ socat TCP4-LISTEN:2222,fork SOCKS4A:localhost:34vss3f3tohrri.onion:7878,socksport=9050
Nu kan je het testen door te telnet'en naar localhost: 2222. doe dit vanaf een andere machine om er zeker van te zijn dat dit anoniem gebeurd.
[bewerken] Aantekening voor Client/Server
Al de bovenstaande stappen zullen tor enkel starten als client. Met andere woorden je zult geen node zijn en 20 gigabyte aan bandbreedte per maand verbruiken, enkel wat je normaalgezien zou verbruiken indien je op het web surft. Als server is de belasting van je verbinding groter. Echter als server is de anonimiteit beter gewaarborgt, doordat er meer verkeer door je node stroomt.
[bewerken] Start Opties
Tor starten met de --runasdaemon 1 optie zal het als daemon mode starten, losgekoppeld van de huidige terminal. Dit kan ook gespecifieerd worden in het config bestand als volgt:
| File: ~/.tor/torrc |
RunAsDaemon 1 |
Er is nu een initscript beschikbaar voor Tor. Om Tor te doen starten bij boot, moet je als root het volgende intypen:
$ rc-update add tor default
[bewerken] Configureer sommige Applications Automatisch
Om programma's dat http gebruiken zoals wget, lynx, curl enz. automatisch tor te laten gebruiken moet men het volgende toevoegen in ~/.profile of in ~/.bashrc:
| File: ~/.profile or ~/.bashrc |
http_proxy=http://127.0.0.1:8118/ HTTP_PROXY=$http_proxy export http_proxy HTTP_PROXY |
[bewerken] Privoxy Config
Je kan de privoxy web configuratie bereiken op http://config.privoxy.org/ wanneer privoxy gestart is.
[bewerken] Aantekening betreffende snelheid
Door een proxy surfen zal je verbinding vertragen. Het is geen goed idee om tor te gebruiken met wget (wat gebruikt wordt door emerge).
Om de proxy voor wget af te zetten moet men #use_proxy = on veranderen naar use_proxy = off in /etc/wget/wgetrc, ongeveer rond rij 80.
[bewerken] Troubleshooting
De bovenstaande stappen zouden moeten werken voor de meeste machines. Indien je strikte firewall rules hebt moet je locale connecties toestaan naar poort 8118 en poort 9050. Als je firewall uitgaande verbindingen blokkeerd, sla er dan een gat in zodat je kan verbinden naar TCP poorten 80, 443 en 9001-9033.
Ik merkte ook op dat
| File: /etc/privoxy/config |
listen-address localhost:8118 |
kan veranderd zijn naar
| File: /etc/privoxy/config |
listen-address 127.0.0.1:8118 |
om te werken, mogelijk omdat /etc/hosts ontbreekt in de localhost entry.
[bewerken] References
Bemerkingen of complimenten? Gelieve de Overleg sectie te gebruiken.
