Firefox private network

Ecco. L’avevo scritto da qualche parte. Mozilla con parecchi anni di ritardo si accorge che esiste la necessità di cambiare le regole del gioco riguardo la “privacy” di Internet. Il guaio è che il ritardo, oltre vari problemi legati al contesto e alle risorse spese altrove, comporta il fatto che generazioni di “nuovi utenti”, specie quelli che conoscono Internet attraverso lo scemofono, non sanno e non vogliono sapere come funzionano le cose da un punto di vista tecnico.

Comunque, Mozilla sta sperimentando con la collaborazione di Cloudflare un sistema per criptare le richieste che il browser manda al servizio DNS. Ci sono diversi modi per farlo e quello scelto da Mozilla si chiama DoH, DNS over HTTPS. Questa funzione la trovate già presente nelle impostazioni di rete di Firefox. Fate attenzione che per usare questa funzione servono due cose. Serve un servizio DNS che offra DoH e serve che questo servizio abbia un server localizzato il più possibile vicino al luogo da cui vi collegate ad Internet. Significa che potete usare qualsiasi server, non per forza quello di Cloudflare, però dovete trovarne uno vicino casa.

Adesso leggo che Mozilla sta sperimentando, solo per gli utenti USA, una estensione che da quello che posso capire è un servizio VPN, Virtual Private Network. In sostanza con questa estensione Firefox apre una connessione criptata verso un server Cloudflare e questo server funge da proxy, cioè tutto il traffico di rete di Firefox viene inoltrato da questo server, in modo da mascherare l’IP address dell’utente e presentare invece un IP address di Cloudflare. Nella pagina di presentazione c’è scritto “This Private Network beta release is currently free“, cosa che mi fa sospettare che in futuro il servizio possa richiedere la sottoscrizione di un abbonamento. Esistono già sul mercato svariati servizi VPN, per cui boh, non ho ben chiaro il senso dell’iniziativa di Mozilla se non di spartire l’eventuale business con il fornitore del servizio VPN, girandogli tutti o molti dei suoi utenti.

Intanto, come potete leggere in questo blog, esiste l’alternativa di Tor Browser, che in sostanza è una versione leggermente modificata di Firefox nella versione “supporto a lungo termine” con l’aggiunta di un client Tor che viene eseguito in prima istanza quando si clicca sull’icona. La differenza tra Tor e un servizio VPN consiste principalmente nel fatto che Tor si basa sulla partecipazione volontaria di gente che mette a disposizione la propria banda per inoltrare il traffico altrui, offrendosi come “nodo” di Tor. Di conseguenza, oltre ad essere un sistema abbastanza inefficiente, non offre alcuna garanzia riguardo la performance minima. Vi invito a limitare al massimo l’uso della banda quando usate Tor, perché non è la vostra, è di qualcun altro. Viceversa, i servizi VPN si fanno pagare per fornire un certo SLA, service level agreement, cioè garantire una certa performance della connessione che transita per i loro apparati. Oltre al fatto ovvio che vi dovete fidare che la VPN mantenga riservate le informazioni che potrebbe raccogliere su di voi monitorando la vostra connessione.

Staremo a vedere come andrà a finire con Mozilla.

Capire meglio Internet oggi

IP address

Ve la faccio semplice. Il vostro dispositivo elettronico quando si collega ad una rete deve avere assegnato un “indirizzo IP” dove “IP” sta per “Internet Protocol”. La situazione più comune è che abbiate un IP “privato” che viene usato dalla “rete locale” o LAN e questo viene assegnato da un “router” che è un dispositivo posto tra la “rete locale” e Internet che serve a inoltrare il traffico tra dispositivi che si trovano in due reti diverse. Il “router” invece ha un IP “pubblico” che gli viene assegnato dall’Internet Provider quando stabilite una connessione tramite un “modem” collegato al “router”. Lo IP “pubblico” può essere “statico”, quando ne comprate uno dal Provider e quindi vi viene assegnato in maniera permanente, oppure “dinamico” quando viene preso più o meno a caso dal gruppo di IP che il Provider ha comprato dalle autorità che gestiscono gli IP a livello mondiale e vi viene assegnato solo per la durata della connessione che avete stabilito.

Aggeggio > IP privato > Rete Locale > router > IP pubblico > Provider > Internet.

Lo IP pubblico serve per consentire ad altri aggeggi collegati ad Internet di stabilire delle connessioni col vostro aggeggio collegato ad Internet. In altre parole, serve per trovarvi. A livello pratico, significa che il Provider associa la connessione stabilita alla tale ora con l’IP assegnato tale alla vostra utenza telefonica. Associare la vostra identità alla connessione Internet è una cosa che in Italia richiede un ordine della Magistratura, non è una cosa che possono fare i privati. Quindi implica grane legali.

Come si rende “anonima” la vostra connessione? Interponendo tra il vostro aggeggio e l’aggeggio con cui si collega uno o più altri aggeggi che fanno da tramite o “nodi”, ognuno col suo proprio IP Address. L’ultimo aggeggio della catena di aggeggi vede l’IP dell’ultimo “nodo” ma non vede il vostro IP, che si trova a monte del primo “nodo”. Oltre ad avere bisogno della collaborazione intenzionale degli aggeggi che si prestano a fungere da “nodi”, c’è anche l’inconveniente che dovendo passare fisicamente attraverso di loro, non andrete ad usare la vostra banda ma quella dei “nodi”, quindi c’è una enorme inefficienza della connessione nel suo insieme. Ragione per cui non può essere un modo per rendere “anonima” la vostra presenza complessiva su Internet ma solo certe applicazioni specifiche che richiedono poca banda.

