VPN Marco Sanlorenzo
Cos’è una VPN I Una rete VPN (Virtual Private Network) permette a computer ubicati in sedi fisiche diverse di stabilire un collegamento tramite una rete non dedicata
Cos’è una VPN II La VPN elimina la necessità di ricorrere a costose linee dedicate poiché la connessione a Internet permette di collegare sia sedi diverse sia utenti remoti. Una VPN è, quindi, una rete di tipo virtuale che, attraverso algoritmi di crittografia, consente il collegamento tra computer remoti
Requisiti di base I Crittografia Poiché la rete tra i diversi client non è dedicata, ma pubblica, è fondamentale che i dati inviati siano crittografati per rendere le informazioni scambiate più sicure
Requisiti di base II Crittografia Dovendo implementare una VPN uno dei metodi più utilizzati è quello di utilizzare la tecnica del tunneling, che consiste nell’incapsulare un protocollo in uno di livello superiore In una configurazione normale, invece, un protocollo viene incapsulato in uno di livello inferiore, come avviene ad esempio con IP, che viene incapsulato in ethernet
Tunneling Per quello che riguarda le VPN, invece, le tecniche di tunneling vengono utilizzate per incapsulare IP in IP, TCP o UDP, inserendo uno strato di crittografia. In queste tecniche, due reti IP, o due parti della stessa sottorete IP, entrambe connesse ad internet, vengono interconnesse facendo passare il traffico all'interno di una connessione privata che viene trasmessa su internet
Requisiti di base IV Principali algoritmi di crittografia utilizzati sono: SSL (Secure Sockets Layer) TLS (Transport Layer Security) L2F (Layer Two Forwarding) L2TP (Layer Two Tunneling Protocol) PPTP (Point to Point Tunneling Protocol) IPsec (IP Security) L2TP/Ipsec MPLS
SSL / TLS Scopo primario di SSL è fornire sistemi di crittografia per comunicazioni affidabili e riservate sulla rete sfruttabili in applicazioni quali, ad esempio, posta elettronica e sistemi di autenticazione. Il protocollo SSL provvede alla sicurezza del collegamento garantendo: Autenticazione: l'identità nelle connessioni può essere autenticata usando la crittografia asimmetrica, ovvero a chiave pubblica (RSA, DSS). Così ogni client comunica in sicurezza con il corretto server, prevenendo ogni interposizione. È prevista la certificazione del server e, opzionalmente, quella del client. Confidenzialità nella trasmissione dei dati: la crittografia è usata dopo un handshake (accordo) iniziale per definire una chiave segreta di sessione. In seguito, per crittografare i dati è usata la crittografia simmetrica (AES,3DES, RC4, ecc.). Affidabilità: il livello di trasporto include un controllo dell'integrità del messaggio basato su un apposito MAC (Message Authentication Code) che utilizza funzioni hash sicure (MD5, SHA, RIPEMD-320, ecc). In tal modo si verifica che i dati spediti tra client e server non siano stati alterati durante la trasmissione. SSL 3.0 è stato utilizzato come base per TLS 1.0 (RFC2246)
SSL II Le prime implementazioni di SSL erano limitate a cifratura a chiave simmetrica di 40 bit a causa delle restrizioni imposte dal governo statunitense sull'esportazione di tecnologie crittografiche. La limitazione della dimensione delle chiavi a 40 bit è stata esplicitamente imposta per rendere la cifratura abbastanza debole da potere essere forzata (tramite l'uso di tecniche di ricerca brute force) dalle autorità giudiziarie che volessero decifrare il traffico criptato, ma sufficientemente resistente agli attacchi da parte di entità con minori disponibilità finanziarie. Dopo diversi anni di controversie pubbliche, cause e l'ammissione da parte del governo americano di disponibilità sul mercato di prodotti per la cifratura 'migliori' (sia all'interno che al di fuori degli Stati Uniti), alcuni aspetti delle restrizioni sono stati modificati. Le implementazioni moderne utilizzano chiavi per la cifratura simmetrica a 128 (o più, tipicamente sino a 4096) bit.
L2F Il protocollo L2F è stato proposto da Cisco alla IETF (Internet Engineering Task Force ) ed incluso nella RFC 2341, ma mai ratificato, e consente di incapsulare datagrammi PPP in frame L2F, anche se non assicura confidenzialità, autenticazione e integrità dei dati. Lavora sul livello Data Link del modello ISO/OSI Sua naturale evoluzione è il protocollo L2TP Veniva utilizzato per implementare le VPN del tipo Trusted e Secure, assieme ad L2TP e ad L2TPv3
L2TP Questo protocollo, sviluppato da Cisco quale successore diretto di L2F, è uno standard IETF a partire dalla RFC 2661 del 1999 Agisce come un protocollo del livello 2 del modello OSI anche se in realtà è del livello 5 (il session layer) e, utilizzando la porta UDP 1701, invia le sessioni PPP (Point to Point Protocol) in tunnel L2TP. Come già L2F anche questo protocollo non assicura né confidenzialità né autenticazione, e viene pertanto utilizzato o nelle VPN trusted o in combinazione con IPSec Da menzionare è la sua evoluzione L2TPv3 del 2005, standardizzata nella RFC 3931 di IETF. Tale evoluzione è una valida alternativa ad MPLS (Multi Protocol Label Switching)
PPTP Il protocollo PPTP è stato pubblicato nella RFC2637 di IETF anche se non è mai stato ratificato. Ha buone performances a livello di velocità di esecuzione oltre a risultare molto facilmente configurabile Funziona inviando una normale sessione PPP al peer tramite il protocollo di routing GRE. Una seconda sessione sulla porta TCP 1723 viene utilizzata per gestire la sessione GRE A causa dell’uso di due distinte sessioni di rete presenta il difetto di essere difficilmente instradabile da un firewall Questo protocollo assicura autenticazione e criptazione dei dati grazie al protocollo MSCHAP v2 (di proprietà Microsoft, sviluppatrice dello stesso PPTP) o TLS, preferibile in quanto molto più robusto del precedente Risulta possibile effettuare un’ ulteriore fase di criptazione attraverso MPPE (Microsoft Point to Point Encryption, RFC 3078) Viene utilizzato nelle VPN di tipo Secure anche se gli viene preferito L2TP/IPSec per via di una maggiore sicurezza a discapito però di minori prestazioni
IPsec I IPsec è una collezione di protocolli formata da Protocolli che forniscono la cifratura del flusso di dati Protocolli che implementano lo scambio delle chiavi per realizzare il flusso crittografato. Per quanto riguarda il primo aspetto, esistono due protocolli: Authentication Header (AH) e Encapsulating Security Payload (ESP). ESP fornisce autenticazione, confidenzialità e controllo di integrità del messaggio ed è il protocollo IP 50. AH, invece, garantisce l'autenticazione e l'integrità del messaggio ma non offre la confidenzialità; per questo motivo ESP è molto più usato di AH; AH è il protocollo IP 51. Attualmente esiste un solo protocollo per lo scambio delle chiavi, il protocollo IKE. IPsec è parte integrante di IPv6, mentre è opzionale in IPv4. Di conseguenza, ci si aspetta che sarà maggiormente utilizzato quando IPv6 acquisterà popolarità. Il protocollo è definito nelle RFC 1825 e 1829 Ulteriori versioni sono la successivamente sviluppata, ma incompatibile, versione ratificata nelle RFC 2401 e 2412 e l’ultima attualmente disponibile delle RFC 4301 e 4309 (con una nuova versione dei protocolli IKE e ESP, ora noto come ESPbis).
IPsec II IPsec è stato progettato per rendere sicure sia comunicazioni portal-to-portal sia comunicazioni end-to-end. Nella prima configurazione il traffico viene reso "sicuro" a diversi computer (in alcuni casi ad un intera LAN); nella seconda solo i peer che stabiliscono la connessione scambiano pacchetti protetti. Tuttavia l'uso predominante di IPsec è la creazione di VPN (virtual private network); per conseguire tale scopo possono essere utilizzati entrambi i metodi prima esposti. IPsec supporta due modalità di funzionamento: Transport mode Tunnel mode Le due modalità sono supportate sia da AH che da ESP. IPsec può essere utilizzato anche per connessioni tra gateway e host.
IPsec Transport mode connessione host-to-host usato dagli end-point non dai gateway viene cifrato solo il payload dei datagram IP,non l'header computazionalmente leggero ogni host che vuole comunicare deve avere tutto il sw necessario ad implementare IPsec aggiungo solo l'header IPsec, mittente e destinazione si vedono
IPsec Tunnel mode connessione gateway-to-gateway viene cifrato tutto il pacchetto IP originale utilizzato per realizzare le VPN computazionalmente oneroso solo i gateway devono avere il sw Ipsec ho punti di centralizzazione quindi single point of failure ho un doppio incapsulamento, aggiungo l'header del gateway e l'header IPsec,mittente e destinazione non si vedono
L2TP/IPsec A partire dalla RFC 3193 è stato standardizzato il protocollo L2TP/IPSec per sopperire alla mancanza di confidenzialità di cui soffre L2TP Il protocollo è composto da un algoritmo con essenzialmente 3 passggi fondamentali: Negoziazione tramite IKE Creazione di un canale sicuro tramite il protocollo ESP usato in Transport mode Negoziazione dei parametri di L2TP sul canale sicuro creato da IPsec e tunneling attraverso questo Da notare la fondamentale differenza tra un canale sicuro ed un tunnel, alla base della maggior confidenzialità offerta da questo algoritmo: L2TP non fa altro che inviare pacchetti in modalità non sicura attraverso un canale criptato creato dall’algoritmo IPSec
MPLS Il Multi Protocol Label Switching (MPLS) è uno standard multiprotocollo la cui introduzione in rete permette agli Internet Service Provider di offrire in maniera flessibile e scalabile servizi di VPN (Virtual Private Network), Traffic Engineering e supporto della QoS (Quality of Service) Questa tecnologia è anche utilizzata per applicazioni particolari come il trasporto attraverso reti IP/MPLS di protocolli diversi da IP (ad esempio IPv6). MPLS non può essere considerato un protocollo di rete a tutti gli effetti perché non esistono terminali di rete MPLS ma è piuttosto da considerare come una tecnologia che rende possibile servizi particolari. Questo protocollo viene solitamente utilizzato nelle VPN di tipo Secure e Trusted in alternativa ad L2TP
Tipologie di VPN Si identificano in particolare tre tipi di VPN: Le Trusted VPN, che vengono utilizzate qualora si conti sulla sicurezza della rete in quanto tale per proteggere il traffico, senza affidarsi ad algoritmi di crittografia Le Secure VPN, che utilizzano protocolli crittografici a tunnel per offrire l’autenticazione del mittente e l’integrità del messaggio, allo scopo di difendere la privacy. Una volta scelte, implementate ed usate, alcune tecniche possono fornire comunicazioni sicure su reti non sicure. Le Hybrid VPN, che per l’appunto un insieme delle due già citate tipologie e sono di più recente introduzione
Trusted VPN La garanzia che la rete Trusted VPN offre è la sicurezza che nessun terzo non autorizzato possa usufruire del circuito del cliente. Questo implica che il cliente abbia un proprio indirizzo IP e una propria politica di sicurezza. Il circuito viaggia attraverso uno o più “interruttori” di comunicazione che possono essere compromessi da chi vuole disturbare il traffico della rete. Il cliente di una VPN si aspetta quindi che il fornitore (provider) della VPN mantenga l’integrità del circuito in modo da impedire l'accesso di intrusi. Le aziende che utilizzano la Trusted VPN vogliono avere la sicurezza che i loro dati si muovano attraverso una serie di percorsi che hanno proprietà specifiche e che sono controllati da un ISP. Il cliente ha quindi fiducia che i percorsi attraverso i quali questi dati si muovono siano mantenuti sicuri secondo i criteri di un precedente accordo, anche se generalmente il cliente non conosce quali siano i percorsi utilizzati dal fornitore della VPN Trusted.
Trusted VPN II Requisiti Necessari: nessuno al di fuori del fornitore della VPN Trusted può influire sulla creazione o la modificazione del percorso VPN. Nessuno al di fuori del rapporto di fiducia può cambiare nessuna parte della VPN. nessuno al di fuori del fornitore della VPN Trusted può modificare i dati in entrata o quelli eliminati dal percorso della VPN. I dati viaggiano all’interno dei vari percorsi che sono condivisi da più clienti del fornitore, il percorso deve quindi essere specificato dal VPN e nessuno a parte il fornitore di fiducia può modificare i vari dati Il percorso e l’indirizzo usati in una VPN Trusted devono essere stabiliti prima che il VPN venga creato. Il cliente deve sapere ciò che si aspetta dal fornitore, così che entrambi possano pianificare e creare la rete per la quale stanno collaborando.
Trusted VPN III Tecnologie utilizzate dalle Trusted VPN: L2F L2TP L2TPv3
Secure VPN Da quando Internet si è diffusa ed è diventato un importante mezzo di comunicazione, la sicurezza è diventata sempre più importante, sia per i clienti, sia per i provider. Visto che la VPN Trusted non offriva una sicurezza completa, i fornitori di connettività hanno cominciato a creare protocolli che permettessero la criptazione dei dati da parte della rete o da parte del computer di provenienza, in modo da essere trasportati in Internet come qualsiasi altro dato, per poi essere decriptati all’arrivo nella rete dell’azienda o nel computer ricevente. Questo traffico criptato agisce come un “Tunnel” tra due reti: anche se un intruso cercasse di leggere i dati non potrebbe decifrarne il contenuto né modificarli, dato che eventuali modifiche sarebbero immediatamente rilevate dal ricevente e quindi respinte. Le reti costruite utilizzando la criptazione dei dati sono chiamate Secure VPN. Le Secure VPN sono particolarmente utili per permettere accessi remoti da parte di utilizzatori connessi ad Internet da zone non controllate dall’amministratore della rete.
Secure VPN II Requisiti necessari: Tutto il traffico su una Secure VPN deve essere criptato e autenticato. Molti dei protocolli utilizzati per creare Secure VPN permettono la creazione di reti autenticate, ma non criptate. Anche se una simile rete è più sicura di una rete senza autenticazione, non potrebbe essere considerata una VPN perché non protegge la privacy. Le proprietà di sicurezza di una VPN devono essere concordate da tutte le parti della VPN. VPN sicure hanno uno o più “tunnel” e ogni tunnel ha due estremità. Gli amministratori delle due estremità di ogni Tunnel devono essere in grado di accordarsi sulle proprietà di sicurezza del tunnel. Nessuno al di fuori della VPN può compromettere le proprietà di sicurezza della VPN. Deve essere impossibile per un intruso cambiare le proprietà di sicurezza di una o più parti della VPN, in modo da indebolire la criptazione o di compromettere le chiavi di criptazione usate.
Secure VPN III Tecnologie utilizzate dalle Secure VPN: PPTP IPsec (opzionale in IPv4 ma obbligatorio in IPv6) L2TP/IPSec SSL 3.0 o TLS
Hybrid VPN Una hybrid VPN può essere vista come il risultato dell’unione dei due tipi di VPN visti precedentemente. Le parti sicure di una Hybrid VPN possono essere controllate da un cliente o dallo stesso provider che fornisce la parte di fiducia dell’Hybrid VPN. Qualche volta un'intera Hybrid VPN è resa sicura grazie ad una Secure VPN, ma più comunemente solo una parte dell’Hybrid VPN è sicura. E’ chiaro che le Secure VPN e le Trusted VPN hanno proprietà molto differenti Le Secure VPN danno sicurezza, ma non assicurano i percorsi. Le Trusted VPN assicurano le proprietà dei percorsi come QoS, ma non la sicurezza da intrusioni. A causa di questi punti di forza e di debolezza sono state introdotte le Hybrid VPN.
Intranet VPN Le VPN di tipo Intranet consentono ad aziende con uffici remoti di intercomunicare come all’interno di una vasta rete locale Intranet VPN consente una sostanziale riduzione di costi rispetto alle tradizionali linee dedicate, dal momento che utilizza Internet per superare qualsiasi distanza tra i diversi punti.
Remote Access VPN Le soluzioni di accesso a distanza (RAS) VPN si differenziano dallo scenario intranet visto precedentemente perché coinvolgono nel processo solo un gateway VPN. L'altra interfaccia coinvolta nel garantire un canale di comunicazione sicuro con il gateway VPN è un PC connesso ad Internet con un software VPN Client. Il VPN Client permette ai telelavoratori ed agli utenti mobili di comunicare con la rete centrale e con i server d’accesso come se fossero fisicamente presenti. L’accesso a distanza fornito dal VPN consente di ridurre significativamente il volume dei costi telefonici “long distance”. RAS VPN contribuisce all’incremento della produttività ed alla totale tranquillità degli utenti perché garantisce un accesso sicuro alla rete, indipendentemente dal luogo fisico nel quale si trova il dipendente.
Extranet VPN Le Extranet VPN presentano caratteristiche quasi identiche alle Intranet, con la differenza che sono destinate a partner aziendali esterni. In questo caso si usano contemporaneamente firewall che restringono l’accesso ed i tunnel VPN. In questo modo i partner possono accedere solamente a risorse specifiche, ma rimangono loro inaccessibili le informazioni private dell’azienda. Per esempio, un produttore può creare un Extranet con un fornitore per consentirgli l’accesso al database dell’inventario, mentre il resto delle informazioni che risiedono nel network aziendale non saranno visibili.
Benefici I Estende la connettività geografica Migliora la sicurezza dove le linee di dati non sono state crittate Riduce i costi di operazione Riduce il tempo di transito e i costi di trasporto per i clienti remoti Semplifica la topologia di rete, almeno in determinati scenari Fornisce la possibilità di reti globali Fornisce supporto di rete Fornisce compatibilità con le reti a banda larga Fornisce una più veloce ROI (tempo di ritorno dell'investimento) rispetto al trasporto tradizionale delle linee WAN Mostra una buona economia di scala
Problematiche La sicurezza nei confronti del cliente deve essere stretta e rafforzata. E’ necessario, in particolare, installare un firewall dedicato qualora l’azienda desideri che i proprio collaboratori possano accedere alla VPN aziendale anche al di fuori dalle sedi. (come nel caso della RAS VPN) Le politiche di registrazione devono essere valutate e nella maggior parte dei casi riviste In situazioni in cui le aziende, o individui, hanno obblighi legali per la tenuta di informazioni confidenziali, ci possono essere problemi legali o penali. Due esempi sono i regolamenti HIPAA negli USA con riguardo ai dati sicuri, e i regolamenti generali dell’Unione europea che si applicano ad ogni informazione comerciale e contabile, e si estende a coloro che condividono questi dati.
Bibliografia it.wikipedia.org/wiki/Virtual_Private_Network http://www.vpnlabs.org/ http://www.vpnc.org/ http://www.ietf.org/rfc/rfc2661.txt http://www.ietf.org/rfc/rfc2341.txt http://www.ietf.org/rfc/rfc2637.txt http://www.ietf.org/rfc/rfc2917.txt http://en.wikipedia.org/wiki/L2TPv3