Installare e Configurare una VPN con OpenVPN

Описание к видео Installare e Configurare una VPN con OpenVPN

In questo tutorial mostrerò come mettere in piedi una Rete Privata Virtuale (VPN) tra due computer con sistema operativo Windows XP. Sebbene Windows XP abbia il supporto nativo per le VPN e integri anche le funzionalità di Server VPN, il limite di questa soluzione sta nel numero massimo di connessioni VPN contemporanee che purtroppo è limitato ad una sola connessione. Per fortuna esistono soluzioni Open Source che consentono di superare questi limiti e che non obbligano il singolo utente o la piccola azienda, ad acquistare un costoso sistema operativo server come Windows Server 2003.

La soluzione che ho scelto di adottare si chiama OpenVPN. Si tratta di un software open source che consente di creare tunnel VPN sicuri facendo ricorso ai protocolli SSL/TLS (Secure Socket Layer/Transport Layer Security) ed implementando l'autenticazione utente basata su Certificati Digitali, Smart Card oppure semplice combinazione di Username e Password.

La configurazione di OpenVPN sia lato server che lato client non è proprio intuitiva per chi si cimenta per la prima volta con questo software. Come in tutte le soluzioni open source/multipiattaforma che si rispettino, la configurazione viene effettuata non da interfaccia grafica ma da riga di comando.

OpenVPN supporta due modalità di collegamento differenti tra client e server: Bridged e Routed. In questo tutorial utilizzerò la prima modalità che ha i seguenti vantaggi sulla seconda:

- I messaggi Broadcast attraversano la VPN. Questo consente l'utilizzo di protocolli quali NetBIOS e la conseguente possibilità di elencare le risorse di rete condivise sui vari computer della VPN.
- Non è necessario configurare manualmente route statiche
- E' possibile utilizzare qualsiasi protocollo che funzioni su collegamenti Ethernet come IPv4, IPv6, Netware IPX, AppleTalk, etc...
- Configurazione relativamente semplice

La prima operazione successiva all'installazione del software, è quella di installare la CA (Certification Authority) e di generare il certificato Master (o chiave pubblica Master) e la chiave privata Master della CA.
La seconda operazione da farsi sempre sul server, è quella di generare i certificati e le chiavi private per Server e Client e firmarli con le chiavi Master della CA create in precedenza.
A questo punto si devono generare i parametri Diffie-Hellmann. Questo algoritmo viene utilizzato per generare la cosiddetta "Session Key" che per default viene rigenerata ogni ora. L'algoritmo RSA viene utilizzato per firmare i certificati del server e dei client e anche per l'autenticazione, mentre non viene utilizzato per generare la chiave di sessione per ragioni di performance. Nel Diffie-Hellmann, invece, è la generazione dei parametri ad essere particolarmente lenta (operazione da farsi una volta sola), mentre le chiavi vengono generate in tempi molto brevi.

Dopo aver generato i parametri Diffie-Hellmann creiamo una chiave statica a 2048 bit che verrà utilizzata per aggiungere un ulteriore livello di protezione alla nostra VPN. OpenVPN prevede infatti l'aggiunta di una firma (signature) a tutti i pacchetti SSL/TLS scambiati tra client e server. Qualsiasi pacchetto che non abbia la corretta signature, verrà eliminato brutalmente senza ulteriori processi. Questa soluzione ci protegge efficacemente dai seguenti attacchi:

- Attacchi di tipo Denial of Services (DoS)
- Port Scanning
- Vulnerabilità di tipo Buffer Overflow nell'implementazione dei protocolli SSL/TLS
- Negoziazioni SSL/TLS iniziate da computer non autorizzati

Per attivare questa funzionalità è sufficiente abilitare la direttiva tls-auth nel file di configurazione di Server e Client. Da notare inoltre, che OpenVPN utilizza per default il protocollo UDP in quanto è più leggero e garantisce una maggiore protezione proprio contro attacchi di tipo Denial of Services.

Per finire, procediamo alla creazione del Bridging tra la nostra scheda di rete e la connessione creata da OpenVPN. I certificati e le chiavi private per server e client devono essere generati solo sul Server. Successivamente si dovrà copiare, su ogni client, la coppia di chiavi pubblica/privata che deve essere diversa per ogni client oltre naturalmente al certificato Master della CA (ca.crt). Se sul Client o sul Server si utilizza un modem invece che un router, allora non è necessario creare il Bridge, ma è indispensabile disabilitare tutte le connessioni di rete non necessarie (quest'ultima operazione va' fatta anche su configurazioni Bridged).

IMPORTANTE: Nella modalità Bridged sia il Client che il Server devono appartenere alla stessa sottorete (es. 192.168.0.0). Nel caso in cui Client e Server si trovino su due sottoreti diverse (es. 192.168.0.0 uno e 10.0.0.0 l'altro), il bridge tra le due schede di rete si deve creare solo lato Server. In alternativa, è possibile configurare OpenVPN nella modalità Routed. Questa modalità è anche più semplice da configurare in quanto è la modalità predefinita di OpenVPN.

Комментарии

Информация по комментариям в разработке