Lo Smart Working al tempo del COVID-19 e il paradigma delle Virtual Private Network (VPN)
In questo particolare momento di emergenza dovuto alla pandemia da Covid-19 la tecnologia delle Virtual Private Network (VPN) rappresenta lo strumento più semplice e il più immediato per consentire ai dipendenti di un’organizzazione di accedere ai loro desktop remoti senza dover apportare notevoli modifiche alla propria infrastruttura IT.
Di seguito sarà sinteticamente descritta l’architettura e l’implementazione di una VPN fornendo al lettore, se pur in modo sintetico, le conoscenze tecnico-informatiche di base necessarie a comprendere l’efficacia dei collegamenti di rete virtuali per la sicurezza delle informazioni trasferite.
Il paradigma delle Virtual Private Network (VPN)
Il meccanismo di base di una VPN è quello di implementare un canale “privato” mediante un insieme di regole di sicurezza e riservatezza formalmente descritte, i c.d. protocolli, dove tutti i pacchetti di dati seguono lo stesso percorso dalla sorgente alla destinazione. Pertanto, quando si fa riferimento ad una VPN ci si riferisce a determinati protocolli informatici ed alla loro implementazione e abbinamento.
Funzioni e tipologie di VPN
Una VPN può essere distinta sia per la tecnologia sia per l’impiego che se ne fa.
In base alla tecnologia avremo VPN definite Trusted dove non è prevista una procedura di tunneling su un mezzo di comunicazione pubblico ma si utilizzano uno o più circuiti virtuali noleggiati da un fornitore di telecomunicazioni e ogni circuito (di livello 2 o 3 della pila ISO/OSI) si comporta come il singolo cavo di una ipotetica rete LAN controllata dall’utente; avremo invece VPN definite Secure che utilizzano reti pubbliche e condivise come Internet e le piattaforme cloud, garantendo la riservatezza di quanto trasportato mediante l’uso di crittografia e specifiche procedure di sicurezza con connessione autenticata. Infine avremo VPN di tipo Hybrid VPN che coniugano i vantaggi delle Trusted VPN e delle Secure VPN.
In base all’uso che se ne fa, invece, avremo VPN di tipo Remote access quando ad accedere alle risorse dell’organizzazione è un utente remoto attraverso apposito applicativo o browser; Site-to-site nel caso di connessione di sedi distaccate, di dipartimenti interni o di società con le quali si ha un rapporto di collaborazione.
Di fatto, per la realizzazione di una VPN non esiste un unico protocollo ma esistono differenti tipologie di protocolli per l’implementazione di metodi e modelli di codifica e sicurezza.
Tra i protocolli più comunemente utilizzati, per la sua robustezza, è il protocollo IPSec (IP Security – opera a Livello 3 della Pila ISO/OSI). Di particolare interesse è il protocollo SSL (Secure Socket Layer – opera tra il livello di trasporto e il livello di applicazione. In realtà racchiude il traffico di livello Application nella crittografia durante il trasporto) che rappresenta il più utilizzato per le comunicazioni sicure sulla rete Internet nella sua versione TLS (Transport Layer Security). E’ il protocollo utilizzato per le comunicazioni sicure sul web nella versione HTTPS (HyperText Transfer Protocol over Secure Socket Layer).
A titolo esemplificativo si riportano di seguito alcune caratteristiche del protocollo IPSec al fine di una più chiara comprensione di come sono implementati i diversi metodi di codifica e sicurezza dell’architettura IPSec per la realizzazione di una VPN.
È in grado di operare sia in modalità tunnel mode che come semplice trasporto dei dati end-to-end in modalità transport mode. La prima modalità incapsula un intero datagramma IP al suo interno, rendendola ideale per l’uso con le VPN o per trasportare traffico IP privato all’interno di reti IP pubbliche. La seconda modalità invece incapsula solamente il protocollo TCP o UDP, rendendo sicura la sola comunicazione applicativa tra due nodi della rete, ad esempio la comunicazione tra un web server e un database server.
I tre principali protocolli di cui fa uso la soluzione di sicurezza IPSec sono:
– Authentication Header (AH) che fornisce servizi di autenticazione e integrità;
– Encapsulation Header (ESP) che fornisce servizi di riservatezza, autenticazione e integrità;
– Internet Key Exchange (IKE) che gestisce lo scambio delle chiavi.
ESP e AH non si preoccupano dello scambio delle chiavi presumendo che i due interlocutori si siano già accordati tra loro con una Security Association (SA)[1] mediante opportuni meccanismi di sicurezza di scambio delle chiavi e autenticazione. Il compito di negoziare e gestire le Security Association, secondo opportune e predefinite politiche, è affidato a IKE. Le quattro metodologie più usate per l’autenticazione e lo scambio di chiavi attraverso IKE sono:
– Shared Secret: questa metodologia prevede che i sistemi conoscano una password comune;
– Public/Private Key: questa metodologia prevede l’uso di chiavi asimmetriche pubbliche e private;
– Digital Certificates: è simile a Public/Private Key ma con chiavi aderenti allo standard X.509 ovvero esiste una verifica dell’utente o del sistema remoto tramite una Certification Authority (CA);
– XAUT: si tratta di una metodologia proprietaria. Alcuni vendor come ad esempio Cisco, includono questa funzionalità per autenticare un utente attraverso Username e Password. Questa modalità differisce dalla Shared Secret perchè legata a un utente e non a un sistema.
Tuttavia, la robustezza di IPSec comporta procedure di installazione non di immediata realizzazione e, in molti casi, per sfruttarne pienamente la sua robustezza necessita di un hardware dedicato e software dedicato.
Una soluzione molto apprezzata per creare una connessione VPN sicura e affidabile in modo agevole è rappresentata dal pacchetto software open source con licenza GPL denominato OpenVPN[2].
La soluzione, basata sul protocollo e le librerie crittografiche SSL/TLS, è molto intuitiva e semplice da installare[3]. Per i sistemi Windows dispone anche di un’interfaccia grafica (GUI) che guida l’utente nell’installazione di tutte le componenti necessarie per l’attivazione. Tra le diverse impostazioni è possibile attivare l’abilitazione automatica del “tunneling” dei dati oppure lasciare all’utente decidere quando attivarla.
Conclusioni
In definitiva una soluzione VPN rappresenta un framework di sicurezza all’interno del quale due o più utenti possono scambiarsi dati su un’infrastruttura condivisa. Va comunque osservato che a determinare effettivamente un livello di sicurezza elevato è l’utilizzatore finale, ovvero la persona che utilizza la tecnologia di sicurezza implementata, sia fisica che logica. Ogni apparente sistema blindato può essere vanificato da utilizzatori poco convinti della sua efficacia o non addestrati al suo corretto utilizzo.
Note
[1] SA è un agreement o contratto tra due IPSec endpoints.
[2] http://openvpn.net/index.php/open-source/345-openvpn-project.html
[3] OpenVPN utilizza openssl per poter effettuare tutte le operazioni crittografiche.
Articolo a cura di Onofrio Signorile
Ingegnere dell’Informazione. Ha conseguito il Master universitario di II Livello in “Organizzazione, Management, Innovazione nelle Pubbliche Amministrazioni” ed è perfezionato in “Computer Forensics e Investigazioni Digitali”. Autore di articoli e pubblicazioni in materia di Sicurezza del Software, Sicurezza delle Reti e delle informazioni e di Intelligenza artificiale per l’analisi del rischio. È relatore in materia di sicurezza informatica, privacy & data protection in diversi corsi di formazione, seminari di aggiornamento professionale presso Enti della Pubblica Amministrazione, Associazioni e Ordini Professionali e Università.
Riveste ruoli di coordinamento e di direzione di Ufficio nella Pubblica Amministrazione.