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 è form …
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.





