TOR (“The Onion Router“), noto servizio che consente di trasmettere e ricevere dati in forma anonima attraverso la Rete, è da tempo un “sorvegliato speciale” negli Stati Uniti ed oggetto di tentativi di censura in molteplici nazioni governate da regimi dittatoriali.
Negli USA c’è grande fermento, in queste settimane, per la possibile approvazione di una normativa (SOPA) che, secondo molti esperti, potrebbe rappresentare una concreta minaccia per Tor (ved. questo articolo).
In un’analisi pubblicata sul sito ufficiale del progetto Tor, il team di sviluppo del prodotto ha reso pubblico il tentativo, da parte della autorità iraniane, di bloccare il traffico riferibile all’utilizzo del servizio. Stando a quanto dichiarato sul sito ufficiale di Tor, nei mesi scorsi il governo iraniano avrebbe messo in atto un’operazione censoria ai danni del servizio introducendo una nuova policy sui cosiddetti “border router”, responsabili dell’instradamento di grandi quantitativi di traffico da e verso la nazione islamica. Gli amministratori del progetto Tor, come abbiamo riferito in questa pagina, hanno però prontamente reagito al tentativo di censura aggiungendo che provvederanno ad individuare, nel breve e nel lungo periodo, soluzioni ancor più efficaci.
Ma cos’è Tor e perché, ultimamente, viene sempre più spesso ostacolato? La risposta è piuttosto semplice se si parte da una falsa credenza comune a molti utenti. La rete Internet, di per sé, non offre alcun livello di anonimato. Tutte le operazioni che si compiono online lasciano tracce in molti punti: i provider Internet sono obbligati a conservare i log degli accessi per un periodo non inferiore a due anni, i server web che ospitano i siti visitati tengono anch’essi traccia dei client via a via connessi, per non parlare di ciò che accade tra l’origine e la destinazione dei pacchetti dati.
Ecco che entra in gioco Tor, un sistema di comunicazione che protegge gli utenti dall’analisi del traffico attraverso l’impiego di un network di onion router gestiti da volontari. Utilizzando Tor, il traffico dati non transita quindi più direttamente da client a server e viceversa ma passa attraverso dei router che costituisconio un “circuito virtuale” crittografato a strati (da qui il termine “onion” che in italiano è traducibile col termine “cipolla“). Dal momento che tutte le informazioni vengono dinamicamente cifrate, nessun osservatore posto in un qualunque punto del “tragitto”, è in grado di conoscere l’origine o la destinazione dei pacchetti dati.
Come “valore aggiunto”, la rete alla base del funzionamento di Tor garantisce una bassa latenza nella trasmissione e nella ricezione dei dati. Tor può essere utilizzato per “anonimizzare” qualunque tipo di servizio: dalla semplice navigazione sul web, alla posta elettronica, passando per la messaggistica istantanea, per le connessioni SSH e così via.
Tutti i pacchetti dati si compongono di due parti: il “payload”, ossia le informazioni tra veicolare, e un’intestazione usata per scopi di routing ovvero per indirizzare il dato verso la corretta destinazione. Anche nel caso in cui si provveda a crittografare il “payload”, effettuando un’analisi del traffico, dall’esame delle intestazioni qualcuno potrebbe comunque riuscire a carpire un buon numero di informazioni sulle attività che si stanno espletando.
Tor si preoccupa di ridurre i rischi di “intercettazione” distribuendo la richiesta dell’utente attraverso diversi sistemi in Rete in modo che nessun nodo possa mettere in correlazione diretta la reale sorgente dei pacchetti dati con la destinazione. L’idea è quella di usare sempre un percorso estremamente variabile, molto difficile da ricostruire. Anziché collegare in modo diretto la sorgente con la destinazione dei dati, i pacchetti – sulla rete Tor – seguono un percorso casuale attraverso router che celano le tracce della comunicazione in modo tale che nessun osservatore esterno possa stabilire da dove proviene un pacchetto e dove è destinato.
Il software Tor, installato sui sistemi client, negozia periodicamente un circuito virtuale attraverso più nodi della rete, fino alla destinazione finale. L’uso della crittografia a strati permette di ottenere il massimo livello di segretezza. In più, ogni singolo onion router decide a quale nodo della rete inviare i pacchetti e negozia una coppia di chiavi crittografiche per spedire i dati in modo sicuro. A non essere cifrata è solamente la comunicazione che viene instaurata fra l’ultimo nodo Tor e la destinazione finale. Purtuttavia, se la destinazione fosse a sua volta un relay Tor, l’intera comunicazione sarebbe completamente cifrata sottraendosi all’analisi di un eventuale osservatore posto nella tratta finale del circuito.
Tor è disponibile in diverse versioni: quelle più importanti sono due ossia “Tor Browser Bundle” e “Vidalia Bundle” (entrambe sono scaricabili, nelle versioni per i vari sistemi operativi, facendo riferimento a questa pagina).
“Tor Browser Bundle” è un pacchetto “portabile” che non necessita di alcun tipo di configurazione per poter funzionare. Esso include infatti una versione “personalizzata” del browser Mozilla Firefox che si connette alla rete passando per il proxy locale (127.0.0.1) SOCKS:
Per utilizzare la versione di Firefox con Tor “integrato”, è sufficiente fare doppio clic sul file tor-browser-*_it.exe
indicando una cartella ove estrarre i file dell’applicazione.
Il pacchetto d’installazione “Vidalia Bundle“, invece, è il software più generico che oltre all’applicazione Tor in sé contiene altri software addizionali quali Vidalia (un’interfaccia grafica), Polipo (un web proxy) e Torbutton (plugin pensato per l’impiego con il browser Mozilla Firefox che consente di attivare o disattivare Tor, rapidamente, con un semplice clic del mouse dalla barra degli strumenti).
Se non si utilizza Firefox come browser web preferito, durante l’installazione di Vidalia Bundle, è possibile disattivare la casella Torbutton:
Alla fine dell’installazione, avviando l’interfaccia grafica di Tor si otterrà una finestra simile a quella rappresentata in figura:
Dopo alcuni secondi di attesa si dovrebbe ottenere il messaggio “Connesso alla rete Tor“:
Il pulsante Configurazione del relaying consente di stabilire se Tor dovrà essere usato solo come client (impostazione predefinita) oppure se il proprio sistema debba essere messo a disposizione degli altri utenti come un nodo vero e proprio del network.
Cliccando su Usa una nuova identità è possibile richiedere, in qualunque momento, la creazione di un nuovo circuito virtuale.
Il pulsante Mostra la rete consente di ottenere un’idea di quali e quanti nodi compongono la rete Tor: si noterà come i relay siano sparsi in tutto il mondo (cliccando sulla colonna che mostra le varie bandierine, si potrà raggruppare i nodi sulla base del Paese di appartenenza).
Come configurare qualunque browser per collegarsi alla rete Tor
Per fare in modo che il browser web, qualunque esso sia, utilizzi la rete Tor, è necessario portarsi nelle opzioni e impostare l’uso del proxy server locale 127.0.0.1
e come porta 8118
. Nel caso di Google Chrome, basta modificare le opzioni Internet a livello del sistema operativo (condivise anche da Internet Explorer):
Per accedere alla finestra Impostazioni rete locale (LAN), è sufficiente, in Windows, accedere al pannello di controllo, cliccare su Opzioni Internet, sulla scheda Connessioni quindi sul pulsante Impostazioni LAN.
A questo punto, si dovranno spuntare entrambe le caselle Utilizza un server proxy per le connessioni LAN e Ignora server proxy per indirizzi locali indicando i valori 127.0.0.1
e 8118
nelle apposite caselle.
Cliccando su OK e digitando nella barra degli indirizzi del browser l’indirizzo https://check.torproject.org, dovrebbe essere visualizzato il messaggio “Congratulations. Your browser is configured to use Tor“. L’indirizzo che apparirà nella schermata è quello dell’ultimo relay usato all’interno della rete Tor prima di raggiungere la destinazione.
Il numero di porta TCP che si è specificato (8118) è quello corrispondente alla porta sulla quale, per default, si pone in ascolto il web proxy Polipo.
Si provi a visitare, quindi, l’URL http://www.google.com: si noterà come, molto probabilmente, non si venga più portati sulla home page Google italiana ma, molto probabilmente, su quella di un altro Paese. Ciò è dovuto al fatto che il web server di Google, così come quelli di tutti gli altri siti visitati, non “vede” più l’IP reale assegnato dal proprio provider ma quello del relay appartenente alla rete Tor.
Se si volesse fare in modo di ottenere solamente indirizzi IP di una specifica nazione, si dovrà fare clic sul pulsante Mostra la rete di Vidalia, cliccare sulla colonna delle bandierine quindi selezionare (con il mouse e le freccette, aiutandosi con i tasti MAIUSC e CTRL) i nodi di un Paese di proprio interesse:
Com’è possibile notare, nel nostro caso abbiamo selezionato solo nodi canadesi. Si dovrà fare clic con il tasto destro del mouse su uno qualunque dei relay selezionati e scegliere Copia, Fingerprint.
Tornando alla finestra principale di Vidalia si dovrà fare clic sul pulsante Impostazioni quindi sulla scheda Avanzato. Il pulsante Edit current torrc consentirà di aprire il file di configurazione di Tor:
In calce al file si dovranno aggiungere due righe di testo:
StrictExitNodes 1
ExitNodes
Accanto alla seconda riga si dovrà fare clic col tasto destro del mouse ed incollare (“Paste“) i nodi precedentemente estratti dalla finestra di Vidalia.
Nel caso in cui venisse esposto il messaggio d’errore “Int keyword ‘SockPorts 9050 #what port to open for local application connections’ is malformed or out of bounds“, per poter salvare il file di configurazione, si dovranno eliminare i commenti (iniziano col simbolo #) posti accanto ai parametri SockPorts
e SocksListenAddress
.
Prima di procedere, suggeriamo di salvare sempre una copia del contenuto del file di configurazione (sebbene una copia di backup venga creata anche da Tor): sarà facile ripristinare le impostazioni iniziali in caso di necessità.
, accertatevi di selezionare la lingua italiana.