Installare e far funzionare TOR su Ubuntu 11.04 con Chromium


Uno dei motivi per cui state leggendo quest'articolo probabilmente è per quel tarlo della navigazione anonima a cui non avete mai dato risposta certa. Lungi da me essere l'oracolo di tale risposta ma in passato l'argomento è stato ampiamente trattato in queste pagine, dai cookie alla gestione degli LSO fino ad una breve degressione per non addetti ai lavoro del come e del cosa intendo/si intende per navigazione web anonima.

Anche TOR è stato trattato di sfuggita. Qua e là s'è parlato di router con TOR integrato ed ho riportato un breve articolo comparso su di una *-Zine per avvocati.

Mi riprometto, e questo articolo è solo l'inizio, di parlare approfonditamente di questo oggetto mistico (mistificato?) santo graal dell'anonimato sul web.

Prima di cominciare una domanda, volete farlo funzionare veramente?

Ciò che si crede erroneamente è che sia sufficiente utilizzare TOR per essere anonimi NIENTE DI PIU' SBAGLIATO.
Come sempre è la nostra condotta web che determina il grado di anonimato delle nostre "scorribande" telematiche.

Come verrà spiegato più avanti nell'installazione che vi sto proponendo sono configurati un set minimo di parametri per rendere meno visibile, e sottolineo meno visibile, il nostro footprint sul web, quello che dovete fare è sicuramente personalizzare le configurazione del proxy e del browser che andrete ad utilizzare, ma cosa andare a toccare e perché?

Per prima cosa qualche concetto
  • TOR non anonimizza le vostre comunicazioni, ma solo le trasmissioni cui esse si appogiano, in parole povere, i dati che inviate a vostro nome sul web, tipo le email o ciò che postate su Facebook, restano a nome vostro (sembra una banalità ma meglio essere espliciti in merito), un po' come andare in giro col passa montagna e portare un cartellino da conferenza al collo.
  • Tutte le estensioni tipo: Flash, Java, ActiveX, Javascript, plugin a vario titolo vanno evitate come la peste, per quanto possibile meglio ancora se disabilitati completamente nella sessione del browser che stiamo utilizzando (Private browsing, Incognito o In-private browsing che dir si voglia)
  • Attenzione ai cookie, tutte le applicazioni web utilizzano mezzi più o meno scaltri (chi ha detto evercookie?) per immagazzinare le vostre informazioni di navigazione e potervi identificare anche se non siete espressamente loggati all'app. Quindi facciamo in modo di abilitare solo lo stretto indispensabile per la navigazione
  • Tor anonimizza l'origine del tuo traffico e cifra tutte le informazioni dal tuo computer verso la rete TOR e dentro la rete stessa, ma non può cifrare il traffito dall'interno di TOR verso la destinazione finale. Se stai comunicando informazioni sensibili, una cosa sensata da fare sarebbe quella di utilizzare una comunicazione punto punto di per se sicura (https ad esempio) facendola però veicolare all'interno della rete TOR per aggiungere quel grado di separazione in più. Un buon punto di partenza è https://www.eff.org/https-everywhere/
  • Tor maschera le destinazioni che vuoi raggiungere per quanto possibile, ma c'è sempre il rischio che qualcuno spii il tuo traffico pre ingresso nella rete TOR o meglio ancora che qualcuno si "accorga", magari tramite deep packet injection, che stai utilizzando TOR. Questo genere di problematiche può essere mitigato utilizzando un Tor bridge di fiducia ma anche questo approccio non è sicuro al 100%. L'unica cosa è "camuffarsi". Più saranno gli utenti che utilizzeranno TOR meno possibilità ci sarà di essere facilmente rintracciati nel mare magnum di internet (ergo fate proseliti)
  • NON USATE BitTorrent e Tor a meno di usare strumenti come Tails http://tails.boum.org/doc/ su macchine non vostre per giunta

Passiamo all'installazione di TOR vera a propria

Nei vari package che troviamo sul sito https://www.torproject.org/download/download.html.en esistono versioni per windows, osx e linux. Dei primi due non parlerò, visto che l'installazione è veramente dummy proof. Mi limiterò ad illustrare la procedura per installare TOR su di una Ubuntu 11.04.

