Reti VPN: differenze tra PPTP, L2TP IPSec e OpenVPN

Differenze tra reti VPN e protocolli utilizzabili per creare un tunnel cifrato che consenta di scambiare dati senza la possibilità che essi possano essere sottratti, monitorati o modificati da parte di terzi. Come installare un server VPN.

Una rete VPN consente di stabilire un collegamento sicuro tra sistemi che utilizzano, per scambiarsi dati, lo strumento più insicuro per eccellenza: Internet.
I vari sistemi che si collegano ad un server VPN, da remoto, indipendentemente dallo loro locazione fisica, possono entrare a far parte di una rete locale posta anche a migliaia di chilometri di distanza: si può ad esempio accedere alle risorse condivise in LAN come se il dispositivo in uso fosse parte della rete locale.
Per scambiare i dati con la LAN remota, viene creato un tunnel virtuale all’interno del quale tutti i pacchetti dati vengono crittografati in modo tale che non possano essere monitorati o intercettati da terzi.

PPTP, L2TP/IPSec, SSTP, IKEv2 e OpenVPN sono protocolli a supporto delle reti VPN che permettono di accedere da remoto alle reti aziendali (ma anche alle reti locali di piccole attività e studi professionali) in maniera sicura, attraverso la rete Internet.

Con questo articolo ci prefiggiamo di far luce sulle debolezze e sui punti di forza di ciascun protocollo ponendo in evidenza le principali differenze tra PPTP, L2TP IPSec e OpenVPN. In questo modo, prima di accingersi alla configurazione di una rete VPN si potrà scegliere qualche protocollo viene maggiormente incontro alle proprie esigenze.

Alcuni provider di servizi VPN (vedere anche l’articolo Come, quando e perché utilizzare una connessione VPN) offrono anche la possibilità di scegliere, di volta in volta, quali protocolli utilizzate per la connessione. È infatti possibile sia allestire un server VPN all’interno della propria rete aziendale o domestica sia collegarsi a un server VPN gestito da terzi se l’obiettivo fosse quello di proteggere i dati scambiati in rete, superare eventuali limitazioni geografiche e velocizzare le prestazioni di alcuni servizi di streaming.

In figura l’esempio di ExpressVPN, servizio VPN che permette anche di scegliere il protocollo da utilizzare.

PPTP

Il protocollo PPTP era fino a qualche tempo fa il più utilizzato per instaurare connessioni VPN ma è anche il meno sicuro in assoluto.
Sviluppato da Microsoft, PPTP supporta chiavi crittografiche fino a 128 bit. La cifratura dei dati viene effettuata adoperando il Microsoft Point to Point Encryption Protocol.
Per stabilire una connessione VPN con PPTP, viene richiesto solamente l’utilizzo di un nome utente, di una password e dell’indirizzo del server VPN.
È l’opzione meno sicura da scegliere quando si decide di attivare una VPN ed anzi andrebbe ormai sempre evitata a dispetto dell’ampio supporto da parte di tutte le versioni di Windows, vecchie e nuove, utilizzabile nelle varie distribuzioni Linux, con i firmware per router DD-WRT e Tomato, in iOS, Android e macOS.

L’utilizzo del protocollo PPTP consente di allestire in modo estremamente semplice e veloce una connessione VPN. Il suo punto di forza è sicuramente la compatibilità con un vasto numero di sistemi e piattaforme. A causa delle vulnerabilità scoperte in PPTP (vedere il nostro articolo VPN: Microsoft conferma le vulnerabilità di MS-CHAP v2 e quello di Bruce Schneier), tuttavia, l’uso di PPTP è sconsigliato a tutti gli utenti più esperti e comunque a tutti coloro che debbano far transitare, attraverso il tunnel VPN, informazioni importanti.

Per usare PPTP è necessario aprire sul router (ed inoltrare correttamente) il traffico in ingresso sulla porta TCP 1723 (vedere anche Aprire porte sul router e chiuderle quando non più necessario).

Alcuni anni fa, nell’articolo Creare una semplice rete VPN con Windows 7 e Windows XP, avevamo visto come creare una rete VPN da un sistema client come Windows 7 utilizzando proprio PPTP.

L2TP/IPSec

Il protocollo L2TP, acronimo di Layer 2 Tunnel Protocol è un popolare strumento utilizzato per stabilire connessioni VPN. Di per sé non offre alcuna forma di protezione ed i dati in transito non vengono cifrati.
Per questo motivo, L2TP è solitamente utilizzato “in coppia” con il protocollo IPSec che invece integra funzionalità di autenticazione, cifratura e controllo di identità dei pacchetti IP.
Supporta chiavi crittografiche fino a 256 bit utilizzando il protocollo IPSec anche se la loro lunghezza varia sulla base degli algoritmi utilizzati. Per maggior sicurezza L2TP utilizza un doppio incapsulamento dei dati.

Rispetto a PPTP e OpenVPN, L2TP è leggermente meno performante ma gode comunque di un buon supporto da parte dei vari sistemi operativi. L2TP è ad esempio compatibile con Windows XP, Windows 7, Windows 8.1, Windows 10 (anche se solo in modalità client), con iOS, Android, Linux e macOS.

L2TP, combinato con l’uso del protocollo IPSec, offre un livello di sicurezza nettamente superiore rispetto a PPTP.
È ritenuto sicuro anche se nel 2013 sono circolati alcuni report a firma di Edward Snowden che parla di IPSec come di uno standard ormai compromesso dall’agenzia statunitense NSA mentre John Gilmore (esperto di sicurezza e cofondatore della Electronic Frontier Foundation) sosteneva addirittura che il protocollo conterrebbe delle vulnerabilità deliberatamente inserite nella fase di sviluppo.
Le porte utilizzate sono le seguenti: UDP 500, UDP 1701 e UDP 4500.

