Principi di funzionamento della VPN

La Virtual Private Network è una connessione sicura fra sedi aziendali, o fra utente remoto e rete aziendale

Globalizzazione, decentramento, lavoro da casa, partnership
tra aziende sono alcuni dei fattori che hanno determinato un forte incremento
della richiesta di connettività.

Le soluzioni tradizionali, come l’affitto di linee dedicate e il collegamento
diretto via modem (dial-up) alle reti aziendali, erano molto costose; sono nate
quindi le reti private virtuali o VPN, con lo scopo di realizzare connessioni
private attraverso una rete pubblica
, che inizialmente era la rete
di un gestore e oggi è Internet.

Questo ha portato un enorme risparmio in canoni e attrezzature. Internet è
però il più insicuro degli ambienti di comunicazione, quindi sono state sviluppate
diverse tecnologie per rendere sicure le connessioni attraverso Internet.

Tralasciando i vari stadi storici, oggi la maggior parte delle VPN è
realizzata attraverso qualche forma di “tunneling” in combinazione
con funzioni di autenticazione e cifratura.

Tunneling è il concetto di creare un tunnel, attraverso una
rete pubblica insicura come Internet, dentro il quale convogliare il traffico
privato, al riparo da intercettazioni e manomissioni. Sia pure con molte varianti
e complicazioni, di base il tunneling è realizzato prendendo ogni pacchetto
di dati e inserendolo dentro un altro pacchetto (il tunnel) che forma una corazza
protettiva, nascondendo tutto o parte del pacchetto originario tramite cifratura.

Utilizzo
I due impieghi principali di una VPN sono per collegare due sedi di un’azienda
(connessione site-to-site) o per collegare un utente remoto
alla rete aziendale (connessione remote access). Il primo caso
si estende alla connessione tra aziende partner, per esempio per avere accesso
permanente a informazioni tecniche, scorte, listini, contabilità.

In generale, un dispositivo VPN (hardware o software) funge da server e un
altro funge da client e stabilisce la connessione con il server. I principali
protocolli VPN
utilizzati sono PPTP (Point-to-Point Tunneling Protocol),
L2TP (Layer 2 Tunneling Protocol) e IPSec (Internet Protocol Security).

Oggi IPSec è la tecnologia più sicura per realizzare
una VPN. PPTP è stato sviluppato da Microsoft e altri produttori nel
’96; non è uno standard e nel corso degli anni ha dimostrato di
essere ampiamente insicuro. Non è quindi adatto per connessioni permanenti,
ma si presta per connessioni occasionali.

Configurazione
Vari produttori forniscono il proprio client PPTP (hardware o software). Un
client PPTP è comunque incluso in tutte le versioni di Windows ed è facile da
configurare una volta noto l’indirizzo IP del dispositivo che funge da server
VPN. Questo, solitamente, è un firewall hardware; alternativamente, può essere
un server Windows o Linux configurato come server VPN, oppure un router con
supporto VPN o un concentratore VPN hardware.

Consideriamo il caso più semplice, ovvero un firewall con funzione di server
VPN in azienda e un PC remoto che sfrutta il client PPTP di Windows per collegarsi
alla LAN aziendale via modem. Dato che le VPN oggi sono realizzate attraverso
Internet, supponiamo che il firewall sia connesso a Internet (di solito attraverso
un router ADSL) e che il PC venga connesso a un provider Internet locale via
modem.

PPTP
Il protocollo PPTP è nato come estensione del Point-to-Point Protocol
(PPP), il protocollo più usato per collegarsi a un Internet Service Provider
(ISP) via modem e una normale linea telefonica.

Un frame (pacchetto) PPP è formato dal pacchetto IP con l’aggiunta
dell’intestazione PPP. Ora, per inserire il frame PPP dentro il tunnel
protettivo, si prende il pacchetto PPP, se ne cifra la parte dati con il protocollo
MPPE di Microsoft (la cifratura non fa parte del PPTP ma è normalmente
eseguita) e si aggiungono due intestazioni: quella GRE (Generic Routing Encapsulation)
e una nuova intestazione IP per inoltrare il pacchetto verso destinazione.

Questa azione di inserire un pacchetto dentro un altro si chiama incapsulazione
(da cui il nome del protocollo GRE). Ora al pacchetto IP (strato 3, Rete, del
modello OSI) basta aggiungere l’intestazione propria del mezzo di connessione
(strato 2, Data Link, per esempio Ethernet o wireless) e passare il frame allo
strato fisico (cavo, onde radio, eccetera) per la trasmissione.