Nell'installazione tipica, TOR prevede di essere affiancato da un proxy che ne gestisca le richieste e che si occupi di interfacciarsi con i vari software che utilizzeranno poi i tunnel anonimi. Allo scopo utilizzeremo l'accoppiata TOR + Polipo

Per prima cosa procediamo all'installazione del repository
sudo add-apt-repository http://deb.torproject.org/torproject.org

Ora aggiungiamo la chiave GPG per verificare la fonte dei pacchetti:
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -

Due colpi di aggiornamento e dovremmo esserci
sudo apt-get update; sudo apt-get upgrade

Installiamo TOR e Polipo
sudo apt-get install tor tor-geoipdb

il proxy verrà installato dalle dipendenze se così non fosse:
sudo apt-get install polipo

Scarica la configurazione per Polipo consigliata per TOR
cd - ; wget https://gitweb.torproject.org/torbrowser.git/blob_plain/HEAD:/build-scripts/config/polipo.conf

Copiatela al posto della configurazione corrente (es. /etc/polipo/config):
sudo mv -i /etc/polipo/config /etc/polipo/config.old
sudo mv -i polipo.conf /etc/polipo/config

Riavviamo entrambi i servizi
sudo /etc/init.d/tor restart; sudo /etc/init.d/polipo restart

Controlliamo che i servizi abbiano aperto le dovute socket:
ss -aln | grep 9050

Dovre materializzarsi una riga tipo quelle che seguono :
0 0 :::950 :::*
0 0 *:950 *:*
0 128 127.0.0.1:9050 *:*

NB: Nel file di configurazione c'è una sezione per paranoici da cui potete disattivare molti altri header http pena però la non compativilità con monti demoni web e siti, vi consiglio vivamente di darci un'occhiata, d seguito un estratto:
# Uncomment this if you're paranoid.  This will break a lot of sites,
# though:
censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
censorReferer = maybe

così come ho impostato questa sezione si evitano che i siti possano installare cookie qualora questi non siano necessari alla navigazione del sito. Il maybe sta a significare, qualora cookie, from e language non fosse indispensabile per l'apertura del sito allora non permettere queste chiamate. Sottolineo la discrezionalità di tale scelta da parte del proxy quindi occhi aperti.


Installare Vidalia (Opzionale) (Non consigliato)

Vidalia è un'interfaccia grafica di controllo per Tor che deve essere installata ovviamente una volta che Tor è funzionante.
E' bene sapere che una volta installatto Vidalia tutte le funzioni di Tor (se l'installazione rimane quella di default) saranno gestite da quest'interfaccia, motivo perché non la consiglio, ma capisco che poter gestire graficamente il tutto può risultare per alcuni un plus (l'unico che vedo è la mappa dei nodi relay). Se siete convinti, installare vidalia è quasi una banalità:
sudo apt-get install vidalia

... ancora più semplice è rimuoverlo ;)
sudo apt-get purge vidalia; sudo apt-get autoremove

Configurare Chrome / Chromium (versioni beta channel)



Se conoscete TOR e state Firefox come browser probabilmente conoscerete anche Torbutton (fornito nel bundle di windows ad esempio)

Negli ultimi tempi lo sviluppo di questa utile estensione è un po' in "crisi" con molti problemi in seno al development dovuti principalmente ad incertezze sul percorso intrapreso dagli ideatori. A vostro rischio potete scaricare l'alpha 1.3.3 https://www.torproject.org/torbutton/ (veramente sconsigliato).
Mi sento però di consigliare una via alternativa. Chromium!

Ma come proprio il browser di Google il grande fratello moderno? Eh si!
Gli sviluppatori in primis e la shell in seconda battuta ci mettono a disposizione una serie di opzioni fatte proprio al caso nostro che possono sopperire pienamente la mancanza di un "bottone" che abiliti su richiesta TOR.

Al seguente link http://peter.sh/experiments/chromium-command-line-switches/ trovate un estratto, assolutamente variabile visto che si tratta di switch da console che servono a testare il software, che andrebbero così mixati:
chromium-browser --incognito --proxy-server="127.0.0.1:8118" --user-data-dir=/tmp/chrome --bwsi --disable-internal-flash --disable-sync --disable-extensions --block-reading-third-party-cookies --no-first-run --disable-background-networking --disable-translate --disable-logging --disable-javascript --disable-java --disable-plugins

