Mostra tutti

Cosa è una VPN – Come installare e configurare una VPN aziendale o domestica

Cosa è una VPN e come installare e configurare una Virtual Private Network in ambito aziendale o domestico

Cosa è una VPN. In telecomunicazioni una VPN (virtual private network) è una rete di telecomunicazioni privata, instaurata tra soggetti che utilizzano, come tecnologia di trasporto, un protocollo di trasmissione pubblico e condiviso, come ad esempio la rete Internet.

Schema di principio di una VPN basata su Internet

Lo scopo delle reti VPN è quello di offrire alle aziende, a un costo minore, le stesse possibilità delle linee private a noleggio, ma sfruttando reti condivise pubbliche: si può vedere dunque una VPN come l’estensione a livello geografico di una rete locale privata aziendale sicura che colleghi tra loro siti interni all’azienda stessa variamente dislocati su un ampio territorio, sfruttando l’instradamento tramite IP per il trasporto su scala geografica e realizzando di fatto una rete WAN, detta appunto “virtuale” e “privata”, equivalente a un’infrastruttura fisica di rete (ossia con collegamenti fisici) dedicata.

Virtual Private Network, vpn,

Che cosa è una VPN

Il termine VPN è un termine generico che definisce l’idea e non un marchio o uno standard; in particolare non esiste alcun ente che regoli la denominazione di un prodotto come VPN: quindi ogni produttore può utilizzare la denominazione a suo piacimento. Esistono tuttavia vari organismi indipendenti, largamente riconosciuti, che certificano interoperabilità (la capacità di un sistema o di un prodotto informatico di cooperare e di scambiare informazioni) e sicurezza dei sistemi informatici, come ad esempio ICSA Labs. Un apparato o un software, che riporti il marchio di ICSA Labs per le VPN IPsec, ha sicuramente superato una serie di esami oggettivi e replicabili, che garantiscono la compatibilità con tutte le altre implementazioni certificate e un adeguato livello di sicurezza. È oggi opinione comune che una VPN correttamente progettata abbia un grado di sicurezza comparabile se non maggiore a quello di una rete dedicata.

Per mezzo di una VPN, utilizzando una connessione Internet (o anche radiofonica), è ad esempio possibile collegarsi da remoto (cioè dall’esterno) alla rete informatica della propria azienda. In termini semplificati: tramite una connessione VPN ci si può “collegare” da un client come se si fosse fisicamente (cavo di rete o intramezzo wireless) cablati. La connessione si svolge attraverso un tunnel “virtuale” (protetto e sicuro) supportato da Internet esattamente come fosse il cavo fisico abituale. In questo modo si possono utilizzare le risorse di rete abituali: cartelle, sistemi informatici gestionali, posta elettronica aziendale e così via. A parte l’esempio aziendale, questo vale per qualsiasi applicazione dove sia necessaria una connessione di rete da remoto.

Le VPN possono essere implementate attraverso i sistemi operativi comuni (Windows, Linux, Android, iOS, Mac OS MS-DOS) oppure tramite software di terze parti (esempio: Cisco VPN Client) che permette configurazioni più complesse e gestibili. Generalmente una VPN comprende due parti: una “esterna alla rete privata”, e quindi protetta, che preserva la trasmissione, e una meno affidabile e sicura che è “quella interna alla rete”, ad esempio via Internet.

Le reti VPN utilizzano collegamenti che necessitano di accesso in modo da garantire l’accesso ai soli utenti autorizzati; per garantire la sicurezza che i dati inviati in Internet non siano intercettati o utilizzati da altri non autorizzati, le reti utilizzano sistemi di codifica. Le reti VPN sicure adottano dunque protocolli che provvedono a cifrare il traffico transitante sulla rete virtuale. Oltre alla cifratura, una VPN sicura deve prevedere nei suoi protocolli dei meccanismi che impediscano violazioni della sicurezza, come ad esempio il furto dell’identità digitale o l’alterazione dei messaggi.

Nelle VPN c’è in genere un firewall tra il computer del dipendente o di un cliente e il terminale della rete o del server. Il dipendente, per esempio, quando stabilisce la connessione con il firewall deve verificare i dati che vuole trasmettere, passando attraverso un servizio di autenticazione interno.

Un utente autenticato può essere provvisto di privilegi particolari per accedere a risorse che generalmente non sono accessibili alla generalità degli utenti. La maggior parte dei programmi client richiede che tutto il traffico IP della VPN passi attraverso un “tunnel virtuale” tra le reti utilizzando Internet come mezzo di collegamento. Dal punto di vista dell’utente ciò significa che, mentre la connessione VPN è attiva, tutti gli accessi esterni alla rete sicura devono passare per lo stesso firewall come se l’utente fosse fisicamente connesso all’interno della rete sicura. Questo riduce il rischio che utenti esterni possano accedere alla rete privata dell’azienda.

