Cos’è una VPN e perché è fondamentale usarla per proteggersi

by Lazza on

Pur essendo nate per scopi aziendali, le VPN (Virtual Private Network, o reti private virtuali) vengono usate molto spesso anche dalle persone che hanno un po’ a cuore la sicurezza della propria navigazione in Internet.

Cosa consente l’uso di una VPN

Il funzionamento di base delle VPN, infatti, crea un tunnel virtuale tra il nostro computer e un server sicuro di proprietà del fornitore del servizio VPN. Tutto il traffico che effettuiamo passa in modo criptato dal computer al server, per poi uscire “normalmente” (quindi criptato per HTTPS e in chiaro per HTTP, FTP, e altro) su Internet.

In sintesi, questo permette di navigare in modo privato e sicuro anche nelle reti Wi-Fi pubbliche. Si tratta di reti dove normalmente chiunque potrebbe spiare quali siti stiamo visitando o le password che inseriamo in alcuni portali che non usano HTTPS.

Mai sottovalutare la privacy online
Mai sottovalutare la privacy online

Inoltre, consente di mitigare gli effetti della sorveglianza di massa. L’Italia è uno dei molti paesi europei che trattiene illegalmente traccia di tutte le comunicazioni (nel senso di data, ora, e soggetti coinvolti, non contenuto) dei cittadini italiani, senza che ciò richieda un’indagine e senza configurarsi come intercettazione. Questi dati rimangono disponibili almeno per un anno.

Come se ciò non bastasse, gli Stati Uniti e il Regno Unito possiedono molte delle infrastrutture di Internet e intercettano abitualmente il traffico:

[…] il Guardian ha scoperto che il GCHQ ha accesso direttamente alle grandi ‘autostrade’ delle telecomunicazioni: i cavi in fibre ottiche che trasportano le telefonate e il traffico internet mondiale, e ‘succhiando’ direttamente da questi, l’anno scorso è stato in grado di intercettare 600milioni di telefonate al giorno.

Mi fa piacere che il nostro governo “logghi” (tenga traccia nei file di log) tutta la navigazione degli italiani? Non tantissimo. È accettabile che lo facciano paesi esteri senza alcuna autorità sui cittadini italiani? Assolutamente no. :

Usando un servizio VPN, la vostra navigazione Internet potrebbe andare a mischiarsi con quella di decine di altre persone e risulterà, per esempio, generata da un anonimo datacenter situato ad Amsterdam, vicino al Koninklijk Paleis (peraltro un magnifico posto!) invece che dall’indirizzo IP intestato a Mario Rossi, Via Tal dei tali 0, Milano. :P

Certo, se la connessione stessa dovesse contenere informazioni personali in chiaro sarebbe teoricamente possibile correlare la trasmissione dei dati a una persona, ma solo quella in particolare, non tutte le altre (chissà di chi sono?).

Infine, un argomento che interessa a molti dei miei lettori: usare un servizio VPN ci permette di aggirare le barriere geografiche. Praticamente tutti i servizi VPN, specialmente quelli seri (quindi che richiedono un pagamento per coprire i costi del servizio, spesso comunque molto ragionevole) forniscono server in svariati paesi.

Quindi, voglio vedere un video sul sito della BBC? Teoricamente non potrei… ma poco male, mi collego al mio servizio VPN scegliendo un server nel Regno Unito e accedo al contenuto che era bloccato! :D Lo stesso vale per un sito negli Stati Uniti, o in Francia, o in Germania.

Se vogliamo consultare siti in nazioni particolari (per esempio piccoli stati non europei, mettiamo caso il Belize) è meglio verificare i server offerti dal provider VPN prima di abbonarsi, ma generalmente i principali paesi UE, gli USA, il Canada e l’Australia sono ben coperti.

Per i motivi finora esposti, è altamente consigliabile che tutti usino una connessione VPN sia a casa che fuori casa, sul PC e sullo smartphone (soprattutto fuori casa)! È una questione di privacy e sicurezza, due cose da non prendere mai sottogamba.

“Ma non ho nulla da nascondere”

Ci tengo ad aprire una piccolissima parentesi su questa cosa, perché ogni volta che la sento dire mi fa alzare il sopracciglio… Se avete pensato qualcosa come la frase qui sopra, vi vorrei chiedere un piccolo favore.

Gentilmente, lasciate un commento sotto a questo post contenente il vostro indirizzo email e la password di Facebook. Ah, per cortesia fate un grande archivio ZIP con tutte le foto e i documenti del vostro PC e caricatelo online, poi inviatemi il link tramite email. Sì, anche i documenti bancari. Casomai dovessimo incontrarci di persona, vi chiederò anche di lasciarmi il vostro telefono cellulare in mano per un’oretta, chiaramente mi darete anche il PIN.

Come? Avete cambiato idea? ;) Bene!

Possiamo continuare la parentesi dicendo che il diritto alla privacy è tutelato dalle leggi italiane ed europee, e concludo con una citazione di Edward Snowden:

Dire che non t’importa del diritto alla privacy perché non hai nulla da nascondere è come dire che non t’importa della libertà di espressione perché non hai nulla da dire.

Proseguiamo.

Come scegliere un fornitore VPN

Questo è un argomento che ho brevemente accennato nel mio post sul download dei video dalla BBC, ma vorrei estendere un po’ la trattazione. Le esigenze personali possono variare, ma gli aspetti che vi consiglio di valutare sono:

  • Disponibilità di paesi → Di più è meglio, sostanzialmente. Diciamo che un numero tra 25 e 50 va bene, ovviamente verificate che ci siano quelli “principali” che molti utilizzano: Stati Uniti, Regno Unito, Germania, Paesi Bassi. Meglio se vi danno anche un server in Italia, perché potreste voler navigare in sicurezza ma guardare i video della Rai, ed eventualmente scaricarli anche quando siete all’estero.
  • Numero di dispositivi collegabili → Fidatevi, non volete comprare un servizio per poi rendervi conto che vi permette di collegare solo 1 o 2 dispositivi alla volta. Contando che in famiglia potreste avere un paio di PC e un paio di smartphone, 5 è il numero minimo a cui puntare. Se vi offrono meno, guardate altrove.
  • Supporto OpenVPN → Non voglio scendere nei dettagli tecnici, ma non tutti i tipi di crittografia sono ugualmente sicuri. PPTP non è granché sicuro e va evitato. OpenVPN è uno standard aperto e finora si è rivelato molto valido. Per fortuna molti fornitori offrono sia OpenVPN che altre possibilità.
  • Politica di logging → Verificate le condizioni sulla privacy del fornitore e controllate che garantiscano una zero logging policy (politica di registrazione nulla).
  • Sede legale dell’azienda → Io francamente eviterei provider americani. Certo, ce ne sono anche alcuni che lavorano bene… però sono sempre sottoposti alle leggi statunitensi, dove l’intercettazione non solo è praticamente sempre legale ma è anche una prassi standard. Provider di paesi europei (specialmente nordici), australiani o di Hong Kong in genere vanno bene.
  • Costo → Sarà scontato dirlo, ma se confrontate diversi provider guardate anche il prezzo. Quasi tutti richiedono un pagamento mensile (pochi euro, tra i 5 e i 10 solitamente) o annuale. Però spesso in rete si trovano offerte che consentono di pagare una volta sola. :)

Perché non quelle gratuite? Semplice, sono utili per usi sporadici, per esempio guardarsi un video su un sito americano ogni tanto, ma offrono pochi server, una scarsa velocità e assolutamente nessuna assistenza se qualcosa non va. Solitamente poi loggano tutto il vostro traffico.

A loro il servizio VPN costa tempo e denaro, se per voi è gratis significa che da qualche parte i soldi li devono recuperare… Meglio evitare di chiedersi come e pagare qualcosa di valido. Poi, come vedremo tra poco, si può spendere davvero poco e avere un servizio di qualità che comunque tuteli la privacy.

Riguardo alle offerte, se volete vi segnalo quelle che ho linkato anche nell’altro post, e che personalmente trovo valide e affidabili, con un account a vita davvero conveniente:

  • VPNSecure per 59$ (è quella che uso io e posso testimoniare sulla qualità dei server, la prontezza del supporto tecnico e il fatto che offra 10 dispositivi collegabili in contemporanea, il tutto da un’azienda australiana)
  • GetFlix per 69$ (servizio ideale per lo streaming video perché fortemente orientato allo SmartDNS, ma offre anche VPN)

In pratica si paga circa il costo di un solo anno di abbonamento, solo che dura per sempre (o per 20-30 anni, verificate le singole offerte). Chiaramente non siete obbligati a scegliere queste, sono solo spunti per iniziare.

Valutate secondo la vostra coscienza qual è il provider migliore, verificando online anche altre fonti e altri pareri. Ricordate che scegliere una VPN significa affidare le proprie connessioni a un altro provider oltre a quello che fornisce l’ADSL o il collegamento wireless. È una questione di fiducia, perciò scegliete ciò che ritenete più giusto.

Una volta comprata, rimane la domanda su quale paese usare come nodo di uscita. Posto che per siti particolari non c’è scelta (BBC significa Regno Unito, Hulu significa USA, France 3 significa Francia, eccetera) in genere la normale navigazione la farete sempre dallo stesso server.

