La sicurezza deve seguire le seguenti tre regole:
Confidentiality, Integrity and Availability
Confidenzialità, Integrità e Disponibilità che rappresentano i tre elementi cardine che la sicurezza in ambito IT mira a garantire per quanto concerne i dati.
L’obiettivo dell’utilizzo di una VPN (Virtual Private Network – Rete Private Virtuale) è quello di assicurare, fra le altre cose, almeno due degli elementi della triade: la confidenzialità e l’integrità dei dati in transito.
Quando due entità o due utenti necessitano di dialogare fra loro attraverso una qualsiasi rete, ed in particolar modo su Internet, è possibile stabilire fra di essi un canale virtuale, e fare in modo che all’interno di questo canale “dedicato” i dati transitino in maniera sicura. Pensiamo proprio alla rete Internet e a due persone che devono interloquire fra loro attraverso la rete pubblica: nulla e nessuno potrà garantire che ciò che esse si comunicano non venga intercettato o copiato a loro insaputa, in questo caso vengono in aiuto le VPN. La P di “private” sta ad indicare la privatezza ossia la confidenzialità (e integrità) delle informazioni mentre la V di “virtual” indica il fatto che il canale è solo logicamente instaurato fra i due estremi, senza la necessità di ricorrere a costose linee dedicate. Le VPN, quindi, rispetto alle linee dedicate offrono pertanto due vantaggi essenziali che sono quelli dell’economicità (evitando l’acquisto di linee dedicate appunto) e la scalabilità (n utenti che debbano collegarsi ad uno stesso punto – ad esempio la sede aziendale – sfrutteranno tutti il medesimo canale di accesso, ossia la Internet, ovunque essi si trovino). Le componenti di confidenzialità e integrità offerte dalle VPN si basano essenzialmente sull’utilizzo della crittografia, gli algoritmi crittografici permettono infatti da un lato di rendere intelleggibile ad un eventuale “eavesdropper” il flusso dei dati fra i due capi della VPN e dall’altro garantiscono che quanto viene trasmesso non sia stato in alcun modo manipolato o danneggiato (intenzionalmente o meno).
In maniera molto semplicistica, della parte di confidenzialità si occupano gli algoritmi di cifratura (sia a chiave segreta che a chiave pubblica), mentre per l’aspetto dell’integrità ci si rivolge agli algoritmi di “hashing“.
Protocolli, tecnologie e tipologie di VPN
In questo contributo vorrei concentrarmi essenzialmente su due tipi di VPN:
- VPN di accesso remoto
- VPN site-to-site
Esistono poi due differenti tecnologie, ciascuna delle quali opera a differenti livello della pila ISO-OSI:
- VPN IPsec
- VPN SSL
A onor del vero questa classificazione è veramente riduttiva seppure – in ottica sicurezza – racchiuda i gruppi e i protocolli fondamentali, in letteratura probabilmente troverete tassonomie molto più estese perché sarebbe possibile parlare di altri tipi ed altre classificazioni delle VPN. Solo per fare un esempio è doveroso accennare alle cosiddette VPN MPLS che in ambito aziendale sono largamente diffuse, ma volendoci concentrare sull’aspetto della sicurezza e considerando il fatto che, di default, le VPN MPLS non forniscono la crittografia dei dati preferisco escluderle dal presente contributo.
Le VPN per l’accesso remoto
Vengono utilizzate nei casi in cui un utente in mobilità, in qualsiasi luogo del globo, debba collegarsi ad una sito remoto (tipicamente una sede aziendale) e desideri farlo in sicurezza, al riparo da intercettazioni. La costruzione del canale virtuale fra l’utente remoto e la sede aziendale, oltre a mettere al sicuro l’utente e l’azienda, permette di estendere la rete aziendale al di fuori dei propri confini geografici rendendo l’utente finale in grado di accedere a risorse interne (file, applicazioni, server, ecc.) altrimenti inaccessibili. Questo tipo di VPN possono basarsi sia sullo standard IPsec che sui protocolli della famiglia SSL (evoluti in TLS).
Le VPN site-to-site
Vengono utilizzate quando sedi o filiali della stessa azienda o di aziende differenti, situate a distanza geografica, hanno necessità di instaurare un canale di comunicazione sicuro (e molto spesso permanente) sfruttando un canale non sicuro come può essere Internet. Tali VPN sfruttano tipicamente lo standard IPsec e vengono realizzate solitamente tramite specifici terminatori delle VPN (router, firewall, server o appliance) a un capo e all’altro del canale. Una volta stabilita la VPN le due entità/organizzazioni entreranno in contatto potendo condividere in maniera sicura i dati che intendono scambiare fra loro (file, flussi, applicazioni, ecc.) senza dover acquistare da un provider una costosa linea dedicata.
Non è certo infrequente, nella realtà aziendale di oggi, trovarsi dinanzi a scenari in cui entrambi i tipi di VPN e entrambe le tecnologie (IPsec e SSL) vengono utilizzati allo stesso tempo
La crittografia alla base delle VPN
Entrare nei dettagli di come gli algoritmi di cifratura contribuiscano a realizzare le VPN e a renderle sicure va al di là dello scopo di questo articolo, tuttavia, come già accennato, la crittografia (sia simmetrica che asimmetrica) ricopre l’importante ruolo di abilitatore della confidenzialità e integrità dei dati, ma può entrare in gioco anche in un altro importante aspetto delle VPN: l’autenticazione, qualora quest’ultima faccia uso della crittografia a chiave pubblica, mediante firma digitale RSA.
Ciò che è doveroso specificare è che diversi algoritmi di cifratura (ed in diverse fasi della “vita” di una VPN) entrano in gioco. Gli algoritmi asimmetrici (esempio: RSA e Diffie-Hellman), più onerosi dal punto di vista computazionale, vengono utilizzati per l’autenticazione (RSA) o per lo scambio di chiavi segrete utilizzando un canale insicuro (Diffie-Hellman), mentre gli algoritmi simmetrici (più leggeri e performanti dal punto vista computazionale come 3DES e AES vengono utilizzati per fare il lavoro di cifratura “continua” dei dati una volta che il canale di comunicazione è stabilito.
Un ultimo fondamentale vantaggio delle VPN è il fatto che offrono protezione “anti replay“ ossia rendono impossibile ad un attaccante intercettare i messaggi in transito ed inserire dei messaggi modificati nel flusso dei dati fra sorgente e destinazione, nel caso ciò dovesse avvenire i messaggi modificati verrebbero scartati.
Le soluzioni di mercato
Site-to-site VPN
Per quanto riguarda le VPN site-to-site, la soluzione più diffusa è quella di demandare la realizzazione del tunnel VPN ad apparati di rete capaci di utilizzare lo standard IPsec (che chiameremo terminatori della VPN), che siano essi router o firewall. Occorrerà quindi accordarsi con la controparte (se si tratta di un’azienda esterna) e scegliere i parametri IPsec in modo che il tunnel si attivi con successo, a quel punto i PC o i server attestati ad un capo o all’altro del tunnel potranno “parlarsi” in maniera “trasparente” e sicura allo stesso tempo, lasciando il lavoro di cifratura e decifratura ai terminatori della VPN. I router e firewall più diffusi al mondo, anche non di livello enterprise, supportano lo standard IPSec e ciò rende possibile la protezione dei dati in transito in maniera abbastanza agevole.
VPN di accesso remoto
Per quanto riguarda le VPN per l’accesso remoto, solitamente basate sul protocollo TLS (erede di SSL), sono presenti sul mercato diverse soluzioni. Ciascun vendor potrà proporre la propria implementazione, ma in sostanza si tratta di definire ed installare quello che viene definito “concentratore” delle VPN il quale – esposto su Internet – raccoglierà, dalla rete della sede centrale, le richieste di accesso (tramite il protocollo SSL/TLS) da parte dei client. Le modalità con cui i client potranno realizzare il tunnel VPN sono in sostanza di tre differenti tipi:
- clientless (basata esclusivamente sul browser del dispositivo)
- plug-in based (ossia basate su un plug-in del browser che viene installato al momento della prima connessione al concentratore)
- client-based (quando è prevista l’installazione di un client software ad hoc)
Ciascuna delle soluzioni ha i suoi pro e i suoi contro: certamente la prima, quella clientless, è quella che può essere utilizzata in qualsiasi luogo e su qualsiasi PC che supporti il protocollo SSL. Ciascun vendor poi “colorerà” la propria soluzione in maniera diversa. La scelta di ciascuna azienda, in base alle proprie necessità, ricadrà sulla sfumatura e la soluzione più appropriate.
La prudenza in mobilità e la protezione dei dati aziendali
Un ultimo accenno va certamente fatto ad un altro utilizzo delle VPN che è di grande utilità per chi viaggia spesso, magari anche all’estero, e che fa sovente uso di accessi wi-fi pubblici, erogati da aeroporti o hotel. In questo caso è consigliabile fare ricorso ad un provider di servizi VPN. Esistono infatti sul mercato fornitori di connettività VPN a cifre abbordabili. In maniera molto semplificata, ciò che si ottiene utilizzando questo tipo di servizi ogniqualvolta ci si trovi a doversi collegare ad Internet da luoghi pubblici o “a rischio” è questo: per prima cosa l’utente si collegherà al proprio provider di servizi VPN, da quel momento in poi ogni connessione verso la rete Internet (che sia verso Google, il proprio portale preferito, la propria casella email via web, ecc.) non avverrà in maniera diretta, sarà il server del provider VPN (del quale dobbiamo avere fiducia, s’intende) a fare da tramite fra l’utente e il server di destinazione. Il computer dell’utente e il server VPN comunicheranno attraverso un tunnel interamente cifrato: in tal modo nessun malintenzionato eavesdropper (nella rete dell’albergo o nelle vicinanze se ci sta collegando in wi-fi) potrà interpretare il traffico generato.