Lo strumento maggiormente sfruttato in tal senso è il tunneling cioè la trasmissione di dati attraverso una rete privatizzata, che fa sì che i nodi d’instradamento della rete pubblica non siano in grado di percepire che la trasmissione è parte di una rete nascosta; esso permette dunque di usare la rete pubblica per trasportare dati per conto di clienti autorizzati all’accesso alla rete privata, facendo sì che la comunicazione end-to-end tra utenti rimanga a livello logico confinata all’interno della rete privata stessa. In genere il tunnelingviene creato incapsulando i dati e il protocollo nel protocollo di rete pubblica, così che i dati che transitano per il tunnel non siano comprensibili a terzi che stiano eventualmente esaminando i dati trasmessi.

La sicurezza della connessione VPN è di importanza fondamentale, perché la rete su cui gli altri computer stanno lavorando potrebbe non essere sicura o esserlo solo parzialmente. La VPN deve quindi garantire un livello di sicurezza tale da proteggere i computer dei dipendenti che stanno lavorando simultaneamente sulla stessa rete, tra i quali uno potrebbe essere stato infettato da un virus, un worm o un trojan.

L’autenticazione degli utenti in una VPN

La natura della VPN – fare transitare dati privati in reti pubbliche – richiede attenzione verso le minacce potenziali ai dati stessi e l’impatto di quelli persi. Una VPN si preoccupa delle minacce alla sicurezza, offrendo servizi di sicurezza nella aree di autenticazione, il processo per assicurarsi che un cliente o un sistema siano effettivamente coloro che dichiarano di essere. Ci sono molti meccanismi di autenticazione, ma i più usati sono:

  • qualcosa che sai: (un identificativo, come una password o un PIN);
  • qualcosa che hai: (un simbolo leggibile dal computer, come una smartcard);
  • qualcosa che sei: (la retina o le impronte digitali).

Login e password sono considerati generalmente autenticazioni deboli, mentre autenticazioni forti si ottengono combinando tra loro due diversi tipi di autenticazione. L’effettivo livello di sicurezza dipende ovviamente dal contesto, perché per esempio una smartcardpuò essere rubata, mentre le credenziali di accesso possono essere difficili da individuare. Dati di sicurezza rubati o persi possono consentire più attacchi e necessitano di più schemi di autenticazione.

Nessuna tecnica offre completa sicurezza di autenticazione, neanche quelle biometriche (impronte digitali, impronte vocali e mappatura della retina).

Tipi di VPN

  • Trusted VPN
  • Secure VPN
  • Hybrid VPN
  • VPN Multi-Thread

 Trusted e secure VPN

La prima grande distinzione è tra Trusted VPN e Secure VPN:

  1. Tusted VPN: offre la siicurezza che un terzo utente non autorizzato non  possa usufruire del servizio. La comunicazione avviene attraverso un circuito di nodi sulla rete telefonica: ognuno di essi può essere compromesso ed è quindi compito del fornitore accertarsi che questo non avvenga. Ultimamente i fornitori di questo tipo di VPN hanno creato un nuovo servizio che viaagia su internet, ma non viene offerto alcun tipo di sicurezza. Piuttosto la caratteristisca pricipale è la possibilità di gestire traffico QoS (Quality of Service). Le tecnologie utilizzate sono circuiti ATM, circuiti di trasmissione, MPLS, etc.
  2. Secure VPN: utilizzo di protocolli che permettono la cifratura dei dati da parte della rete o del client che utilizza il servizio. il trafffico cifrato viaggia in un tunnel che può essere iplementato a vari livelli dello stack protocollare TCP/iP. in questo caso i pacchetti prima di essere incapsulati vengono protetti con Digest (integrità e autenticazione), crittografia (riservatezza) e numerazione ( per evitare attacchi di replay). Se gli algoritmi crittografici sono forti l’unico attacco possibile è impedire la comunicazione. i protocolli più importanti sono:
    1. L2TP
    2. PPTP
    3. iPSEC
    4. SSL tunnel
    5. SSL VPN

I primi due sono dei protocolli proprietari layer-2, mentre iPsec lavora a livello iP. SSL tunnel e SSL VPN lavorano a livello applicativo.

Client-To-Site vs. Site-To-Site