Nel caso di un PC che si collega a un ISP per avere accesso a Internet, la
sequenza di eventi per creare il tunnel virtuale dal client al server PPTP include
una serie di passaggi:

  • il client si collega all’ISP per stabilire una connessione PPP;
  • il client apre una seconda connessione parallela specificando come destinatario
    il server PPTP;
  • il client invia una richiesta di connessione di controllo al server VPN;
  • il server VPN risponde e stabilisce la connessione;
  • il client invia al server VPN la richiesta di accettare una chiamata in
    arrivo;
  • il server risponde accettando la richiesta;
  • il client invia al server il messaggio di connessione per la chiamata e
    il tunnel è instaurato;
  • client e server PPTP scambiano i dati attraverso il tunnel;
  • quando lo scambio dati è finito, il client invia al server la richiesta
    di chiudere la porta VPN;
  • il server risponde e mette fine alla chiamata; il client invia al server
    la richiesta di chiudere la connessione di controllo;
  • il server risponde chiudendo la connessione di controllo;
  • rimane in piedi la connessione PPP con l’ISP: l’utente può
    disconnettersi o continuare a navigare in Internet.

Autenticazione
In questa descrizione abbiamo omesso l’autenticazione dell’utente,
una componente essenziale della sicurezza. Con PPTP si possono usare diversi
protocolli (supportati da Windows), come PAP (Password Authentication Protocol),
CHAP (Challenge Handshake Authentication Protocol), MSCHAPv2 (versione 2 dell’implementazione
Microsoft di CHAP) e MSCHAPv2 con cifratura.Quest’ultimo è il metodo
più sicuro. PAP, già usato con PPP, è il meno sicuro, perché
trasmette la password in chiaro.

CHAP prevede un dialogo in cui il server invia al client una stringa casuale
(challenge, cioè sfida); il client restituisce un valore basato su un’elaborazione
crittografica del challenge, della password e di altre informazioni, dimostrando
di avere la password ma senza inviarla in chiaro.

MSCHAP differisce da CHAP per gli algoritmi di cifratura e di hashing utilizzati
(hashing è il calcolo di un valore di lunghezza fissa in base a un input
di lunghezza variabile). In MSCHAPv2 anche il client richiede al server di fornire
le proprie credenziali.

Setup del server
Nella descrizione del protocollo PPTP, abbiamo citato la presenza di due connessioni
IP simultanee instaurate dal client: quella PPP con l’ISP e quella PPTP
(il tunnel) con il server VPN. Dopo l’apertura del tunnel, il PC client
si trova nella rete virtuale alle stesse condizioni degli altri computer della
LAN fisica a cui è connesso il server VPN.

Se ad esempio il server VPN è il firewall collegato a una LAN, dopo
la connessione PPTP tra il PC remoto e il firewall, il PC remoto avrà
due indirizzi IP: quello della connessione PPP (solitamente assegnato dal provider)
e quello PPTP del tunnel, appartenente alla rete locale e assegnato dinamicamente
dal firewall previa opportuna configurazione.

Per esempio, usando il firewall SnapGear di CyberGuard, dopo aver abilitato
il Server PPTP nell’omonima pagina di configurazione, abbiamo assegnato
un intervallo di valori per l’assegnazione degli indirizzi dei client,
chiamati Tunnel End Point.

Un firewall supporta numerose connessioni VPN simultanee e a ciascuna viene
assegnato, col servizio DHCP del firewall (da mantenere attivo), un indirizzo
IP dinamico nell’intervallo specificato. Se, ad esempio, la rete locale
ha indirizzi di tipo 192.168.0.0, si può riservare l’intervallo
192.168.0.200-192.168. 0.250 agli end point delle VPN.

Il passo successivo è configurare sul firewall il protocollo di autenticazione
(MSCHAPv2 è raccomandato) e il database degli utenti (quello locale del
firewall è il default, altrimenti si può usare un server esterno
RADIUS o TACACS+ per l’autenticazione). Alla pagina successiva, SnapGear
chiede di definire gli utenti autorizzati a connettersi al firewall attraverso
una VPN PPTP; per ogni utente, si specifica un nome e una password, non necessariamente
gli stessi valori già utilizzati per gli altri login.

