HomePage .:.   Forum .:.

P2P Sicuro

ANts P2P
FreeNet
MUTE

P2P Classico

Azureus / Vuze
BitTorrent
Direct Connect
eDonkey2000
eMule

eMule Plus

IRC

Shareaza

SoulSeek
Tribler
 
Guide
Guide ed articoli

GrabIt

PeerGuardian 2
 

P2P Download

Software P2P

 

.: Siti Partners :.

WinMX Italia

P2PForum.it

eMule-italia.it

edonkey2000.it

aresgalaxy.it

limewire.it

Software per P2P

 

 

Azureus   . Azureus anonimato e Tor

 

Come  configurare Azureus per usarlo con Tor

P2PSicuro.it - P2Pforum.it

Introduzione

Sebbene sia stato già detto altrove. Non usate software p2p per il download attraverso la rete di Tor perché non sarebbe in grado di gestire tanto traffico. Se la gente continuerà a farlo allora Tor comincerà a bannare tale traffico il che danneggerà l'uso leggittimo. (come indicato sotto).

Dal sito web di Tor (http://www.freehaven.net/tor):

 

Tor: è una rete di copertura sul protocollo TCP per raggiungere l'anonimato 

Tor è un sistema di comunicazione a bassa latenza che protegge i flussi TCP:  navigazione web, messaggistica istantanea, irc, ssh, etc.

Questo documento contiene una anteprima di come impostare un client Bittorrent Azureus (http://azureus.sourceforge.net/) per usare Tor per le comunicazioni dati sia del tracker che dei peer.

Si consiglia di usare Tor solo per i Tracker per via dei limiti della rete Tor, tuttavia si spera che questa limitazione sarà lasciata perdere in futuro (Nota tuttavia che l'uso del superseeding all'interno di Azureus è un modo efficiente di distribuire dati ad una swarm e può essere usato da Tor con poco impatto sulla rete)

 Cioé non effettuate normali comunicazioni dati su Tor poiché al momento la rete non reggerebbe il carico. Le uniche configurazioni supportate sono:

 

1)      I Tracker con client pubblici (4.1.1). Tutte le parti devono eseguire Tor.

2)      Rendere anonimo il seed iniziale (4.3.2) Solo il client in seeding ha bisogno di eseguire Tor.

 

Tor è ancora in fase sperimentale, le versioni precedenti alla 1.0 non dovrebbero essere usate li dove occorre mantenere un anonimato elevato!

 Nei diagrammi che seguono la 'rete anonima' rappresenta Tor, l'area esternamente denota la rete pubblica.

IP <x> rappresenta un indirizzo IP (o il corispondente nome DNS)

HS <y> rappresenta il nome di un Servizio Tor Nascosto (HS = Hide Service, servizio nascosto in inglese)

Ogni comunicazione dati che va attraverso la Rete Anonima richiede che una o entrambe le parti in gioco nella comunicazione eseguano Tor. La sorgente di questa connessione deve averlo in esecuzione. Chi riceve  la connessione, quando parliamo di servizi nascosti deve ugualmente averlo in esecuzione. 


2.1      BitTorrent Totalmente Pubblico

 

Azureus Tor Rete Anonima

2.2      BitTorrent Totalmente Anonimo

3         Versioni dei Software

3.1      Azureus

E' richiesta la versione 2.2.0.0 o più grande

3.2      Tor

Versione 0.0.9pre4 o superiore

4         Configurazioni

Tor usa 'hidden 'service' per offrire un servizio anonimo. Un tale servizio è definito nel file di configurazione di Tor aggiungendo linee della forma

HiddenServiceDir <directory name>

 HiddenServicePort <exposed port> <local intf>:<local port>

 

Per esempio:

 

HiddenServiceDir /Tor/bttracker