Prima di entrare nel dettaglio bisogna fare una seconda distinzione, fatta in base alle entità partecipano alla comunicazione attraverso il tunnel VPN:

  1. VPN clent-to-site: la crescente mobilità degli utenti, unita alla necessità che gli stessi dovessero accedere alla LAN aziendale ha portato allo sviluppo di questo tipo di VPN: esiste quindi un tunnel cifrato tra un client e il server dove è configurata la VPN, e all’interno di questo si crea un’associazione point-to-point.
  2. VPN site-to-site: è un tunnel cifrato che collega due LAN su internet. Utile nel caso in cui un’azienda abbia due o più sedi distaccate. A livello logico i due siti sono separati da un unico segmento di rete.

Abbiamo elencato prima i vari protocolli utilizzati nell’implementazione delle Secure VPN (con il termine generico VPN d’ora in poi ci riferiremo a queste ultime); è ora di andare a trattarli un pò più nel dettaglio.

VPN di accesso

PPTP e L2TP come abbiamo già detto lavorano a livello 2 della pila iSO/OSi. in generale questi sono noti come protocolli per VPN di accesso e vengono utilizzati nella realizzazione di tunnel client-to-site. il primo dipende dalle tecnologie specifiche di crittografia di ciascuno fornitore, è integrato nel dial-up networking, ha una gestione delle chiavi proprietaria, e soprattutto presenta autenticazione e cifratura deboli.

E’ ancora possibile trovare piccole realtà aziendali che fanno uso di questo protocollo con algoritmi di cifratura deboli: sono stati trovati vari problemi in MSCHAP-v1 e MSCHAP-v2 ad esempio. Per l’autenticazione è consigliato EAP-TLS il quale però prevede un’infrastruttura PKi (Public Key infrastructure) per i certificati di client e server; un’opzione che non è sempre percorribile per tutti i tipi di accesso remoto. L2TP invece non dipende dalle tecnologie di cifratura specifiche di ogni fornitore per l’autenticazione dell’utente e la sicurezza è basata su ipsec di cui discuteremo più avanti. Viene utilizzato in Microsoft Windows per proteggere l’accesso remoto dal client al gateway poichè ipsec da solo non supporta l’autenticazione dell’utente, il multiprotocollo e il multicast. Lo svantaggio sta nel fatto che questo protocollo può causare qualche problema di interoperabilità.

ipsec e SSL VPN

Il protocollo attualmente più usato nella realizzazione di VPN (client-to-site o site-to-site) è ipsec, anche se sta crescendo l’utilizzo delle VPN SSL. ipsec lavora a livello 3, è trasparente ai dispositivi di rete, quali i router, evita lo sniffing e garantisce estrema riservatezza (anche se non impedisce l’analisi del traffico). Può funzionare in varie modalità, ma attualmente l’ unica realmente utilizzata è il tunnel mode (il trasport mode con l’header iP originale in chiaro dà troppe informazioni ad un possibile attaccante) con protocollo ESP.

Come si può vedere dalla figura sopra nella modalità tunnel l’header iP viene imbustato e cifrato insieme al contenuto del traffico TCP. Problemi sussistono nel caso di NAT: infatti il NAT dovrebbe modificare il pacchetto e ricalcolare il checksum del pacchetto TCP, il quale però è protetto da ESP. Per chi vuole approfondire, una soluzione è stata proposta dallo iETF: il NAT traversal. Un altro svantaggio è rappresentato dal fatto che l’utente deve installare un client VPN  per utilizzare il tunnel, e l’accesso potrà essere esegutio solo dalla specifica macchina dove risiede il software.

Realizzare una SSL VPN vuol dire invece realizzare un tunnel a livello applicazione. Questo permette di avere numerosi vantaggi tra cui la possibilità di accedere da qualunque PC utilizzando un semplice browser e avere un’elevata scalabilità rispetto ad ipsec. in uno scenario in cui ormai i dipendenti possono avvalersi di qualsiasi tipo di device nel mondo del lavoro, questo tipo di VPN diventerà sicuramente quello più diffuso.

In grandi organizzazioni configurazione e gestione delle VPN è demandata al firewall: infatti già negli UTM (Unified Threat Management Firewall) c’è la possibilità di gestire questa tecnologia. Questo dà molteplici vantaggi; il più importante è il fatto che l’UTM stesso funziona come terminatore VPN dando la possibilità allo stesso di analizzare il traffico veicolato nel tunnel. inoltre ormai tutti i grandi vendor forniscono un software da utilizzare lato client, il quale oltre ad occuparsi di negoziare e istanziare il tunnel VPN inibisce la navigazione internet della macchina sulla quale è stato installato. Questo è indispensabile per evitare attacchi di salto in VPN: una macchina compromessa sarebbe poi sfruttata dall’attaccante per utilizzare il tunnel VPN, e chiaramente questo metterebbe a rischio l’intera organizzazione.

