Visiva Group (http://www.visivagroup.it/index1.php)
-   Video Tutorial (http://www.visivagroup.it/forumdisplay.php?f=130)
-   -   [Win2000/XP/2003] Installare e Configurare una VPN con OpenVPN (http://www.visivagroup.it/showthread.php?t=10398)

Jarod Wednesday, 22 February 2006 19:38

[Win2000/XP/2003] 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).

Nel video sia il Server che il Client sono "nattati", ovvero stanno dietro ad un Router. Lato Server ho dovuto effettuare il Port Forwarding della porta UDP 1194 verso l'indirizzo IP del computer che funge da Server VPN e creare il bridging. Lato Client invece è bastato mettere in Bridging la connessione LAN con quella installata da OpenVPN ed assegnare alla connessione Bridged gli stessi parametri della connessione LAN originaria. 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.

Lato server bisogna abilitare le direttive dev tun e server avendo cura di disabilitare le corrispondenti direttive necessarie invece per la modalità Bridged (vedere esempio):
Quote:

;dev tap
dev tun

server 10.8.0.0 255.255.255.0
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

Nel suddetto esempio i Client riceveranno un indirizzo IP compreso tra 10.8.0.2 e 10.8.0.254 mentre il Server si auto-assegnerà l'indirizzo IP 10.8.0.1. La classe di indirizzi IP utilizzata nella direttiva server, DEVE essere diversa da qualsiasi altra classe di IP reale presente sia lato Client che lato Server.

Lato Client è sufficiente abilitare la sola direttiva dev tun (vedere esempio):
Quote:

;dev tap
dev tun

A questo punto è necessario impostare a 1 la chiave di registro IPEnableRouter sia sul Client che sul Server VPN e riavviare i computer affinché la modifica abbia effetto:
Codice:

Percorso.: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Nome Voce: IPEnableRouter
Valore...: 1
Tipo.....: DWORD

NOTA: Nella modalità Routed NON è necessario creare il Bridging tra la scheda di rete del computer e la scheda di rete virtuale creata da OpenVPN. Se si desidera passare da una configurazione Bridged ad una configurazione Routed, è indispensabile rimuovere il bridge tra le due interfacce.


Ed ora passiamo alla pratica… :)

Se le istruzioni di questo tutorial vi saranno utili in ambito professionale oppure desiderate ricevere supporto da parte dell'autore, non dimenticate di cliccare sul tasto PayPal. E’ anche un modo per dimostrare che apprezzate il lavoro svolto e uno stimolo in più per il continuo miglioramento della qualità dei contenuti del forum.




SkyDiver Wednesday, 22 February 2006 20:37

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Ecco questa merita diciotto pallini verdi :)

Grande Jarod :) :)

Jarod Wednesday, 22 February 2006 21:55

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
E' un piacere ciccio!! :)

Visto che ci sono ne approfitto per fare una precisazione nel caso non si fosse capito dal filmato: nel video, dopo aver stabilito la connessione col Server VPN, lancio una sessione di Desktop Remoto digitando l'indirizzo IP privato del computer remoto e NON quello pubblico di quest'ultimo; ma la cosa veramente interessante è che in questo modo, non è necessario aprire la porta utilizzata da Desktop Remoto sul router remoto in quanto tutto il traffico tra client e server viene instradato attraverso il tunnel VPN e quindi attraverso la sola porta UDP 1194. ;) Penso sia superfluo precisare che la porta UDP utilizzata, che di default è la 1194, può essere cambiata a proprio piacimento, così come il protocollo da UDP a TCP.

SanK Wednesday, 22 February 2006 23:44

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Quote:

Originariamente inviato da SkyDiver
Ecco questa merita diciotto pallini verdi :)

Grande Jarod :) :)


Anche se non riesco a darteli........ quoto in toto :mrgreen:

SataNik Thursday, 23 February 2006 07:48

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Altri 18k di pallini :D

gilles Thursday, 16 March 2006 23:30

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
perchè non mi funziona?

ho istallato tutto ma non mi viene l'iconcina con i due Pc con il mondo vicino (in basso vicino all'orologio) mi rimangonoi due PC con la X e non mi fa connettere

Jarod Friday, 17 March 2006 14:28

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Sicuramente hai saltato qualche passaggio... ;)

Nella finestra di connessione che messaggio di errore viene visualizzato?

Non registrato Monday, 20 March 2006 18:34

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Che ganzo... non pensavo che qualcuno mi rispondesse...
....

ho fatto tutto come si deve...

il mio problema adesso è questo...

il mio server con OpenVPN è attivo..

