Manuale OpenVPN

11:39 am Software

Premessa

OpenVPN è una soluzione Open Source che opera in user space, creando un tunnel point-to-point TCP over UDP che permette la creazione di VPN.

La necessità primaria di aziende, cooperative, società o qualunque altro genere di organizzazione è lo scambio di dati ed informazioni fra sedi remote.
Le VPN (Virtual Private Network) permettono di collegare reti private attraverso una rete pubblica (Internet). I vantaggi offerti da questa tecnologia sono molteplici, ma sono tali dal punto di vista della sicurezza? Possiamo realmente fidarci di trasmettere dati sensibili attraverso Internet? La crittografia dei dati è alla base del concetto di VPN.
Esistono soluzioni proprietarie che utilizzano Server VPN, come Cisco, che è basata su IPSEC. Altre soluzioni IPSEC sono implementate a livello Network e tutto il protocollo è progettato per essere realizzato con una modifica allo stack IP in kernel space.

OpenVpn è una soluzione Open Source che opera in user space, creando un tunnel point-to-point TCP over UDP che permette, come vedremo più avanti, la creazione di VPN.

TUNNELING

Le VPN, per comunicare, usano un sistema di tunnelling. Questo evita anche attacchi di tipo spoofing (mascherare il proprio indirizzo IP): cerchiamo di seguito di capire il perché. Un’intera codifica del pacchetto è impossibile, perché durante la trasmissione dello stesso è processato da altri router per essere indirizzato a destinazione. Le VPN criptano tutto il pacchetto, header incluso, e allegano a questo un altro header non criptato che contiene le informazioni che riguardano il gateway VPN di destinazione. Altre informazioni contenute nell’header del pacchetto che stiamo trasmettendo in modo sicuro non saranno soggette ad attacco di cracker.

CRITTOGRAFIA

Con il termine crittografia, viene definita l’arte delle scritture segrete. La trasformazione crittografica (da testo in chiaro a testo cifrato e viceversa) può avvenire in molteplici modi, ognuno dei quali prende il nome di “algoritmo di cifratura”. Ciò che rende possibile questa trasformazione prende il nome di “chiave”.
Scomponendo la routine crittografica nelle sue componenti fondamentali, cifratura e decifratura, essa sarà simmetrica se le due operazioni vengono eseguite utilizzando un’unica chiave. Quando, invece, vengono attuate utilizzando due chiavi differenti, una pubblica ed una privata, la procedura diventa asimmetrica.
In un contesto di crittografia simmetrica, è chiaro che la trasmissione della chiave stessa e la sua conservazione devono essere molto accurate.

OpenVPN, il software che utilizzeremo per creare la nostra VPN, implementa anche questo tipo di crittografia, basato sulla condivisione di una chiave segreta fra le postazioni della VPN. La crittografia dei dati in contesto simmetrico verrà realizzata con l’algoritmo blowfish.

Installazione

I sorgenti di OpenVPN sono reperibili sul sito http://www.openvpn.net/, dove vengono messi a disposizione anche pacchetti RPM.

Dato che il progetto è nativo per i sistemi unix based, scarichiamo i sorgenti per windows da qua:

http://openvpn.se/ Latest stable release: 1.0.3 with OpenVPN 2.0.9 (2006-10-17)

L’installazione va eseguita SIA NELLA MACCHINA CLIENT SIA NELLA MACCHINA SERVER , con i valori di default. (Fare sempre avanti).

Una volta installato il software andare nelle proprietà di risorse di rete, li vi è stata creata un’interfaccia virtuale di tipo  TAP interface.

Rinominare l’interfaccia in tap o in un altro nome che verrà poi inserito nel file di configurazione.

Per prima cosa bisogna generare il file di chiave che verrà usato dalle due macchine per criptare la comunicazione.

Per fare ciò andare in start, programmi, OpenVPN, Generate a static OpenVPN key.

Andiamo nella cartella di configurazione indicata in figura e rinominiamo il file in key e basta senza estensione.

Questo file dovrà essere messo (copiato fisicamente) sia sul server sia sul client.

CONFIGURAZIONE SERVER

Per il server bisogna impostare il bridging tra l’interfaccia ti rete reale e quella virtuale TAP. Per fare questo selezionare entrambe le interfacce contemporaneamente e premere “Aggiungi al Bridge di Rete”.

Adesso bisogna creare il file di configurazione per il server:

andare nella directory di configurazione, come da foto, e creare con il notepad un file di nome server.ovpn

Il contenuto deve essere questo server.ovpn:

port 1194

dev tap

dev-node tap

proto udp

secret key

ping 5

verb 3

mute 10

comp-lzo

A questo punto la configurazione del server è terminata, possiamo far partire il server vpn cliccando con il tasto destro sul file server.ovpn e premere “Start OpenVPN on this config file”.

NB
Ricordarsi di aprire il firewall per la porta UDP 1194.

Se tutto è andato bene appare la finestra del Prompt dei comandi come in figura sopra.

In alternativa si può lanciare il server dall’icona di OpenVPN in basso a destra, vicino all’orologio.

CONFIGURAZIONE CLIENT

Adesso bisogna creare il file di configurazione per il client (non server creare il bridge di rete):

andare nella directory di configurazione, come da foto, e creare con il notepad un file di nome client.ovpn

Il contenuto deve essere questo client.ovpn:

dev tap

dev-node tap

proto udp

remote “INDIRIZZO IP server” 1194

resolv-retry infinite

nobind

secret key

comp-lzo

verb 3

mute 20

A questo punto possiamo lanciare il client per eseguire la connessione ed essere così connessi in maniera automatica alla rete remota dove su trovare il server.

Per lanciare la connessione (il client), il server deve essere attivo in ascolto, cliccare con il tasto destro sul file client.ovpn e premere “Start OpenVPN on this config file”.

In alternativa si può sempre usare l’icona in basso a destra di OpenVPN. Dopo circa 10/15 secondi, a seconda della banda, avverrà la connessione e i computer dell’icona di OpenVPN diverranno verdi, come in figura, e le interfacce virtuali sia del server sia del client si connetteranno e otterranno un indirizzo automatico.

Se hai trovato questa guida utile sostieni il portale con una donazione. Grazie!

Share on Facebook

Sostieni il portale con una donazione:

2 Risposte

  1. Luca Dice:

    “Una volta installato il software andare nelle proprietà di risorse di rete, li vi è stata creata un’interfaccia virtuale di tipo TAP interface.”

    A me non si crea un interfaccia virtuale di tipo TAP interface, non si crea nulla. A cosa potrebbe esser dovuto? Grazie Luca

  2. Andrea Dice:

    Hai eseguito l’installazione con diritti amministrativi? Devi essere amministratore…dovresti vedere la scheda TAP insieme alle altre sulle proprietà di “Risorse di Rete” (tasto dx -> proprietà).

Lascia un commento

Il Tuo Commento