Configurazione di un client VPN

Supponiamo ad esempio di avere un server Ubuntu e di voler garantire l’accesso in VPN ad una macchina Windows.  Scegliamo per semplicità PPTP: come prima cosa installiamo il demone pptpd sul server:

sudo apt-get install pptpd

A questo punto andiamo a modificare i file di configurazione: come prima cosa editiamo il file /etc/pptpd.conf muovendoci a fondo pagina. Troveremo le seguenti righe:

  1. localip: indirizzo iP del server su cui stiamo installando la VPN
  2. remoteip: indirizzi iP da assegnare ai client una volta che si collegheranno in VPN.

Se ad esempio abbiamo un server ad indirizzo pubblico x.y.w.z, possiamo realizzare la seguente configurazione:

localip x.y.w.z

remoteip 192.168.0.1-245

Ai client una volta stabilito il tunnel verrà assegnato un indirizzo privato di classe C appartente al range specificato alla seconda riga.

Infine editiamo il file /etc/ppp/chap-secrets il quale dovrà contenere username e password degli utenti abilitati all’utilizzo della VPN. Ogni riga dovrà avere il seguente formato nell’ordine:

  1. client: username dell’utente
  2. server: tipo del server utilizzato (nel nostro caso pptpd)
  3. segreto: password per la negoziazione e l’utilizzo del tunnel
  4. indirizzi iP: indirizzi iP abilitati dai quali ci si può collegare (“*” nel caso in cui volessimo permettere il collegamento da qualsiasi indirizzo).

Un esempio potrebbe essere:

utente                    pptpd                     “segreto”               *

Una volta effettuate tutte queste operazioni eseguiamo il restart del servizio con il comando

sudo service pptpd restart

A questo punto l’utente “utente”, per colegarsi in VPN tramite un client Windows 7 deve effettuare i seguenti passi:

Accedere a Pannello di Controllo → Rete e internet → Centro Connessioni di Rete e Condivisione

 Cliccare su “Configura una nuova Connessione”

Cliccare su “Connessione a una rete aziendale” e “Avanti”

Cliccare su “Usa Connessione internet esistente (VPN)”

Virtual Private Network, vpn,

Configura l’indirizzo iP pubblico del Server (nel nostro caso, per scopi puramente sperimentali utilizziamo un  iP privato) e cliccare su “Avanti”

Inserire “Username” e “Password” e cliccare su “Connetti”

Attendere che all’utente si presenti la schermata di “Connessione Stabilita”

Per verificare che tutto è andato a buon fine possiamo verificare con il comando ipconfig sul client Windows 7 che una nuova interfaccia virtuale è stata creata con un indirizzo appartenente al range assegnato nella configurazione di pptpd.

Virtual Private Network, vpn,

Come possiamo constatare è stato assegnato il primo indirizzo iP privato utile nel range 192.168.0.1-255.

Ricordo che questo è soltanto un esempio; per realizzare una VPN più sicura con questa tecnologia (consiglio sempre e comunque l’utilizzo di un firewall UTM rispetto alle VPN di accesso) è necessario prendere degli accorgimenti che abbiamo citato precedentemente (infrastruttura PKi), ove possibile.

Benefici di una VPN per le aziende

Una VPN ben strutturata può offrire grandi vantaggi a un’azienda:

  • estende la connettività geografica;
  • migliora la sicurezza dove le linee di dati non sono state criptate;
  • 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 tempo di ritorno dell’investimento rispetto al trasporto tradizionale delle linee WAN (Wide Area Network);
  • mostra una buona economia di scala.

Da quando la VPN ha così esteso la “major network” con una dovizia di apparati e dispositivi, alcune implementazioni di sicurezza necessitano un’attenzione particolare:

  • la sicurezza nei confronti del cliente deve essere stretta e rafforzata (questo è stato determinato dal Central client administration e dal Security policy enforcement), cioè è necessario che un’azienda che abbia bisogno che ogni collaboratore possa usare la propria VPN fuori degli uffici, prima di tutto installi un firewall certificato (alcune organizzazioni con dati particolarmente delicati fanno sì che gli impiegati utilizzino due diverse connessioni WAN: una per lavorare ai dati delicati e l’altra per tutti gli altri usi);
  • la scala di accesso all’obiettivo di rete deve essere limitata;
  • 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 Stati Uniti con riguardo ai dati sicuri, e i regolamenti generali dell’Unione europea che si applicano a ogni informazione commerciale e contabile e si estendono a coloro che condividono questi dati.

libro vita da hacker