quello client si connette e mi da l'OK infatti gli viene assegnato anche l'IP 192.168.0.50... e io dal mio server vedo che il client mi fa richiesta e gli da l'ok...

quindi adesso sono in questa configurazione...

il mio server ha i computerini verdi quindi è connesso

il client ha i computerini verdi e dice che è connesso infatti ha anche l'ip giusto (192.168.0.50)

ma quando provo a fare...

ping 192.168.0.50 dal mio server mi dice richiesta scaduta...

mi sorgono dei dubbi ...

1 - non è che bisogna avere un IP statico???

io nella configurazione del client ho messo il mio indirizzo registrato nel sito www.DynDNS.org

2 - oltre alla porta UPD 1194 ne usa altre? (io nel firewall le ho aperte sia in ingresso che in uscita).

aiuto stò per sbroccare datemi una mano... grazie mille in anticipo

Non registrato Monday, 20 March 2006 19:02

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
ah mi sono scordato una cosa...

le due lan devono avere gli IP della stessa classe???

tipo entrambe 192.168.0.????

oppure possono essere di clasi diverse
server 192.168.0.4
client 10.25.2.6

l'indirizzo del client fa un poschifo ma il ruter del mio amico gliene da uno del genere...

grazie mille in anticipo

Jarod Monday, 20 March 2006 19:20

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Attenzione perchè l'assegnamento dinamico dell'indirizzo IP da parte del Server OpenVPN funziona solo se il client è connesso tramite una connessione dial-up. Se invece stà dietro ad un router allora l'indirizzo IP del client è quello impostato durante la procedura di configurazione di OpenVPN che nel video corrisponde all'indirizzo 192.168.0.12 (la connessione di rete che ho chiamato OpenVPN Bridge nel video).

Per rispondere alla tua seconda domanda si, server e clients devono stare sulla stessa sottorete tipo 192.168.0.x o quella che vuoi tu. ;)

Tieni presente che la classe degli indirizzi IP assegnati dal router può essere modificata a proprio piacimento dall'interfaccia di configurazione dello stesso, oppure puoi cambiare la classe dell'IP lato server in modo da farla coincidere con quella del client. Insomma se maometto non và alla montagna... :)



P.S. Nei limiti delle nostre conoscenze rispondiamo a tutti. ;)

OrsoNerOne Monday, 3 April 2006 22:59

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
ciao a tutti
sto girando un po sul sito e leggendo qua e la, ho scoperto che è possibile crere una rete privata virtuale con xp. Il io dubbio riguarda la possibilità di utilizzare l'adsl: vi spiego:

sia io che la mia ragazza abbiamo messo l'adsl e mi trovo spesso nella necessità di utilizzare files che sono sul suo pc a 20 km da casa mia; vorrei creare una VPN tra i due pc (il suo con un'adsl diretta via usb e il mio che fa parte di una rete casalinga dietro un router adsl)

potete aiutarmi?

SataNik Tuesday, 4 April 2006 09:15

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Orso, non ci sono problemi a creare una vpn tra le due macchine, che siano con router o con usb.
Ovviamente devi usare un servizio come dyndns.org in quanto hai degli IP dinamici.
Dovrai considerare lei come server, e tu come client.
Puoi seguire il video di howto e poi eventualmente fare le domande, cosi' da avere tu stesso le idee piu' chiare.

Ciao ;)

Non registrato Saturday, 8 April 2006 09:17

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
ragazzi scusatemi io mi blocco all'inizio! quando bisogna cliccare con il destro su easy-rsa, a me non esce scritto CMD SHEEL:\. come devo fare ora? aiutatemi e di vitale importaNZA

Pocket Saturday, 8 April 2006 09:30

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
Dal menu' start > esegui > digiti cmd (ti apparirà la consolle)

Poi devi digitare: cd c:\Programmi\OpenVPN\easy-rsa\

Jarod Saturday, 8 April 2006 10:00

Re: Tutorial Video: Installare e Configurare una VPN con OpenVPN
 
In alternativa puoi scaricare ed eseguire lo script che trovi in QUESTO thread che provvede ad inserire la voce "Command Shell:\>" nel menu contestuale. ;)


Ciao


Visiva Group (http://www.visivagroup.it/index1.php)
-   Video Tutorial (http://www.visivagroup.it/forumdisplay.php?f=130)
-   -   [Win2000/XP/2003] Installare e Configurare una VPN con OpenVPN (http://www.visivagroup.it/showthread.php?t=10398)
Tutti gli Orari sono GMT +1. Attualmente sono le 05:22.

Powered by vBulletin Versione 3.5.6
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: Enzo-Staff-VbulletinItalia.it

2000, 2012 © Visiva Group