Autore Topic: (work in progress) Guida su come configurare Tor + Polipo + Privoxy + pdnsd  (Letto 3008 volte)

Offline Masque

  • *
  • Post: 723
  • Reputazione: 60
    • Mostra profilo
Sto preparando una guida passo passo su come farsi una bella configurazione per navigazione anonima, aggiramento delle censure statali su indirizzi e dns, filtraggio dei contenuti per eliminare banner, script e schifezzuole, e migliorare la velocità di navigazione grazie ad un proxy ed un dns, entrambi con cache locale.
Questa configurazione, ha il vantaggio di essere indipendente dal browser usato (anche se l'ho testata ed ho cercato le ottimizzazioni con Firefox). Cache, dns e filtri sono gestiti per conto proprio, permettendo di utilizzare browser che non dispongono di adblock o simili, oppure di disabilitarli per renderli più leggeri. La cache in comune, permette di disabilitare quella dei vari browser offrendo il vantaggio di una gestione veloce, del recupero da parte di un browser delle pagine salvate in cache da uno diverso e di risparmiare spazio su disco eliminando le molte diverse cache separate.
Il DNS locale, permette una risoluzione dei nomi velocissima, rendendo relativamente inutile la ricerca del dns più veloce tramite programmi come namebench. Inoltre, si può appoggiare a Tor, rendendo anonima e difficile da loggare, da parte del provider, anche la risoluzione.
È una configurazione che sto provando da un paio di giorni e mi sembra abbastanza stabile e veloce... Non l'ho testata ancora moltissimo, ma pare funzionare tutto.

Sto scrivendo la guida basandomi sulla mia installazione di Arch, ma ho visto che tutti i pacchetti necessari sono presenti anche nei repository di chakra o in ccr. Quindi, se può interessare, la pubblicherò anche qua.
Le istruzioni non saranno per nulla difficili da seguire... ma richiedono un po' di attenzione ;)

Intanto, l'introduzione... Domani finirò di scriverla e controllare tutto. Non mi manca molto, ma ora non riesco ad andare più avanti :)

Con questa guida cercherò di spiegare come configurare il proprio pc, in modo da avere i vantaggi della navigazione anonima tramite i proxy distribuiti di Tor, il filtraggio di banner e script fastidiosi o maliziosi dalle pagine dei siti, e contemporaneamente, mantenere un consumo di risorse ed una velocità accettabili, se non migliori a quelle abituali. Per fare questo, userò una combinazione di programmi configurati per lavorare assieme, e farò delle modifiche alla configurazione predefinita del browser.
I programmi che utilizzerò sono:
- Tor: un sistema di proxy distribuiti, che ci permetterà di ridurre parecchio la nostra tracciabilità da parte di provider e siti visitati. Oltre a questo, ci darà la possibilità di accedere a quei siti bloccati dalla censura dei filtri statali, come thepiratebay.org e tntvollage.scambioetico.org, oppure a quei siti che impediscono l'accesso in base al paese d'origine di chi vi accede, come la webradio pandora.com. Tor è inoltre supportato ed utilizzato da molti programmi di chat e peer to peer.
- Privoxy: un proxy senza cache che filtra i contenuti delle pagine. Elimina con una buona efficacia banner pubblicitari, script traccianti, di popup e cookie traccianti. Lo scopo è simile a quello dell'accoppiata Ghostery + Karmablocker, di cui avevo già scritto. Il vantaggio di utilizzare un servizio locale di proxy, è l'indipendenza dal browser. Ovvero, posso avere il vantaggio dei filtri su qualsiasi browser che decida di usare, senza la necessità di cercare ed installare diverse aggiunte specifiche per ogni browser. In questo modo, posso mantenere il browser leggero, oppure utilizzare dei browser che non hanno a disposizione quei particolari addon. L'occupazione di risorse di privoxy, è molto inferiore a quella del solo Adblock plus, e permette di fare un filtraggio molto più efficace.
- Polipo: un proxy con cache estremamente veloce ed efficiente. Servirà per velocizzare la navigazione, riducendo i tempi di attesa che Tor, per via del suo funzionamento, inevitabilmente introduce. Questo software è talmente leggero e veloce che, utilizzandolo al posto della cache di Firefox, che verrà disabilitata per evitare di fare un inutile doppio lavoro di caching, si può notare un visibile incremento di prestazioni. Anche in questo caso, utilizzando più browser diversi, si ha il vantaggio di avere una cache comune che velocizza gli accessi e riduce lo spreco di spazio su disco causato dall'avere più programmi diversi, ognuno con la propria cache separata.
- pdnsd: un server dns che crea una cache locale su disco fisso. I vantaggi che porta questo software sono due. Protegge la privacy facendo passare le richieste di risoluzione dei nomi degli indirizzi attraverso Tor, rendendole quindi anonime e difficilmente loggabili dal provider. Migliora la velocità di risoluzione degli indirizzi grazie alla cache locale. Dopo un breve utilizzo, la maggior parte delle risoluzioni verranno fatte direttamente sul proprio pc, senza dover attendere i tempi di risposta, spesso lunghi, di server esterni. Viene ridotta anche quella latenza che, normalmente, verrebbe introdotta da Tor. È possibile anche configurare dei server DNS secondari, nel caso la risoluzione dei nomi attraverso tor non funzionasse. In quel caso, le richieste non sarebbero più distribuite e difficili da tracciare, ma si tratterebbe di un compromesso che viene usato solo nei casi peggiori, mentre nel caso migliore, la richiesta verrebbe soddisfatta rapidissimamente dal proprio pc, senza neppure contattare un server esterno.

Le operazioni da fare non sono per nulla complicate. Personalmente ci sono riuscito andando per passi successivi e testando il funzionamento dei vari programmi mano a mano che li configuravo, in modo da rendermi conto subito di eventuali errori. Nella maggior parte dei casi, bastano modifiche minime alle impostazioni predefinite. I motivi per cui sto scrivendo questa guida sono che in rete non ho trovato ancora una guida veloce e completa sull'integrazione di tutti questi programmi assieme, ma solo di alcuni (Tor +  Polipo, oppure Tor + Privoxy, Privoxy + Polipo, pdnsd + Tor...), e che voglio mostrare quanto sia semplice migliorare di parecchio la protezione della propria privacy, ed al tempo stesso aggirare la censura, accedere ad un web di miglior qualità (per via del filtraggio di banner e script che rallentano e distraggono) e velocizzare la propria connessione.
Potete seguire la guida per intero, oppure prendere solo le parti che vi interessano, adattandole alle vostre esigenze (ad esempio, se non vi interessa la parte che riguarda Tor, ma volete velocizzare la navigazione con Polipo, pdnsd e le modifiche a Firefox). La filosofia di unix di avere programmi che fanno un solo lavoro, ma molto bene, e di poterli combinare, offre un grosso vantaggio quando si vogliono fare queste cose.
A tal proposito, per la guida mi baserò su un'installzione di GNU ArchLinux, perché è la distribuzione che sto utilizzando ora. Quindi, chi utilizza altre distribuzioni potrebbe dover adattare la guida alla propria situazione. Probabilmente, per le distribuzioni derivate ed i fork, come Archbang e Chakra, si potrà seguire la guida senza dover adattare nulla. Fortunatamente, i pacchetti presenti in Arch sono quasi sempre "vanilla", cioè esattamente come gli sviluppatori originali li hanno preparati, senza le personalizzazioni che molte altre distribuzioni fanno. Grazie a questo, qualisiasi distribuzione stiate usando, potere comunque dare un'occhiata all'esauriente wiki di Arch, trovandovi informazioni e guide utili.
Gli stessi software sono disponibili anche per altri sistemi operativi. In quel caso, è possibile che dobbiate adattare maggiormente le istruzioni. Tuttavia, in sistemi chiusi e proprietari, come Windows o Mac OS, dei quali non si ha accesso al codice, non si può mai essere sicuri di ciò che facciano... Questo può essere un problema, se il vostro obiettivo è di proteggere la privacy, in quanto non potrete mai essere certi che non ci siano delle backdoor oppure che vengano inviate delle informazioni su di voi a terzi, a vostra insaputa. In quel caso, l'unica cosa che potete fare è di fidarvi della "bontà" di chi ha prodotto il sistema che usate.

Cosa accadrà, in teoria...
Codice: [Seleziona]
Browser->Privoxy->Polipo->Tor
       =>pdnsd------------^

Escludendo la risoluzione dei nomi, il viaggio d'andata è il seguente: il browser richiede la pagina al primo proxy, cioè Privoxy, il quale passa la richiesta a Polipo che, se non ha i dati desiderati nella propria cache (nel cui caso, li fornirà subito), la gira a Tor, che infine la sparpaglia fra vari nodi, i quali faranno arrivare al fornitore della pagina richieste diverse provenienti da indirizzi d'origine diversi (normalmente, le richieste arriverebbero tutte dallo stesso indirizzo di partenza, cioè quello fornitovi dal vostro provider). Il server contattato inizierà a rispondere alle varie richieste, inviando i dati desiderati (pagina, immagini, oggetti vari...), i quali transiteranno sui diversi nodi fino ad arrivare alla vostra macchina. Tor riceve i dati e li passa a Polipo, il quale li memorizzerà nella propria cache per un possibile successivo utilizzo e li girerà a Privoxy. Questo esaminerà il contenuto delle pagine ricevute, ripulendole da banner pubblicitari, spam, script e cookie indesiderati, e lo passerà infine al vostro browser, che visualizzerà il risultato sullo schermo.

Risoluzione dei nomi. Il browser o qualsiasi altro software che voglia accedere ad un server in rete, richiederà a pdnsd di trasformare l'indirizzo nominale in indirizzo numerico. Nel caso quell'indirizzo sia già stato cercato in precedenza, il dns restituirà immediatamente il risultato, in caso contrario passerà la richiesta a Tor, il quale contatterà i nodi esterni chiedendo la risoluzione. Se questo andrà a buon fine, restituirà il risultato a pdnsd, il quale lo salverà nella propria cache e lo passerà al programma che inizialmente aveva fatto la richiesta.


In pratica.... (To be continued :D)
« Ultima modifica: 21 Aprile 2012 ore 03:07 da Masque »

Offline fedefox

  • *
  • Post: 1453
  • Reputazione: 34
    • Mostra profilo
    • Allevamento Della Repubblica Pisana
decisamente troppo lunga per leggerla il sabato mattina alle 9 con gli occhi ancora semi chiusi lol, ma non è meglio se te la sposto in Guide?

Offline FranzMari

  • *
  • Post: 2812
  • Reputazione: 103
  • [Senior Packager]
    • Mostra profilo
    • IMHO blog
Bellissima idea!! non vedo l'ora di leggere il resto della guida  :)
Fedefox, svegliaaaaaaaaaaaaatiiiiiiiii!!!!!!  ;D
«Il valore dell'essere umano si determina nella misura in cui sia grande o piccola la sua capacità di contribuire al bene collettivo.» Jigorō Kanō

Offline dongongo

  • *
  • Post: 445
  • Reputazione: 16
    • Mostra profilo
Anche io!!! Spero di riuscirci anche (penso però che avrò delle difficoltà)! Sarebbe fantastico! ;D



Offline Masque

  • *
  • Post: 723
  • Reputazione: 60
    • Mostra profilo
Ma quello è solo il blabla introduttivo e la teoria. Lo sapete che io mi dilungo con le spiegazioni... ;D
Volevo solo capire se poteva interessare, dato che c'erano già state delle discussioni sulla privacy in rete. Ho pensato che, una guida pratica, scritta in modo semplice (o, almeno, lo spero) sarebbe stata un buon contributo.

La parte pratica sto finendo di scriverla adesso. Se vedo che interessa, posso fare direttamente un post nella sezione guide. L'unico problema, è che non ho la possibilità di testate quanto sia precisa con Chakra. Penso che, rispetto ad Arch, non dovrebbe cambiare praticamente nulla (tranne il fatto che polipo e pdnsd non sono nei repository ufficiali, ma in CCR), ma non posso esserne sicuro.

Comunque, dopo pranzo finirò l'ultima parte che mi rimane, cioè la configurazione del dns, la rileggerò correggendo i numerosissimi refusi che avrò scritto alle 3 di notte, e posterò tutto sul mio blog e, se interessa, anche qua. :)

Offline dongongo

  • *
  • Post: 445
  • Reputazione: 16
    • Mostra profilo
Per quanto mi riguarda non vedo l'ora di leggerla! ;)



Offline Masque

  • *
  • Post: 723
  • Reputazione: 60
    • Mostra profilo
Ok. Finita... La appiccico fra le guide, poi fateci quello che vi pare ;)


Non sempre scrivo guide....
Ma quando lo faccio sono chilometriche ;D

 

Template by Homey | Sito ufficiale | Disclaimer