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-toportal 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
Tecnologie utilizzate dalle Trusted VPN:
•
L2F
•
L2TP
•
L2TPv3
III
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
Tecnologie utilizzate dalle Secure VPN:
•
PPTP
•
IPsec (opzionale in IPv4 ma obbligatorio in IPv6)
•
L2TP/IPSec
•
SSL 3.0 o TLS
III
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
Scarica

VPN