Per una navigazione “normale” evitate server negli Stati Uniti. Vari paesi possono essere buone scelte. Per quanto riguarda quelli europei, sarebbero da preferire:

  • Paesi Bassi, praticamente l’unico paese UE senza data retention attualmente (Gennaio 2016)
  • Svezia, una tra le nazioni con le migliori norme sulla privacy in tutta l’UE
  • Islanda, non fa parte dell’UE e ha ottime leggi sulla privacy
  • Lussemburgo e Romania, sono altri due paesi che vengono spesso consigliati da moltissimi provider VPN

Maggiori dettagli su questo argomento li trovate in questo articolo del sito BestVPN.

Come collegarsi alla VPN

Generalmente, molti provider offrono una app per smartphone che consente un accesso facile dai dispositivi mobili. Qualora così non fosse, è comunque possibile configurare OpenVPN for Android in modo simile a quanto si fa con un PC. Io uso questo client anche se il mio provider fornisce la propria app, lo preferisco.

Riguardo ai computer, è bene sottolineare come gli utenti che ci tengono alla propria privacy dovrebbero indubbiamente usare Linux. È un po’ un controsenso usare le VPN se poi ci pensa Windows a spedire tutti gli affari propri a Microsoft. OS X Yosemite fa qualcosa di simile, e comunque la sicurezza è una delle ragioni per cui Linux è meglio di altri sistemi operativi.

Insomma, fate come volete… ma rifletteteci. ;)

Sulle più diffuse distribuzioni Linux in genere c’è un programma chiamato Network Manager, che è l’icona da cui ci si collega alle reti wireless o cablate. È possibile installare un plug-in per configurare con facilità la rete in modo grafico. Su Ubuntu e derivate si installa con il comando:

sudo apt-get install network-manager-openvpn

Il provider VPN in genere fornisce un archivio ZIP con dentro tanti file di configurazione OpenVPN, uno per paese. Ci sarà poi un certificato crittografico e delle chiavi.

Quello che dovete fare è semplicemente aprire il client OpenVPN e importare il file di configurazione (inserendo la password se richiesto). Da Network Manager si fa cliccando su:

[Icona NM] → Modifica connessioni → Aggiungi → Importa configurazione VPN salvata…

Questo passaggio va ripetuto per ogni server che si intende utilizzare, ma solo la prima volta. Le successive, la configurazione sarà già memorizzata nel proprio client e basterà un solo click per connettersi. Per esempio, ecco la lista di server che ho importato nel mio Network Manager:

Lista delle reti VPN importate in Network Manager

A questo punto è sostanzialmente fatta, perché possiamo navigare sapendo che le nostre connessioni avvengono attraverso la VPN in modo criptato, anche se ci troviamo in un bar con il Wi-Fi aperto! :D

C’è però un piccolo dettaglio che bisogna tenere a mente se si usa Network Manager, ovvero il DNS leak.

Prevenire il DNS leak per le connessioni VPN attivate tramite Network Manager

Il DNS è un servizio alla base di Internet. Si tratta di un server a cui il nostro computer chiede l’indirizzo IP di un sito. Infatti, i siti web sono identificati da un nome di dominio (per esempio www.andrealazzarotto.com) ma questo va tradotto in un indirizzo numerico, affinché il computer si possa collegare.

Funziona così (per semplificare):

Computer: Ciao! C’è qui il mio utilizzatore che vorrebbe visitare Google.com, mi dai l’IP?

Server DNS: Certamente, è 173.194.112.33!

In genere, il nostro router gestisce le richieste DNS verso il server che ci dà il nostro fornitore di accesso a Internet. I nostri computer fanno invece una richiesta DNS al router, quindi collegandosi ad un indirizzo tipo 192.168.0.1 (o comunque l’indirizzo del router) ed è il router che poi si arrangia a trovare la risposta prima di restituirla.

Se usiamo una VPN con Network Manager, si verifica un problema di DNS leak (è stato segnalato come bug), cioè le richieste DNS del nostro computer passano fuori dalla VPN e non sono protette! Questo diagramma spiega la situazione:

Collegamento VPN con DNS leak
Collegamento VPN con DNS leak

Le connessioni a siti esterni (in rosso) sono protette e passano in modo criptato attraverso la VPN, che poi le fa uscire verso Internet. Però le richieste DNS sono (di default) rivolte verso il router, che ha un indirizzo di rete interna e perciò passa fuori dalla VPN.

Il router, di conseguenza, effettua una richiesta DNS al server (in blu) e quindi di fatto permette di lasciare una traccia sui siti che presumibilmente abbiamo visitato (se c’è una richiesta DNS, ci sarà un motivo…). Senza contare che, in alcuni luoghi, i DNS potrebbero essere configurati per impedirci di visualizzare determinati siti (per esempio Facebook o Youtube).

Quello che vorremmo noi, invece, è che le richieste DNS fossero protette (e quindi passassero nella VPN, non tramite il router). In attesa che il bug venga risolto, vi consiglio due metodi: uno è più facile e si può fare per ogni connessione, l’altro è globale ma leggermente più complicato.

Metodo 1: modificare le connessioni singolarmente

In attesa che il bug venga risolto, un metodo facile che ho trovato per risolvere il problema è impostare i server DNS manualmente nelle impostazioni della connessione VPN (va fatto per ogni server). Per esempio, potremmo impostare i server DNS di Google così:

Configurazione statica dei server DNS su una connessione VPN
Configurazione statica dei server DNS su una connessione VPN

Le impostazioni vanno fatte sicuramente per IPv4, che è ancora la versione di IP più utilizzata. Se siete su una rete che utilizza IPv6, dovrete configurare anche dei DNS per questa versione del protocollo.

Metodo 2: forzare i DNS per tutte le VPN

Si può anche fare una modifica globale al sistema che induca tutte le connessioni VPN a usare un certo DNS.

Per ottenere il risultato che vogliamo, dobbiamo modificare un file di sistema relativo alle interfacce di rete. Quando ci colleghiamo in VPN, si attiva un’interfaccia di rete virtuale chiamata tun0. Noi imposteremo i DNS su questa interfaccia.

Dovete innanzitutto aprire il file come amministratori, per esempio su Ubuntu potete usare Gedit con il comando:

sudo gedit /etc/network/interfaces

Procedete quindi ad aggiungere, in fondo al file, le righe:

# Forza i server DNS su ogni connessione VPN
iface tun0 inet manual
dns-nameservers 8.8.8.8 8.8.4.4

Salvate e uscite. Tenete presente che questa è una configurazione solo per IPv4, non per IPv6. A questo punto dovete riavviare il sistema. Non basta chiudere la connessione, bisogna proprio riavviare.

Questa modifica ha il vantaggio che non richiede assolutamente di cambiare le impostazioni delle singole connessioni, ha un effetto globale su tutte le VPN che avvierete sul vostro computer. Inoltre, se volete cambiare i server DNS vi basta modificare un solo file e riavviare.

Attenzione: se usate anche VPN aziendali, badate che potrebbe darvi dei malfunzionamenti. Casomai testate e eventualmente annullate la modifica.

Passo finale: cambiare i DNS della connessione

Dopo alcuni test, ho verificato quanto riportato anche da altri: il semplice cambio DNS sulla VPN non previene il leak al 100%, specialmente se usate la funzione Connessione VPN automatica nelle impostazioni, per accedere automaticamente alla VPN quando si attiva il Wi-Fi o la rete cablata.

Per essere sicuri il più possibile, vi consiglio di modificare la connessione che usate sempre a casa (wireless o cablata) e impostare anche lì i DNS statici, mettendo la rete in modalità Automatico (DHCP) solo indirizzi. I parametri per la connessione saranno molto simili a quelli visti nel Metodo 1 per la VPN.

A questo punto, la combinazione di uno dei due metodi visti prima con quest’ultimo passo vi dovrebbe dare una copertura adeguata in tutte le situazioni. ;) Quando il bug verrà risolto, tutto ciò non sarà più necessario.

Qualsiasi metodo adottiate, trovate un’ottima lista di server DNS su DuckDuckGo tra cui poter scegliere. Una volta attivata la modifica, la situazione sarà così:

Connessione VPN senza DNS leak
Connessione VPN senza DNS leak

La richiesta DNS (in verde) è sempre contenuta dentro al collegamento criptato della VPN (l’ho disegnata a parte solo per far capire la dinamica) e quindi il router non la riceve né la rimanda al server DNS. La richiesta non viene svelata né può essere dirottata o bloccata dal router.

Con questo, ho praticamente finito. Non mi resta altro da fare che ricordarvi che è buona norma attivare la VPN automaticamente quando si accede a determinate reti (per esempio il Wi-Fi di casa) in modo da essere sempre protetti. ;)

Vi auguro una buona e sicura navigazione!

Aggiornamento 14/01/2016: l’articolo è stato integrato con l’aggiunta dell’impostazione statica dei DNS nella connessione usata abitualmente.

Leggi il contenuto originale su ubuntu – Andrea Lazzarotto

Written by: Lazza