SSTP

Acronimo di Secure Socket Tunneling Protocol, il protocollo SSTP è stato sviluppato da Microsoft e inserito per la prima volta in Windows con il lancio di Vista.
Si tratta di un protocollo proprietario (quindi non opensource) che funziona anche in Linux ma che è stato progettato primariamente per funzionare su sistemi Windows.
È migliore rispetto a L2TP per gestire le configurazioni in cui si utilizzano firewall ma è ormai davvero poco utilizzato. Le sue performance sono comparabili con quelle di OpenVPN ed è ritenuto sicuro per via dell’utilizzo della crittografia AES.

IKEv2

Non è propriamente considerabile come un protocollo VPN. Sviluppato da Microsoft e Cisco, è stato progettato per gestire le connessioni mobili via 3G e 4G/LTE per via delle sue abilità nel ristabilire velocemente il collegamento quando il segnale dovesse improvvisamente scomparire per poi tornare in seguito.
È molto veloce, il più veloce della lista se si esclude il recentissimo WireGuard, ed è sicuro essendo basato su diversi livelli AES e permettendo l’utilizzo del protocollo IPSec.

OpenVPN

Si tratta della più popolare e più sicura applicazione che permette di stabilire connessioni VPN in tutta sicurezza: OpenVPN supporta chiavi lunghe fino a 256 bit.
I dati vengono in questo caso crittografati utilizzando la libreria OpenSSL e le performance sono migliori rispetto a PPTP e L2TP.

L’utilizzo di OpenVPN spesso non è contemplato nei firmware “standard” che equipaggiano i router commerciali anche se negli ultimi anni la situazione è nettamente migliorata. È comunque possibile attivare una rete VPN facendo sì che il router funga da server VPN utilizzando firmware come DD-WRT o Tomato.

Nell’articolo Come configurare una rete VPN professionale con OpenVPN e DD-WRT abbiamo proprio spiegato come trasformare il router in un server VPN OpenVPN installando e configurando il “custom firmware” DD-WRT (non è compatibile con tutti i router in commercio).

OpenVPN può essere liberamente impostato in modo tale da usare qualunque porta TCP o UDP ed è compatibile con Windows, Linux e macOS previa installazione dell’apposito software client.
Anche su Android si può effettuare una connessione verso un server OpenVPN installando apposite applicazioni.

WireGuard

Un protocollo decisamente più performante rispetto a OpenVPN che si è recentemente affacciato sulla scena mondiale è WireGuard.
Mentre OpenVPN poggia complessivamente su circa 120.000 righe di codice, WireGuard utilizza solo 4.000 righe di codice e un’architettura complessivamente molto snella. Una caratteristica che permette di migliorare e tenere più sotto controllo gli aspetti legati alla sicurezza.
Nell’articolo VPN gratis: cos’è e come funziona WireGuard con AzireVPN abbiamo presentato nel dettaglio WireGuard soffermandoci anche sugli aspetti legati alle performance: banda disponibile e latenza.

Creare una rete VPN

Il modo migliore per allestire una rete VPN è configurare la funzionalità server sul router che si utilizza in azienda, in ufficio o a casa.
A tal proposito, però, è bene sottolineare che la maggior parte dei router più a buon mercato non integra la funzionalità server ma può solo fungere da client VPN.
Nella scelta del router è quindi bene verificare – esaminandone attentamente le specifiche tecniche – che possa operare come server OpenVPN o al limite L2TP/IPSec.

Chi non avesse trovato nulla di valido, può orientarsi sui router a marchio Mikrotik, produttore lettone che offre ottimi dispositivi con supporto server OpenVPN integrato a prezzi concorrenziali (vedere ad esempio questa pagina su Amazon Italia).

Il router Mikrotik, essendo sprovvisto di funzionalità modem (non integra un modem ADSL2+), può essere installato “dietro” ad un qualunque dispositivo capace di negoziare la connessione con il provider Internet e che sia configurabile in bridge.
Una guida passo-passo per la configurazione di OpenVPN sui router Mikrotik è disponibile a questo indirizzo.

I più smaliziati, sempre che il router sia compatibile, possono installare firmware personalizzati come DD-WRT o Tomato. Entrambi offrono gli strumenti per trasformare il router anche in server OpenVPN (ne abbiamo parlato nell’articolo Come configurare una rete VPN professionale con OpenVPN e DD-WRT).

Alcuni server NAS consentono l’impostazione di un server VPN: nel caso dei prodotti Synology ne abbiamo parlato nei seguenti articoli:
Server VPN, come crearlo usando un NAS
Rendere più sicura la VPN sui server NAS Synology

Ancora, in alternativa, ci si potrà ad esempio rivolgere ad una distribuzione come Amahi che, in men che non si dica, consente di allestire un server OpenVPN all’interno della propria rete locale: Reti VPN: scambiare dati in sicurezza con i sistemi collegati alla LAN. Amahi e OpenVPN.
Amahi può essere utilizzato anche da una chiavetta USB, da un qualunque supporto avviabile od installato in una macchina virtuale che, a sua volta, abbia titolo per accedere alle risorse condivise all’interno della rete locale.

Un’ulteriore opzione consiste nell’installare e configurare OpenVPN su una macchina Windows o Linux.
Per quanto riguarda Windows, nell’articolo Connessione VPN in Windows con OpenVPN trovate una guida passo passo per impostare un server VPN.

Configurare il router o il server NAS per la creazione e la gestione di un server VPN è senza dubbio la soluzione in assoluto più pratica. Negli altri casi, per avere la possibilità di raggiungere il server VPN dall’esterno, bisognerà mantenere sempre accesa la macchina sulla quale è installato il server VPN.

Ti consigliamo anche

Link copiato negli appunti