Altri sistemi di monitoraggio e identificazione.

Purtroppo col tempo Internet si è trasformata in un sistema di monitoraggio e raccolta informazioni a livello planetario. Grandi aziende come Google guadagnano cifre stratosferiche raccogliendo informazioni sulle persone che usano loro “servizi gratuiti” e rivendendo queste informazioni a chiunque le voglia adoperare per manipolare il “pubblico”, per esempio tramite la pubblicità o le campagne elettorali.

Il primo ed ovvio sistema per raccogliere informazioni è tramite il “servizio gratuito” in quanto tale, per esempio una persona si registra dentro Facebook, apre la sua pagina, ci mette dentro post, immagini, collegamenti ad altre pagine, eccetera, il software di Facebook raccoglie e analizza queste informazioni e crea un “profilo” di quella persona, per poi proporgli direttamente certi “suggerimenti”, oppure per passare il “profilo” ad altre piattaforme che a loro volta propongono i “suggerimenti”.

Non essere “social”, cambiare motore di ricerca.

Quindi, la difesa consiste nel non registrarsi dentro questi servizi e non metterci dentro delle informazioni personali. Cambiate il motore di ricerca predefinito, invece di usare Google potete, ad esempio, usare Duckduckgo ma ce ne sono altri.

Un altro sistema meno ovvio consiste nel interrogare il browser, cioè il programma che usiamo per “navigare”. Il browser fornisce delle informazioni sulla configurazione specifica del vostro aggeggio che in origine avevano lo scopo di fornire delle pagine adatte a configurazioni eterogenee. Queste informazioni vengono adoperate per creare un identificativo univoco del vostro aggeggio. Poi, tramite degli script, cioè dei programmini, inseriti nelle pagine che visitate, la grande azienda come Google può seguire il vostro percorso, partendo dalle ricerche che fate, quali siti visitate, vedere quali contenuti guardate.

Ridurre la superficie esposta.

In questo caso la difesa consiste nel confondere le informazioni fornite dal browser in maniera che siano diverse, sia cambiandole all’inizio che cancellando quello che viene memorizzato quando chiudete la sessione del browser, ogni volta ma sopratutto nel bloccare tutti gli script che vengono caricati dai siti Web e che non sono strettamente necessari al loro funzionamento. Ci sono diversi modi per farlo, ne dico due, uno consiste nel frapporre tra il browser ed Internet un “proxy” locale, cioè un software che filtra le connessioni. E’ una cosa complicata, quindi conviene invece usare una o più estensioni, cioè dei programmini che aggiungono certe funzioni al browser o consentono di cambiare certe impostazioni. Ad esempio uBlock Origin oppure uMatrix. Purtroppo per filtrare opportunamente i contenuti delle pagine Web bisogna usare queste estensioni in “paranoia mode” e studiare la documentazione.

Avrete notato che da qualche tempo il vecchio prefisso “HTTP” è stato sostituito da “HTTPS”. Di solito il browser mostra una icona a forma di lucchetto verde. Significa che la connessione che avete stabilito con il server  che vi sta mostrando la pagina è codificata, cioè quando la connessione è stata stabilita il vostro aggeggio e il server si sono accordati per usare una chiave di codifica in modo da “criptare” la connessione e impedire che qualcuno, vedendo passare i dati, possa leggerli.

Dovete sapere però che ogni volta che il browser per collegarsi ad un certo sito Web usando il “nome” di questo sito, per esempio “johnconnorbear.vivaldi.net”, deve passare da un servizio chiamato DNS, Domani Name System, che associa questo “nome” ad un IP address pubblico statico, quello del server su cui risiede il sito in questione. Di solito il servizio DNS viene fornito dal Service Provider a cui ci colleghiamo. Ci sono due problemi. Primo, il Provider può registrare tutte le richieste, quindi vedere quali siti visitiamo, anche se le singole connessioni sono HTTPS. Il secondo è che quando qualcuno vuole “bloccare” un sito in modo che non possiate accedervi, va a modificare il DNS.

Cambiare il DNS.

La prima cosa che potete fare è non usare il DNS del vostro provider ma un altro, un servizio DNS pubblico.  Se usate Duckduckgo come motore di ricerca e inserite “public DNS”, vi verrà mostrato un elenco di DNS che potete adoperare. Io di solito uso quelli di OpenNIC ma in questo momento so provando quelli di Cloudflare, sotto capite perché. A seconda del Sistema Operativo che adoperate l’impostazione del DNS è leggermente diversa ma si troverà sempre nelle opzioni della connessione di rete Internet. Idealmente il server che contattate per il servizio DNS deve essere geograficamente vicino a casa vostra, non in un altro continente, altrimenti le richieste risulteranno più lente.

Un’altra soluzione consiste nell’usare un servizio DNS che sia a sua volta “criptato”. Firefox sta progressivamente introducendo una funzione che si chiama “DNS over HTTPS”. Se andate nelle “opzioni – generale – impostazioni di rete” in fondo trovate il checkbox per attivare questa funzione e per selezionare il servizio DNS da usare. Il servizio predefinito è un DNS di Cloudflare, quindi io ho impostato anche come “DNS convenzionale” il DNS pubblico di Cloudflare. Firefox prova ad usare il DNS via HTTPS e se non va, usa quello convenzionale come backup. Se volete provare questa funzione, potete anche inserire un qualsiasi altro “DoH”, per esempio questo.