HiddenServicePort  6969 127.0.0.1:10069

 Questo dichiara a Tor che c'è un servizio nascosto sulla porta 6969, le connessioni al quale dovrebbero essere fatte passare attraverso l'interfaccia di loopback sulla porta 10069 (il numero di porta potrebbe essere lo stesso se necessario)

 Quando Tor è avviato, incontrando un nuovo servizio nascosto genererà alcuni file nella cartella specificata (nell'esempio di sopra /Tor/bttracker/). Il file importante per configurare Azureus è 'hostname'. Questo contiene il nome anonimo del servizio come viene reso disponibile sulla rete di Tor. Per esempio

 

k61234567895ivw.onion

 

Questo non è un nome DNS valido e perciò non può essere usato direttamente. Piuttosto, per usarlo occorre che venga risolto dalla rete di Tor. Tor ha un meccanismo di incontro dove chi pubblica un servizio ed il client che vuole connettersi ad esso si incontrano anonimamente da qualche parte sulla rete di Tor cosicché ciascun estremo della connessione non sa nulla sull'altro.

Per fare in modo che le normali applicazioni possano entrare nella rete di Tor, Tor si comporta da proxy SOCKS. Per permettere al proxy di gestire la risoluzione degli indirizzi del servizio c'è bisogno del SOCKS 4.a (anche la versione 5 può supportare il servizio ma la 4a èla scelta ottimale). Questo perché la versione originale 4 può solo ricevere indirizzi IP come indirizzi finali piuttosto che i nome DNS necessari

Non usate gli indirizzi di hidden service in questo documenti, usare quelli generati per voi quando eseguite Tor!!

4.1      Server Tracker Anonimo

4.1.1      Client pubblici

I client pubblici sono client 'normali' nel senso che pubblicano i loro indirizzi IP normali sul tracker. Perciò la comunicazione dati peer-to-peer avviene attraverso Internet, non su Tor e non è anonima 

4.1.1.1  Configurazione

Data la discussione generale di sopra dovrebbe essere abbastanza chiaro come configurare un tracker anonimo. Da notare che in questo caso non occorre creare connessioni in uscita dal tracker attraverso il proxy Tor, per cui non occorre configurare nessun proxy Tor.

4.1.1.1.1   Tor

Aggiungere il servizio nascosto (hidden service) per il tracker per esempio così
 

HiddenServiceDir /Tor/bttracker

HiddenServicePort  6969 127.0.0.1:10069

 

nel file di configurazione ed avviare Tor

4.1.1.1.2   Azureus

Estraete il nome del servizio nascosto dal file 'hostname' per il servizio 'bttracker' (nell'esempio di sopra si trova in /Tor/bttracker/hostname) per esempio 

k61234567895ivw.onion

ed inserite questo nel campo  “tracker external IP address” nel campo relativo della configurazione del server di Azureus. Se è stata selezionata una porta diversa dalla 6969 come porta locale per il tracker allora occorrerà configurare questa - nell'esempio di sopra dovrà essere impostata a 10069

Il tracker può essere anche configurato per funzionare su protocollo HTTPS (SSL) e protetto da password se necessario.

Nota che il tracker funzionerà normalmente sulla porta 10069 (in questo esempio) e sarà quindi contattato esternamente con il normale protocollo del tracker. Per cui è necessario bloccare questa porta per impedire l'accesso pubblico usando un firewall o un router.

4.1.2      Client Anonimo

In questo caso il tracker supporta lo scambio dati anonimo tra i peer, e per fare questo i peer pubblicano i loro hidden service sul tracker. Poiché sono nomi DNS non risolvibili il tracke ha bisogno di essere configurato per usare il form originale del protocollo di annuncio. Questo supporta il passaggio di nomi non risolvibili al client (in contrasto al più recente protocollo 'compatto' che restituisce solo indirizzi IP risolti)

Il diagramma di seguito riguarda il BitTorrent completamente anonimo di cui parlavamo sopra4.1.2.1  Tor

Configuralo come sopra per i peer pubblici

4.1.2.2  Azureus

Configura il server tracker per non supportare il protocollo compatto

4.1.3      Creazione del torrent

Dato l'indirizzo del tracker configurato sopra, il wizard 'crea Torrent' avrà di default il corretto URL di annuncio per il tracker (nell'esempio di sopra http://k61234567895ivw.onion:6969/announce).

4.1.4      Impostare un browser per vederele pagini del tracker

Per navigare all'interno delle pagina del browser anonimo è possibile usare un altro proxy HTTP come Privoxy  (http://www.privoxy.org) per proxare l'HTTP nel proxy do Tor. Configura il tuo browser con un proxy HTTP di 127.0.0.1 sulla porta 8118. Modifica il file di configurazione Privoxy per fargli contenere

 

forward-socks4a / localhost:9050 .

 

Nota il punto “.” alla fine della linea, è molto importante!

 Adesso puoi navigare sul tracker per esempio andando alla pagina http://k61234567895ivw.onion:6969/. Il sistema funziona in modo che il browser invii le richieste a Privoxy sulla porta 8181. Privoxy trasforma queste richieste in richieste Sock 4a e la richiesta viene proxata sulla rete di Tor (il proxy di Tor è in esecuzione sulla porta 9050 di default). La rete di Tor infine risolvere il servizio nascosto e si connette al tracker richiesto.

 

4.2      Client tracker Anonimo

Affinché un client Azureus sia in grado di usare un tracker anonimo, anche il client deve eseguire un Tor proxy ed occorre configurare Azureus affinché proxy le comunicazioni del tracker attraverso di esso.

4.2.1      Tor

Non è richiesta una particolare configurazione, basta avviare il proxy Tor sulla porta di default del SOCKS ovvero la 9050.

4.2.2      Azureus

Configura il proxy di connessione per il tracker per farlo essere un proxy Socks di 127.0.0.1 porta 9050 (seleziona “enable proxyingof tracker” e “I have a SOCKS proxy”) Non configurare il secondo proxy, il data proxy poiché non sono necessari per accedere al tracker anonimo.

4.3      Dati Peer in uscita anonimi, Tracker pubblico

E' possibile connettersi ad un tracker pubblico ed inviare/ricevere dati peer anonimamente (sebbene connessioni interne dagli altri peer verso la tua macchina non siano supportate). Questo trae vantaggio della funzionalità 'out proxy' di Tor dove possono essere rese anonime connessioni verso normali indirizzi IP/nomi dominio. A causa della natura 'in uscita' del trasferimento dati questo sistema non è valido in generale (dopotutto se nessuno accetta connessioni in ingresso non ci sarebbe nessuno a cui connettersi) ma può essere usato per seedare in modo anonimo una copia iniziale di qualcosa (in particolare in modalità supernodo). Ci sono due varianti di questo approccio.

4.3.1      Connessione pubblica al tracker

Qui la connessione al tracker è stabilita attraverso Internet e in modo tale che il reale indirizzo IP del client è pienamente visibile. Il client deve essere configurato per non ricevere connessioni in ingresso, o fornendo una porta di dati in ingresso su 0, oppure attraverso una giusta configurazione del firewall.

Tuttavia le connessioni dati vengono instradati attraverso Tor. 

E' necessario comprendere il concetto di 'peer ID'. Normalmente un client BitTorrent  costruisce un peer id unico per un dato download, questo viene comunicato al tracker e agli altri peer per la connessione. L'uso dello stesso valore parmette la connessione tra l'indirizzo IP pubblico del client e l'indirizzo anonimo del traffico dati da stabilire, violando l'anonimato.. E' perciò necessario configurare Azureusper usare diversi valori. In origine le specifiche di BitTorrent assumevano che quando un client si connetteva ad un altro client doveva verificare che il peer id usato dall'altroclient coincidesse con quello registrato per quel client con il traffico. Tuttavia questa verifica non è eseguita da Azureus e dalla maggior parte dei client, soprattutto dopo l'avvento del protocollo di annuncio compatto poiché questo non restituisce nemmeno il peer id ai cllient.

 

4.3.1.1  Tor

Non è richiesta nessuna configurazione, basta eseguire Tor sulla porta SOCKS di default 9050

4.3.1.2  Azureus

Configurare la porta dati in ingresso per farla essere 0, o usare metodi alternativi per assicurare che non vengano accettate connessioni in ingresso dagli altri peer.

Configurare il proxy dato affinché sia 127.0.0.1 porta 9050 versione 4a (nota che il campo “inform tracker of limitation” forzerà automaticamente la porta dati in ingresso ad essere impostata su 0. Alcuni tracker non accettano 0 come porta valida, di qui la necessità di impostare una porta diversa da chiudere poi col firewall o col router. Se lasci la porta dei dati in ingresso aperta allora gli altri client saranno in grado di connettersi a te usando il tuo reale indirizzo IP e si perde l'anonimato.

Seleziona e spunta il campo “use different peer identities for tracker and data comms
 

4.3.2      Connessione al tracker anonima

E' tutto uguale a sopra tranne per il fatto che la connessione al tracker avviene attraverso Tor. E' un approccio da preferire poiché il reale indirizzo IP deli client non è visibile al tracker, tuttavia potrebbe non funzionare per i tracker che richiedono la registrazione di indirizzi IP dei client, per esempio.

Configura allo stesso modo di sopra tranne per l'abilitazione del proxy Http in Azureus agginché sia un proxy sock su 127.0.0.1 porta 9050
 

4.4      Dati Peer in ingresso Anonimi, Tracker Pubblico

Per accettare connessioni anonime in ingresso è necessario per il client definire un URL servizio nascosto nello stesso modo in cui è stato definito il servizio nascosto del tracker. Questo permette agli altri client che hanno abilitato Tor di connettersi a te in modo anonimo. Affinché questo funzioni occorre che il tracker usato supporti il protocollo di annuncio non compatto poiché gli indirizzi di servizio nascosto sono registrati col tracker.

Naturalmente se si esegue una connessione non anonima col tracker questo conoscerà l'associazione tra il reale indirizzo ip del client e l'indirizzo del servizio nascosto il che fa cadere l'anonimato. Quindi occorre usare una connessione anonima al tracker.

 

Assumendo che sia questo il caso occorre la seguente configurazione

4.4.1      Tor

Aggiungi il servizio nascosto per i dati peer in ingresso, per esempio

 

HiddenServicedir /Tor/btdata

HiddenServicePort  6881 127.0.0.1:6881

 

al file di configurazione ed avvia Tor

4.4.2      Azureus

Configura il proxy HTTP come per 'la connessione anonima tracker' vista sopra

Procurati l'indirizzo del servizio nascosto (nel nostro esempio /Tor/btdata/hostname. Per esempio

 

 

l69876543215ivq.onion

 

e configura con questo valore il campo  “override IP address sent to tracker”

Per essere in grado di ricevere connessioni in ingresso, deselezionate il campo “inform tracker of limitation” nella sezione Connection data proxy

 

4.5      Dati Peer Anonimi, Tracker anonimo

Questa è la configurazione migliore per l'anonimato. Ogni peer deve definire un servizio nascosto per accettare connessioni in ingresso. Tutti i tracker ed i dati peer sono instradati in modo anonimo attraverso Tor

La configurazione è esattamente la stessa come per il tracker pubblico, tranne che per il fatto che il tracker è configurato per agire come tracker anonimo!


4.6      Eseguire Azureus come Tracker e Client allo stesso tempo

Azureus può essere  eseguito come tracker e client allo stesso tempo, infatta la funzionalità di condivisione è progettata nello specifico per questo e consente di pubblicare una risorsa sul tracker e seedarla con una sola operazione

Eseguire questa operazione nell'anonimato richiede che Azureus sia configurato per essere sia un tracker anonimo che un client anonimo. 

4.7      Esecuzione

4.7.1      Tor

Se il file di configurazione si chiama 'torrc0, parti con (per esempio)

Tor-009pre4.exe -f torrc

4.7.2      Azureus

Avvialo normalmente

 

^Top^