Tutti sono autoesplicativi tranne 2:
  • bwsi - "browse without sign-in" (Guest session) mode
  • no-first-run - che ci evita le schermate di configurazioni iniziale
Così facendo lanciamo una sessione Incognito del nostro browser impostata già per utilizzare Polipo come proxy, verrà creato un profilo utente con i nostri dati di navigazione separato da quello di default nella nostra home così che a fine sessione potremmo procedere con un ricco wipe della cartella. Si disabilitano il plugin flash interno così da forzare quello di sistema se c'è, inoltre gengono disabilitati
  • i sync con i servizi Google (Bookmark, History, Password e Form filling ecc..)
  • le estensioni di 3° parti
  • la possibilità di leggere cookie di terze parti da parte degli applicativi web
  • vengono disattivate tutte le richieste DNS e/o i ping ai domini che permettono di velocizzare le richieste web. Questo evita ad esempio che il nome dominio venga risolto man mano che lo si digita nell'address bar
  • Viene disattivato Translate (very annoying) visto che google ad esempio propone la sua versione di home page a seconda della nazionalità dell'IP
  • dulcis in fundo vengono disattivate le sessioni di logging del browser, javascript, java e plugin vari. In fase di navigazione della barra degli indirizzi vi verrà presentata di volta in volta un'icona a forma di pergamena che vi permetterà di abilitare questo o quel JS.

Per testare Tor dopo aver configurato il browser lanciate

https://check.torproject.org/
o meglio ancora
https://torcheck.xenobite.eu/

Buona navigazione ;)

7 commenti:



  1. Angelo:

    Ciao Andrea, mi riallaccio a quanto chiesto ieri. Quando dici "dipende da cosa l'applicazione manda a destinazione", fai riferimento a TOR o a quanto gira sul SO in uso. Potresti farmi un esempio pratico con TOR attivo?

    RispondiElimina
  2. Immagina di usare TOR per la consultazione dei siti, disattivi cookie e LSO e tutto i resto della famiglia tramite il "TOR Button" o lo stringone di cui sopra per quel che riguarda chromium, poi inavvertitamente ti logghi dentro Facebook! Stai facendo passare, in uscita da un Nodo Tor, le tue credenziali al social network più "chiacchierone" della terra :) Questo intendo. Ma il discorso può essere ampliato per esempio andando a controllare la posta su gmail dove l'account magari si chiama nome.cognome@gmail.com E così via

    RispondiElimina
  3. Ho capito. Tu intendi dire lasciare tracce "significative" in termini anagrafici, riconducibili alla propria persona laddove non si utilizzassero nickname o simili. La mia domanda è invece mirata alla scoperta di eventuali vulnerabilità - ad esempio di browser o altre applicazioni - che possano compromettere il "mascheramento" dell'IP di TOR, supponendo di essere stati davvero bravi a non lasciare ulteriori tracce.

    RispondiElimina
  4. Chiaro quello che intendi. Ma quello che vorrei farti capire è che non è necessario andare a sviscerare una vulnerabilità di un browser quando con un semplice JS possiamo tirar fuori l'IP di una macchina http://www.hashemian.com/tools/visitor-IP.htm

    RispondiElimina
  5. PS: Usa https://torcheck.xenobite.eu/ per vedere cos'è possibile tirare fuori come informazioni dal tuo browser, anche http://browserspy.dk/browser.php

    RispondiElimina
  6. chromium-browser --incognito --proxy-server="127.0.0.1:8118" --user-data-dir=/tmp/chrome --bwsi --disable-internal-flash --disable-sync --disable-extensions --block-reading-third-party-cookies --no-first-run --disable-background-networking --disable-translate --disable-logging --disable-javascript --disable-java --disable-plugins
    da novellino di ubuntu mi chiedo poi come applicare questa fase in modo da essere almeno abbastanza sicuro di poter completare il lavoro ...
    la ringrazio

    RispondiElimina
  7. Mi viene il dubbio se hai installato oppure no chromium sulla distro

    RispondiElimina