Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare una VPN personale su Windows

Come usare il software per Windows OpenVPN per creare una connessione sicura fra un proprio dispositivo ed un server casalingo. Un sistema gratuito per proteggere le proprie comunicazioni dall'esterno
Come usare il software per Windows OpenVPN per creare una connessione sicura fra un proprio dispositivo ed un server casalingo. Un sistema gratuito per proteggere le proprie comunicazioni dall'esterno
Link copiato negli appunti

Spesso abbiamo sentito storie di intercettazioni di dati e di diffusione impropria delle informazioni personali, anche molto riservate come ad esempio numeri di conti corrente, stati di salute e informazioni sui minori. Per ovviare a questi problemi sono disponibili differenti tecnologie per la protezione dei dati, tra cui quella di cui discuteremo in questo articolo e che si focalizza sulla messa in sicurezza del canale di comunicazione tra due sistemi: la rete VPN.

Una Virtual Private Network o VPN è una rete privata costituita tra dispositivi che risiedono su un sistema di trasmissione condiviso con altre utenze. In altre parole è una rete che permette la connessione sicura tra due o più utenti, utilizzando un infrastruttura di comunicazione pubblica come ad esempio Internet.

Con le VPN viene instaurato un canale trasmissivo sicuro che offre agli utenti le stesse possibilità che si avrebbero acquistando linee private dedicate ad un costo decisamente superiore. In questo modo, oltre a proteggere le informazioni personali sarà possibile, ad esempio, condividere e scambiare file e documenti tra gli appartenenti alla rete senza la paura di intrusioni e intercettazioni.

I meccanismi chiave delle reti VPN sono principalmente due e riguardano aspetti strettamente legati al tema della sicurezza informatica: l'autenticazione e la crittografia. In poche parole l'autenticazione assicura che solo gli utenti con le giuste credenziali siano in grado di accedere alla rete, mentre la crittografia è garante della sicurezza dei dati trasmessi, anche se eventualmente intercettati.

In particolare l'autenticazione rappresenta e gestisce l'atto di dimostrare la propria identità. La crittografia è la codifica di un oggetto ottenuta applicando apposite procedure che impediscono la lettura o l'uso delle informazioni a tutti i soggetti che non sono destinatari delle stesse. Le VPN, con i loro particolari sistemi di autenticazione e crittografia, vengono largamente utilizzate dalle realtà aziendali in quanto garantiscono un livello di sicurezza molto elevato, a basso costo e adeguato alla comunicazione tra utenti dislocati geograficamente sul territorio.

Tuttavia, anche in virtù della grande diffusione delle reti senza fili, anche i privati posso sfruttare queste reti private per mantenere sui propri dati livelli di sicurezza maggiori, al fine di evitare intrusioni, furti di identità digitale o l'intercettazione ed eventuale diffusione di informazioni riservate presenti nei messaggi scambiati. Le VPN rappresentano dunque un'ottima opportunità per coloro i quali non hanno delle necessità tali da giustificare il costo d'acquisto di una rete dedicata.

Per utilizzare le VPN internet rende disponibile una discreta quantità di prodotti, sia gratuiti che a pagamento. Andiamo quindi a vedere alcuni software per Windows che permettono di avere a disposizione i canali di comunicazione sicuri di cui stiamo parlando. In particolare nel resto del testo faremo riferimento a quei software che devono solitamente disporre di un Pc da utilizzare come server ed al quale si vuole accedere ed ad uno o più computer client.

Trai i software gratuiti quello che sicuramente è più noto, anche ai non addetti ai lavori, è OpenVPN (HTML.it ha pubblicato un lungo articolo per la sua configurazione su Linux). Si tratta di un software maturo in termini di sviluppo e disponibile per tutti i sistemi operativi Windows, Macintosh e Linux. Nasce da un progetto open source e beneficia di conseguenza di una comunità di sviluppatori che lo ha implementato, supportato e aggiornato nel corso del tempo.

Con la giusta configurazione di OpenVPN è possibile collegarsi con sicurezza a qualsiasi rete pubblica, confidando sulle potenzialità del software e sulla sua capacità di costituire tunnel crittografati che accolgono le comunicazioni.

La configurazione di OpenVPN può risultare complessa al primo approccio, ma soprattutto per semplici applicazioni è tutt'altro che irraggiungibile. Vediamo quindi in modo sequenziale quali sono gli step per instaurare una connessione tra un server e un client OpenVPN.