Setup del client
Supponendo di utilizzare il client PPTP di Windows XP, si apre Connessioni
di rete
(dal Pannello di controllo), si seleziona
Crea una nuova connessione, si conferma su Avanti
e si segue la procedura guidata.

Si seleziona il bottone Connessione alla rete aziendale, poi
Connessione VPN, si assegna un nome alla connessione, si specifica
se occorre prima connettersi a un provider (superfluo se si apre la VPN dopo
essersi collegati a Internet) e si specifica l’indirizzo IP pubblico (accessibile
da Internet) del firewall.

Questo indirizzo può essere statico (normale per le aziende) o dinamico
(assegnato dal provider a ogni connessione), nel qual caso occorre scoprire
(per esempio nella pagina di stato della connessione del router ADSL) qual è
l’IP corrente della connessione Internet.

La procedura guidata è terminata e si passa alla pagina di apertura
della connessione, che chiede nome utente e password. Si inseriscono i dati
(gli stessi impostati nella configurazione del firewall per gli utenti VPN)
e la connessione VPN viene aperta in pochi istanti, dopo di che si può
accedere alla LAN come se si fosse all’interno dell’azienda.

Connessione
Quando il PC client si connette a Internet tramite l’ISP, riceve dal provider
un indirizzo IP pubblico (per es. 11.22.33.44) e il suo default gateway (la
porta a cui sono inviati i pacchetti destinati a Internet) è per esempio
11.22.33.41 (lo vedete eseguendo Ipconfig in una finestra prompt).

Quando viene aperta la connessione PPTP, il server VPN assegna al PC client
un secondo indirizzo IP per la terminazione del tunnel PPTP, per esempio 192.168.0.202
(il relativo default gateway potrebbe essere 192.168.0.201). Eseguendo di nuovo
Ipconfig, scoprite che avete due connessioni attive, una con l’IP pubblico assegnato
dal provider e una con l’IP privato appartenente alla rete aziendale a cui siete
collegati con la VPN.

Eseguendo Route print in finestra prompt, vedete il contenuto
della routing table, la tabella di routing con l’elenco delle reti accessibili,
i relativi gateway (le rispettive porte di accesso) e il gateway di default
generale. Quando è attiva la connessione VPN, vedete nella tabella che
il default gateway non è più quello del provider ma è quello
della connessione VPN, nello spazio di indirizzi della rete aziendale).

Perché si possa stabilire una connessione VPN site-to site o di accesso
remoto, è necessario che i router e altri eventuali dispositivi di rete
sul percorso (inclusi firewall), lascino passare i protocolli utilizzati dalla
VPN.

Di solito non ci sono difficoltà con router e firewall hardware, mentre
è possibile che si debba modificare la configurazione nel caso dei firewall
software. ZoneAlarm, per esempio, per default lascia passare i protocolli VPN.

Limiti
Qualunque forma di autenticazione basata solo su una password è insicura
e in ultima analisi è destinata a fallire.Dato che non si può
costringere gli utenti a ricordare delle “strong password”, ovvero
lunghe sequenze di caratteri contenenti minuscole, maiuscole, cifre e altro,
alla fine gli utenti scelgono password deboli, facile preda dei software di
cracking.

La pass­word di accesso alla VPN PPTP è quindi il primo punto debole,
visto che non si usano certificati e firme digitali come in L2TP e in IPSec.
Gli altri punti deboli sono trattati esaurientemente da SANS, la principale
fonte d’informazioni sulla sicurezza informatica, in ,
che spiega in dettaglio parecchi modi di sfruttare le vulnerabilità di
PPTP.

La morale è quindi:

1. usare PPTP per familiarizzarsi con le VPN,
2. usare PPTP per connessioni remote occasionali (non per il telelavoro)
3. non usare PPTP per connessioni permanenti, per le quali si deve passare a
L2TP o, meglio ancora, a IPSec.

La connessione PPTP è comoda per operazioni come il monitoraggio remoto
(per es. di router, firewall e switch), lo scambio di e-mail e il prelievo di
file dalla rete aziendale. Per sicurezza, è preferibile utilizzare, per
le connessioni PPTP, un account con privilegi limitati e una password abbastanza
complessa e tenuta rigorosamente segreta.

Una password PPTP violata significa fare accomodare il nemico all’interno del
perimetro protettivo dell’azienda, quindi una VPN PPTP deve essere accessibile
solo da personale di provata fiducia.

1 COMMENTO

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome