Virtual private network
Da Wikipedia, l'enciclopedia libera.
Una Virtual Private Network o VPN è una rete privata instaurata tra soggetti che utilizzano un mezzo di trasmissione pubblico e condiviso come può essere per esempio internet. Il messaggio e il traffico della VPN transitano sulla rete pubblica utilizzando gli standard di trasmissione della rete e quindi potenzialmente possono essere insicuri dato che sono trasmessi in "chiaro" utilizzando protocolli comuni e quindi conosciuti anche da soggetti esterni alla VPN.
Per rendere le reti VPN sicure si sono adottati dei protocolli che provvedono a cifrare il traffico transitante sulla VPN rendendo la rete più sicura. Oltre alla cifratura una VPN sicura deve prevedere dei meccanismi nei suoi protocolli che impediscano violazioni della sicurezza come ad esempio il furto dell'identità digitale o l'alterazione dei messaggi.
Il termine VPN è un termine generico e non un marchio di qualità e quindi se un prodotto è marchiato VPN non vuol dire che sia un prodotto di alta qualità o di elevata sicurezza ma solamente che il produttore ha deciso di apporre quelle tre lettere sulla confezione del suo prodotto.
Usualmente si ritiene che una VPN adeguatamente progettata abbia un grado di sicurezza comparabile con quello di una rete dedicata.
I protocolli che implementano una VPN sicura più conosciuti sono:
- IPsec (IP security), parte obbligatoria dell'IPv6.
- PPTP (point-to-point tunneling protocol), sviluppato da Microsoft.
- SSL/TLS, che ha dimostrato grande flessibilità ed è quindi usato come strato di sicurezza per varie implementazioni (più o meno standard) di reti private virtuali.
Quest'ultimo meccanismo non implementa una rete virtuale, ma un colloquio sicuro tra due endpoint. In realtà, quindi, il meccanismo di rete virtuale deve essere realizzato mediante un protocollo apposito che viene poi incapsulato. Esiste oggi un discreto numero di approcci alternativi (ed ovviamente mutuamente incompatibili) a questo schema, tra i quali possiamo citare i seguenti.
- Protocollo SOCKS: questo approccio è il più "standard", in quanto SOCKS è uno standard IETF per Generic Firewall Traversal definito nella RFC 1928. Tra le implementazioni possiamo citare Permeo ed Aventail.
- OpenVPN mette a disposizione un eseguibile che crea un tunnel cifrato con un'altra istanza del medesimo programma su un computer remoto, e può trasportare l'intero stack TCP/IP.
- Un altro approccio molto usato utilizza il protocollo SSH, che è in grado, come OpenVPN, di creare dei tunnel tra le due macchine collegate. Questa feature è nata per trasportare XWindows, ma è stata implementata in modo generico, e tramite essa è possibile far viaggiare un protocollo qualsiasi. Una implementazione molto popolare, in quanto open source e gratuita, è OpenSSH.
- L'approccio di ormai tutti i vendor di firewall è invece quello di usare TLS per rendere sicura la comunicazione con un proxy al quale si accede via browser. Il canale cifrato viene realizzato in realtà generalmente tramite un'applet Java od un oggetto ActiveX, che quindi può essere installata in modo quasi trasparente per l'utente finale. La conseguente facilità di gestione fa sì che questo approccio sia particolarmente apprezzato nelle organizzazioni complesse.
Alcune reti VPN sicure non usano algoritmi di cifratura ma partono dal presupposto che un singolo soggetto fidato gestisca l'intera rete condivisa e che quindi l'impossibilità di accedere al traffico globale della rete renda i singoli canali sicuri dato che il gestore della rete fornisce ad ogni soggetto solamente la sua VPN.
I protocolli che utilizzano questa filosofia includono
- L2F (Layer 2 Forwarding), sviluppato da Cisco.
- L2TP (Layer 2 Tunnelling Protocol), sviluppato in congiunzione tra Microsoft e Cisco.
- L2TPv3 (Layer 2 Tunnelling Protocol version 3).
[modifica] Collegamenti esterni
- Come accedere sicuri a internet da una rete pubblica - AB Techno Blog
- (EN) Virtual Private Network Consortium
- (EN) VPN Tutorial and Resources
- (EN) VPN software information
- (EN) VPN Labs
- Distribuzione Linux in grado da agire da server VPN