Partiamo dal computer server e innanzitutto installiamo OpenVPN utilizzando non i package resi disponibili sul sito ufficiale di OpenVPN, ma quelli messi a disposizione da uno sviluppatore che contengono anche un'interfaccia grafica. Andate sul sito openvpn.se e dalla colonna di sinistra cliccate sul link Stable scaricando il file segnato come Installation Package. Attualmente l'ultima versione "stable" è la 2.0.9, mentre per la 2.1 siamo alla rc7 rilasciata nel gennaio 2008. L'installazione segue il classico wizard dei programmi Windows; l'unica accortezza è quella di selezionare durante la procedura l'opzione My Certificate Wizard necessario alla corretta configurazione del server.

Conclusa l'installazione, nell'elenco delle connessioni si rete sarà presente una nuova possibilità, che si aggiunge alle connessioni di rete (lan, wireless) di cui disponiamo e che potremo rinominare a nostro piacimento, ad esempio OpenVPN.

Preparazione del sistema server

A questo punto lanciamo il prompt dei comandi di Windows (ad esempio digitando cmd all'interno della finestra Esegui disponibile nel menu start di XP o direttamente nel campo di ricerca di Vista) e raggiungiamo con il classico comando cd il percorso nel quale è stato istallato il software ed apriamo la cartella easy-rsa (il comando completo è cd C:ProgrammiOpenVPNeasy-rsa). Ora dovremo eseguire alcuni comandi da console iniziando da

  • init-config.bat, che prepara il sistema ad accogliere la rete;
  • edit vars.bat che apre in editing il file vars.bat (lo si può aprire anche con un altro editor testuale) all'interno del quale dobbiamo ricercare e modificare le variabili KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL;
  • vars.bat e successivamente clean-all.bat per completare questa prima fase.
Figura 1: La modifica del file vars.bat
La modifica del file vars.bat

La certification authority

Il secondo passo è generare e istallare la CA (certification authority) che gestirà i nostri certificati personali e generiamo la chiave pubblica e privata Master.

La Certification Authority (CA), rappresenta una terza parte fidata (trusted third party) in grado di rilasciare un certificato digitale tramite procedura di certificazione che segue precisi standard. Il sistema utilizza la crittografia a chiave asimmetrica, in cui una delle due chiavi, detta pubblica, viene resa disponibile all'interno del certificato, mentre la seconda, detta privata e strettamente correlata alla prima, rimane segreta. La CA è in grado di generare e mantenere l'associazione tra la chiave pubblica e quelle privata.

Attraverso le rispettive chiavi pubbliche e private due soggetti possono scambiarsi messaggi sicuri, cifrandoli e decifrandoli opportunamente in modo che nessun altro soggetto, che intercetti il canale di comunicazione, sia in grado di leggerne il contenuto.

Quanto detto viene attuato in OpenVPN con il comando build-ca.bat e seguendo le semplici istruzioni che si presentano sullo schermo, lasciando le opzioni che mostra il sistema di default. L'unica eccezione è l'opzione Common Name a cui possiamo dare un valore arbitrario, ma che deve essere ricordato per la configurazione del client. Nella fattispecie potremmo utilizzare, ad esempio, la voce OpenVPN-CA.

Figura 2: Il risultato del file build-ca.bat
 Il risultato del file build-ca.bat

Le chiavi del server e del client

Quindi generiamo il certificato (chiave pubblica) e la chiave privata del Server VPN digitando il comando build-key-server server. Come prima lasciamo le opzioni di default rese disponibili dalla procedura, utilizzando come Common Name la voce impostata al passaggio precedente (nel nostro caso OpenVPN-CA) e, quando richiesto confermando l'opzione Sign the certificate per firmare il certificato del Server con il certificato Master della CA. Le chiavi del server, dopo un'ultima richiesta di conferma alla quale dobbiamo dare il nostro consenso, sono quindi create.

A questo punto generiamo il certificato (chiave pubblica) e la chiave privata del Client VPN, con il comando build-key client_prova1; la procedura è analoga a quella vista precedentemente. All'opzione Common Name inseriamo la voce client1 e confermiamo la firma del certificato Client e il consenso finale.

Infine generiamo i parametri Diffie-Hellmann con il comando build-dh.bat e chiudiamo la finestra. Prima di andare avanti con la configurazione diciamo senza dilungarci sui dettagli tecnici che l'algoritmo Diffie-Hellmann è un algoritmo standard per proteggere la segretezza delle chiavi di crittografia e per facilitare lo scambio di queste chiavi in sicurezza. Questo algoritmo è usato principalmente nella fase iniziale per stabilire una sessione adatta alle comunicazione cifrate.

Nel prossimo articolo vedremo come impostare le ultime opzioni per il server e come configurare il client.

Nella prima parte dell'articolo abbiamo visto le impostazioni di base del server. In queste pagine vedremo invece le ultime configurazioni del server e poi passeremo al client di connessione.

Il server: le operazioni conclusive

Seguiamo il percorso Start / Tutti i programmi / OpenVPN selezioniamo Generate a static OpenVPN key per generare una chiave statica che utilizzerà l'algoritmo di crittografia. La chiave sarà creata nella cartella /config del percorso di installazione di OpenVPN e prenderà il nome di key.txt.

Di seguito è necessario copiare alcuni file ed in particolare:

  • A partire dal percorso di istallazione di OpenVPN (solitamente c:programmiOpenVPN), dalla cartella easy-rsakeys, copiamo nella cartella config i file ca.crt, dh1024.perm, server.crt, server.key;
  • Sempre nella cartella config, copiamo il file di configurazione del server server.ovpn presente in sample-config.
Figura 3: Come copiare i file di configurazione
Come copiare i file di configurazione

Siamo in dirittura di arrivo. Dall'icona di OpenVPN nella tray icon (barra in basso a destra), con il tasto destro, selezioniamo EditConfig e completiamo la configurazione. Si tratta di andare a ritoccare alcuni parametri presenti nel file server.ovpn precedentemente copiato nella cartella config, in particolare:

  • Alla voce TCP or UDP server? abilitare la direttiva dev tap (togliendo il punto e virgola davanti alla direttiva) e disabilitare (inserendo davanti un punto e virgola) la direttiva dev tun;
  • Subito a seguire abilitare la direttiva dev node e inserire al posto della voce di default (MyTap) il nome della nostra connessione, ovvero OpenVPN;
  • Disabilitare la voce server 10.8.0.0 255.255.255.0 e abilitare invece la voce server-bridge ricordandosi di inserire in successione i parametri della nostra scheda di rete separati da spazi: l'IP del nostro server, la sua Netmask, il primo indirizzo IP client e l'ultimo indirizzo IP che verrà assegnato in DHCP al client
  • In fondo al file abilitiamo la voce client-to-client, che permette agli eventuali client di vedersi e riconoscersi;
  • Incrementiamo il livello di sicurezza abilitando la voce tls-auth, ricordandosi di inserire come nome della chiave statica il nostro valore key.txt al posto di quello di default ta.key;
  • Impostiamo il numero di client massimo per l'accesso al server con la direttiva max-client, ad esempio a 5.

Il file di configurazione, eliminate le voci commentate e lasciate le sole direttive utili, dovrebbe avere la seguente configurazione. Fate attenzione alla voce server-bridge che invece dovrà essere configurata con i parametri della vostra scheda di rete.

port 1194
proto udp
dev tap
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 192.168.0.1 255.255.255.0 192.168.0.50 192.168.0.100
client-to-client
keepalive 10 120
tls-auth key.txt 0 # This file is secret
comp-lzo
max-clients 5
persist-key
persist-tun
status openvpn-status.log
verb 3

Abbiamo finito, creiamo in ultimo il bridging tra la nostra interfaccia di rete (ad esempio la LAN) e quella di OpenVPN. Il programma durante l'installazione configura una scheda di rete virtuale che sarà chiamata, in una configurazione tipica, Connessione alla rete locale (LAN) 2 o simile. Per verificare quale sia la scheda creta basta andare, su Windows XP, al percorso Start / Pannello di Controllo / Rete e connessioni Internet / Connessioni di rete e fare clic con il pulsante destro su una connessione scegliendo la voce Proprietà. Se nel campo Connetti tramite è indicata la voce TAP-Win32 Adapter V8 siete sicuri che quella è la scheda di rete di OpenVPN.

La scheda va collegata a quella reale. Praticamente dallo stesso percorso selezioniamo entrambe le connessioni (la nostra scheda reale e quella virtuale di OpenVPN) e con il tasto destro scegliamo Connessioni di bridging. Rinominiamo il bridge appena creato, ad esempio con "OpenVPN Bridge", e, se necessario, impostiamo i valori tcp/ip agli stessi valori della nostra scheda di rete.

Il gioco è fatto, il server VPN si avvia dall'icona posta nella tray icon scegliendo la voce Connect.

Configurazione del client

Prima di partire teniamo da parte (copiandoli in una cartella temporanea) i file client_prova.key, ca.crt, client_prova.crt presenti nella cartella easy-rsakeys ed anche la chiave statica key.txt presente nella cartella /config del server.

Utilizzando lo stesso file di installazione utilizzato per il server, possiamo procedere con il wizard che installerà OpenVPN sul nostro client, ossia sul computer che si collegherà in VPN al server. Le uniche operazioni da effettuare nel caso del client sono quelle di copiare i precedenti quattro file nella cartella /config, insieme al file client.ovpn presente nella cartella /sample-config. Per coerenza rinomineremo il file client.ovpn in client_prova.ovnp.

Analogamente al caso del server, modifichiamo il file di configurazione aprendolo dalla tray icon:

  • Abilitiamo la direttiva dev tap e disabilitiamo la direttiva dev tun;
  • Subito a seguire abilitare la direttiva dev node e inserire al posto della voce di default il nome della nostra connessione, ovvero OpenVPN;
  • Alla voce remote inserire l'indirizzo IP pubblico del server VPN, oppure il suo FQDN (Fully Qualified Domain Name)
  • Alla voce dei parametri ssl/tls parms cambiare i valori di default con i valori generati dal server, ovvero cert client_prova.cert e key client_prova.key;
  • Abilitare la direttiva ne-cert-type server e subito dopo la voce tls-auth, ricordandosi di inserire come nome della chiave statica il nostro valore key.txt.

Siamo arrivati all'ultima operazione, la creazione del bridging tra le due reti, con lo stesso meccanismo precedentemente illustrato e ricordandoci sempre di configurare il bridge come la scheda di rete che abbiamo utilizzato insieme alla connessione OpenVPN.

Da adesso in poi il client potrà connettersi al server utilizzando la voce Connect disponibile nell'apposita icona di OpenVPN presente nella tray icon.

Oltre a OpenVPN sono comunque disponibili altre opportunità per la messa in sicurezza dei dati. Una realtà che vale la pena citare in conclusione a questo articolo è Hamachi, studiato principalmente per condividere in modo veloce e sicuro file e documenti.

Hamachi è un virtual private networking system basato sul protocollo UDP attraverso il quale, ad esempio, è possibile scambiare file e condividere documenti in modo sicuro e senza il rischio che qualcuno ne intercetti e legga il contenuto.

I client della rete usufruiscono dell'intermediazione di un particolare nodo chiamato mediation server, utile a localizzare tutti gli altri client e gestire la fase di inizializzazione della connessione. A questo punto, sbrigate le procedure di avvio, la connessione instaurata è diretta e non trasmette quindi alcuna informazione al mediation server o ad altri computer sulla rete.

Il software garantisce la creazione di una rete che permette ai componenti di accedere alle cartelle condivise rese disponibili dagli altri utenti. Le cartelle condivise possono essere gestite da tutti gli utenti che hanno la possibilità di inserire file di qualsiasi tipo e dimensione.

Nella sua versione gratuita permette la connessione alla rete di un numero massimo di sedici host, che può essere incrementato a 250 con la versione premium, pagando una piccola somma di denaro da versare annualmente.

Utilizzando la tecnologia VPN l'utente aggiunge un ulteriore tassello per la protezione del proprio computer. Tuttavia è auspicabile che i software VPN sia accompagnato da una ragionevolezza nell'utilizzo di internet e delle reti wireless in generale. Spesso infatti non si considera che la comunicazione senza fili ha una criticità intrinseca che è proprio il mezzo trasmissivo che utilizza, ovvero l'aria. La VPN quindi deve essere affiancata almeno da un firewall, che però deve essere in grado di non creare conflitti con il software VPN. Abbiamo concluso con questa ultima nota in quanto, a seconda del software VPN prescelto, alcuni utenti hanno manifestato problemi o conflitti con i prodotti firewall.

Ti consigliamo anche