Sei sulla pagina 1di 12

IlSoftware.

it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 1 of 12

Come configurare una rete VPN professionale con OpenVPN e DD-WRT

Introduzione all'uso di OpenVPN e del firmware per il router DD-WRT


Una VPN (acronimo di Virtual Private Network) pu essere considerata come un'estensione di una rete privata che si occupa di instaurare dei "collegamenti" tra due o pi sistemi che debbono scambiarsi dati in modo sicuro, utilizzando una rete condivisa o comunque pubblica qual Internet. Una rete VPN permette di scambiare dati in modo simile a quanto accade in una connessione privata puntopunto. L'approccio utilizzato d modo di rendere il computer remoto parte di una rete privata interna alla struttura aziendale creando un "tunnel" virtuale attraverso la rete Internet. Per simulare un collegamento punto-punto, i dati vengono incapsulati con l'aggiunta di un'intestazione che fornisce le informazioni di routing e cifrati in modo da renderne possibile la lettura da parte di eventuali aggressori, sprovvisti delle necessarie chiavi crittografiche. OpenVPN una valida soluzione opensource, disponibile per svariati sistemi operativi, che consente di implementare una VPN professionale a costo zero. Accanto ad OpenVPN utilizzeremo DD-WRT, un firmware personalizzato in grado di supportare decine di router differenti, delle marche pi disparate. Il software viene rilasciato sotto licenza GNU GPLv2 ed quindi utilizzabile senza problemi in qualunque contesto d'impiego, sia in ambienti domestici che commerciali. DD-WRT offre anche la possibilit di utilizzare OpenVPN: il suo modulo server consente di accettare connessioni in ingresso da parte dei client autorizzati. Questi ultimi saranno cos in grado di navigare su Internet "in modo sicuro", passando attraverso un tunnel crittografato ed evitando che i dati inviati e ricevuti possano essere intercettati da qualche malintenzionato. E' ovvio, quindi, che una connessione VPN si rivela di vitale importanza ogniqualvolta ci si trovasse, in qualunque parte del mondo, ad usare un collegamento potenzialmente rischioso (una rete Wi-Fi pubblica od un network sconosciuto) per la riservatezza dei propri dati. Il "tunnel" virtuale permetter di accedere alla rete Internet ed alla propria LAN domestica od aziendale servendosi di un canale cifrato: tutte le informazioni in transito non potranno cos essere carpite da parte degli eventuali aggressori "in ascolto". L'utilizzo di un firmware personalizzato qual DD-WRT ha un'innegabile vantaggio: lasciando il router acceso, si potr "navigare" in Rete in tutta sicurezza, in qualuque angolo del globo ci si trovi, senza esporre informazioni personali e senza correre, quindi, alcun rischio. Il firmware di un dispositivo qual un router pu essere pensato come un "programma" integrato capace di interagire con i vari componenti hardware. In apparati di media complessit quali sono i router, il termine firmware ha un significato pi ampio stando ad indicare anche il vero e proprio sistema operativo preinstallato nel dispositivo. Tutti i moderni router dispongono di una comoda interfaccia web che, accessibile semplicemente ricorrendo al browser, permette di gestire in modo agevole la configurazione del device e regolare in profondit il suo comportamento. Quando si acquista un router, di qualunque marca, questo utilizza di default un firmware (da mantenere possibilmente aggiornato nel corso del tempo attraverso l'applicazione degli update ufficiali) sviluppato dai tecnici dell'azienda produttrice. Talvolta, per, alcune interessanti funzionalit non sono implementate direttamente all'interno del firmware ufficiale: un prodotto a costo zero quale DD-WRT consente di abilitare caratteristiche di grande interesse per gli utenti pi esperti (routing statico, gestione di reti VPN, esecuzione di operazione su base programmatica e cos via). Se si dispone di un router ormai fuori garanzia e si volessero saggiare i vantaggi derivanti dall'impiego di DDWRT, sufficiente fare riferimento al sito web ufficiale del progetto per ottenere tutte le informazioni del caso. In particolare, la prima operazione da effettuare, consiste nel cercare il modello del proprio router all'interno del database di DD-WRT (ved. questa pagina). Digitando il modello del dispositivo di cui si in possesso, possibile stabilire immediatamente se tale router sia o meno supportato da DD-WRT. Alcuni router, ad esempio quelli equipaggiati con il chipset Marvell, non supportano in nessun modo l'installazione del firmware DD-WRT.

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 2 of 12

Attenzione! L'installazione di DD-WRT effettuata "con leggerezza" e senza seguire attentamente tutti i passaggi raccomandati potrebbe condurre al cosiddetto "bricking" del dispositivo ovvero all'impossibilit di accedervi. Suggeriamo quindi di agire con la massima cautela tenendo presente che qualunque modifica apportata al funzionamento del router viene effettuata sotto la vostra piena ed esclusiva responsabilit. In questo articolo vogliamo fornire solamente alcuni indicazioni a valore generale che per dovranno essere approfondite consultando il sito ufficiale di DD-WRT e le pagine di supporto per ciascun modello di router.

- Prima di installare il firmware DD-WRT sempre necessario effettuare un hard reset del router. Cos facendo si perderanno tutte le configurazioni personalizzate precedentemente applicate al dispositivo. L'operazione di hard reset si concretizza nella cosiddetta procedura 30/30/30. Illustrata dettagliatamente a questo indirizzo, pu essere riassunta in tre passi: il primo, consiste nella pressione del pulsante "reset" del router per un periodo di tempo pari a 30 secondi; in seconda battuta sempre tendendo premuto il pulsante "reset" del router si dovr scollegare il dispositivo per 30 secondi; infine, come ultimo passo, si dovr ricollegare il device alla rete elettrica continuando a mantenere premuto il tasto di "reset" per ulteriori 30 secondi. La medesima prassi deve essere applicata prima e dopo qualunque upgrade o downgrade del firmware. Infine, non si debbono mai usare file di backup della configurazione che siano stati generati con differenti versioni del firmware adottato. Prima di procedere, suggeriamo di controllare le pagine di supporto che sono state create dagli autori di DD-WRT sul sito web del progetto (ved. il Wiki ufficiale). Per installare DD-WRT sul proprio router sovrascrivendo il firmware preinstallato, si dovr accedere al pannello di controllo web (esempio: http://192.168.1.1 o http://192.168.0.1), digitare le credenziali d'accesso corrette, portarsi nella sezione Amministrazione (l'esatta denominazione potrebbe differire da un modello di router all'altro), selezionare Aggiornamento software od Aggiornamento firmware e selezionare il file .bin di DD-WRT scaricato dal sito ufficiale del progetto.

L'operazione di caricamento del firmware di DD-WRT potrebbe durare diversi minuti. E' importante non interrompere per nessun motivo l'operazione ed assicurarsi, prima di effettuarla, ancora una volta, di aver seguito tutti i suggerimenti pubblicati sul sito web di DD-WRT. Al termine dell'aggiornamento, non appena verr confermata l'avvenuta operazione, si dovr effettuare nuovamente la procedura di hard reset 30/30/30 precedentemente riassunta. A questo punto, si potr accedere al pannello di amministrazione di DD-WRT digitando, tipicamente, l'indirizzo http://192.168.1.1 nel browser web. Al primo accesso in DD-WRT verr richiesto di modificare le credenziali d'accesso usate per l'ingresso nel nuovo pannello di amministrazione del router:

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 3 of 12

Nei campi Router Username e Router Password si dovranno specificare, rispettivamente, un nome utente ed una password, sufficientemente lunga e complessa, per accedere all'interfaccia di amministrazione di DD-WRT. La medesima password dovr essere ovviamente ripetuta nel campo Re-enter to confirm.

Installazione di OpenVPN e generazione dei certificati


L'ultima versione del pacchetto OpenVPN, contenente anche l'interfaccia grafica (GUI), in precedenza distribuita separatamente, prelevabile nella versione per Windows facendo riferimento a questa pagina quindi cliccando sul link openvpn-2.1.4-install.exe. OpenVPN pu essere configurato, in Windows, come servizio di sistema: ci significa che il programma verr automaticamente avviato insieme con il sistema operativo. Il software pu essere impostato affinch abiliti automaticamente il "tunnel" oppure effettui quest'operazione solamente su esplicita richiesta dell'utente. Per avviare l'installazione di OpenVPN, sufficiente fare doppio clic sul file eseguibile precedentemente scaricato. Nel caso in cui si utilizzi un "personal firewall", si dovr acconsentire alle comunicazioni messe in atto da OpenVPN. Alla comparsa del messaggio che informa circa il tentativo di installazione di un driver di periferica virtuale (TAP-Win32), si dovr rispondere affermativamente accettandone il caricamento sul sistema in uso:

La procedura d'installazione di OpenVPN chiara e semplice da condurre a termine. L'unica riflessione dovr essere effettuata alla comparsa della finestra per la scelta dei componenti da installare. Di solito, le impostazioni predefinite sono valide per la maggior parte di casi.

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 4 of 12

Nell'elenco che riportiamo di seguito, tuttavia, indichiamo quali componenti si rivelano indispensabili per un'installazione server e quali su una macchina client:
OpenVPN User-Space Components: client server OpenVPN GUI: client OpenVPN RSA Certificate Management Scripts: server OpenVPN Service: server OpenVPN File Associations: client server OpenSSL DLLs: client server OpenSSL Utilities: client server TAP Virtual Ethernet Adapter: client server Add OpenVPN to PATH: client server Add Shortcuts to Start Menu: client server

Installando la GUI di OpenVPN (scelta consigliata), non appena si cliccher sull'omonima icona aggiunta al desktop di Windows, nella traybar in basso a destra apparir un'indicazione circa l'avvenuto avvio del programma. Una volta conclusa l'installazione di OpenVPN, si dovr proseguire con l'apertura di una finestra dei comandi con i diritti di amministratore. Nel caso di Windows 7, ad esempio, si dovr digitare cmd nella casella Cerca programmi e file del men Start, cliccare con il tasto destro del mouse sulla voce cmd.exe posta immediatamente sotto la dizione Programmi e scegliere Esegui come amministratore:

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 5 of 12

Il prompt dei comandi visualizzer il percorso c:\windows\system32. In prima battuta adesso necessario portarsi nella cartella \Programmi\OpenVPN\easy-rsa o \Program files\OpenVPN\easy-rsa (es.: cd\Program files\OpenVPN\easy-rsa). Da qui, si dovr eseguire il file init-config:

In questo modo alcuni file saranno automaticamente copiati nella cartella di lavoro di OpenVPN. Sempre dal prompt dei comandi si dovr digitare edit vars.bat. Scorrendo la finestra dell'editor di testo con i tasti freccia, portandosi quasi in fondo al file, si noter la presenza di alcune variabili precedute dal comando SET.

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 6 of 12

Tale comando SET, ben noto a coloro che anni fa utilizzavano il DOS, consente di visualizzare, impostare o rimuovere le cosiddette variabili di ambiente, utilizzate dal sistema per attingere a delle informazioni di validit generale. In questo file, generalmente, non si deve cambiare nulla a parte le ultime cinque righe. Esempio: set set set set set KEY_COUNTRY=IT KEY_PROVINCE=IT KEY_CITY=Milano KEY_ORG=MiaAzienda KEY_EMAIL=miaemail@miaazienda.it

Dopo aver effettuato le modifiche del caso, possibile salvare il file vars.bat selezionando il men File, Save. Per uscire dall'editor di testo, baster selezionare File, Exit. Dal prompt dei comandi si digiti quindi vars premendo poi il tasto Invio. Al termine dell'operazione, necessario invocare clean-all e premere Invio.

Creazione dei certificati e delle chiavi Diffie-Hellman


E' il momento di produrre le chiavi che saranno utilizzate nelle comunicazioni cifrate. Grazie al protocollo DiffieHellman, due "interlocutori" possono scambiarsi una chiave segreta in modo sicuro. Non infatti pensabile, per evidenti motivi legati all'intrinseca insicurezza che contraddistingue la rete Internet, scambiare tra un computer e l'altro un "file chiave" (soluzione a chiave simmetrica). Grazie a Diffie-Hellman possibile superare brillantemente l'ostacolo. Uno speciale algoritmo garantisce infatti che solo gli interlocutori coinvolti nella comunicazione conoscano la chiave utilizzata per crittografare i "messaggi". Ricorrendo al protocollo crittografico Diffie-Hellman, due interlocutori possono cos accordarsi sull'utilizzo di una chiave condivisa e segreta utilizzando un canale di comunicazione pubblico e quindi da considerarsi potenzialmente insicuro qual la Rete. Digitando al prompt dei comandi build-dh, verr generata una chiave Diffie-Hellman. L'operazione, per poter essere portata a completamento, pu richiedere qualche minuto di attesa.

Il passo seguente consiste nell'avvio della procedura di creazione di un certificato che sar impiegato per creare e firmare altri certificati e quindi autenticare altre macchine.

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 7 of 12

Per dare il via all'operazione, sufficiente digitare build-ca al prompt dei comandi (sempre dalla cartella easyrsa di OpenVPN). A seconda delle informazioni specificate poco fa nel file vars.bat, potrebbe essere o meno necessario inserire i vari parametri richiesti. Com' possibile notare, avendo modificato secondo le esigenze il file vars.bat, possiamo accettare molte delle impostazioni di default premendo semplicemente il tasto Invio.

Attenzione per! Non appena comparir la dizione Common name, bene indicare un nome facile da ricordare che servir per la configurazione dei client VPN. L'importante non lasciare vuoto il campo. A conclusione di questa fase, la sottocartella keys si sar popolata di diversi file (provate a digitare al prompt dir keys). Il certificato ca.crt risulter necessario per tutte le macchine remote che vorranno collegarsi al server VPN mentre il file dh1024.pem o dh2048.pem, contenente la chiave Diffie-Hellman, deve essere disponibile solo sul server OpenVPN (lo vedremo pi avanti).

Il file ca.key deve essere mantenuto assolutamente segreto e non va inviato a nessuno.

Generazione dei certificati per server e client


Generazione delle chiavi lato server Cos come un passaporto inutilizzabile se non vidimato dalle autorit locali, anche i certificati OpenVPN non possono essere usati qualora non fossero stati preventivamente "autorizzati" dal gestore del server. Si digiti, quindi, al prompt dei comandi quanto segue: build-key-server Server. Il parametro Server indica il nome che sar attribuito ai file prodotti. Il file batch provveder a produrre una chiave RSA privata da 1024 o 2048 bit, a seconda della configurazione di OpenVPN. Ancora una volta, i valori derivati dal file vars.bat vengono offerti come predefiniti: per accettarli sufficiente premere il tasto Invio. Alla comparsa della stringa Common name si dovr aver cura di introdurre esattamente lo stesso nome assegnato al server (ad esempio: Server).

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 8 of 12

Ogniqualvolta viene richiesta la generazione di una coppia di chiavi (pubblica e privata) per il server VPN ricorrendo a build-key-server, nel campo Common name va specificato l'esatto nome della macchina server sulla quale si intende usare il certificato. Si possono anche inserire parametri aggiuntivi come una password che deve essere indicata ogniqualvolta si desideri usare il certificato. Nel caso in cui si decida di indicare una password, niente e nessuno potr connettersi alla VPN senza l'uso della parola chiave specificata. Alla comparsa del messaggio Sign the certificate si dovr rispondere in modo affermativo digitando "y" e premendo Invio. Analoga risposta va fornita alla visualizzazione del messaggio "1 out of 1 certificate requests certified, commit?". Nella sottocartella keys saranno cos aggiunte anche le informazioni relative alle chiavi utilizzate dal server VPN. Impostazione dei certificati client Per la generazione delle chiavi da impiegare sui client, necessario usare il comando build-key client1 ove client1 il nome del sistema client. Tale appellativo pu essere scelto liberamente senza per utilizzare spazi o caratteri speciali. In corrispondenza della stringa Common name va introdotta, questa volta, la stringa client1 ripetendo la medesima procedura seguita nel caso della generazione della chiave server. Come ultimo passo si dovr, come in precedenza, richiedere di firmare il certificato (Sign the certificate). I file client1.* che saranno creati nella directory keys potranno poi essere salvati sul sistema client che dovr potersi connettere al server VPN (i file strettamente necessari, come vedremo pi avanti, sono ca.crt, client1.crt e client1.key). IP statico o DNS dinamico Il router sul quale stato installato il firmware DD-WRT deve obbligatoriamente fare uso di un IP statico oppure essere raggiungibile utilizzando un indirizzo "mnemonico" (ad esempio, nomeazienda.dyndns.org). Se il proprio provider Internet non offre un indirizzo IP statico ma assegnare sempre un IP dinamico, possibile impostare un servizio per la gestione del DNS dinamico qual , appunto, DynDNS. In questo nostro articolo di approfondimento, che vi invitiamo a rileggere, abbiamo illustrato la procedura passopasso per attivare il servizio DynDNS e per configurare il router in modo corretto. Impostazione dell'indirizzo IP associato al router Sia che si disponga di un IP statico che si utilizzi un DNS dinamico, si dovr accedere alla cartella \Programmi\OpenVPN\sample-config (cd\Program files\OpenVPN\sample-config) ed editare il file denominato client.ovpn (edit client.ovpn). Tale file di configurazione dovr essere completamente riscritto inserendovi solamente quanto segue: client dev tun proto tcp remote indirizzo_IP_o_indirizzo_mnemonico 1194 resolv-retry infinite nobind persist-key persist-tun

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-WRT Page 9 of 12

ca ca.crt cert client1.crt key client1.key ns-cert-type server cipher AES-128-CBC comp-lzo verb 4

Prima di salvare il file, bene controllare pi volte di impostare correttamente l'indirizzo IP del router DD-WRT e i nomi (Common name) assegnato al primo dei client.

Configurazione dell'"OpenVPN Server" di DD-WRT


Il lavoro pi importante stato gi compiuto. Adesso le ultime due operazioni che restano da svolgere sono la configurazione del modulo OpenVPN di DD-WRT e dei vari client autorizzati a collegarsi alla VPN. Per procedere, necessario effettuare il login al pannello di amministrazione di DD-WRT quindi portarsi nella scheda Services. Qui, cliccando su VPN si dovr abilitare la funzionalit OpenVPN Server:

Compariranno, immediatamente pi sotto, una serie di opzioni addizionali. In primis, molto importante selezionare Wan Up al posto di System.

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-...

Page 10 of 12

Come Server mode noi abbiamo optato per Router (TUN). Nel campo Network indispensabile indicare la classe di indirizzi IP alla quale devono appartenere i client connessi alla rete VPN (nel nostro caso abbiamo indicato 192.168.10.0). In corrispondenza di Tunnel protocol si dovr specificare TCP, AES-128 CBC come Encryption Cipher, SHA1 come algoritmo di hash. Abilitando le Advanced options, si dovr impostare le opzioni successive come di seguito riportato:

Nelle caselle di testo sottostanti (Public Server Cert e seguenti) si dovr aver cura di incollare il contenuto di alcuni file precedentemente creati con OpenVPN. Per maggior chiarezza, accanto alla denominazione riportata a lato di ciascuna casella di testo, indichiamo il nome del file il cui contenuto deve essere incollato: Public Server Cert -> server.crt CA Cert -> ca.crt Private Server Key -> server.key DH PEM -> dh1024.pem o dh2048.pem I campi TLS Auth key e Certificate revoke list devono essere lasciati vuoti. I file sopra citati, lo ricordiamo, sono contenuti nella sottocartella keys di OpenVPN. Terminato quest'intervento, si potr provvedere a salvare tutte le modifiche cliccando sul pulsante Save in calce alla pagina.

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-...

Page 11 of 12

Come ultimo passo indispensabile portarsi nella scheda Setup di DD-WRT ed in corrispondenza del riquadro Time Settings (in fondo alla sezione Basic Setup) accertarsi che le informazioni inserite siano corrette. In particolare, in corrispondenza della casella Server IP/Name bene inserire l'indirizzo di un server remoto che fornisce l'orario esatto mediante l'uso del protocollo NTP (ad esempio: ntp1.inrim.it; il servizio gestito dall'Istituto Nazionale di Ricerca Metrologica; ved. questa pagina).

Preparazione dei vari sistemi client


L'ultima operazione da compiere consiste nella configurazione delle varie workstation che dovranno poter collegarsi alla rete VPN. Sul sistema client, necessario installare la medesima versione di OpenVPN, come spiegato nella prima parte dell'articolo quindi accedere immediatamente alla cartella \Programmi\OpenVPN\config e copiarvi i seguenti file: client1.crt client1.key ca.crt Tali file dovranno essere recuperati attingendo alla cartella \Programmi\OpenVPN\easy-rsa\keys del sistema sul quale si sono generati, in precedenza, i vari certificati. Sempre nella cartella \Programmi\OpenVPN\config del sistema client dovr essere collocato anche il file client.ovpn, memorizzato nella directory \Programmi\OpenVPN\sample-config del sistema utilizzato per l'impostazione di OpenVPN. Adesso davvero tutto pronto: baster eseguire la GUI di OpenVPN dal men Programmi di Windows accertandosi di avviare l'applicazione con i diritti di amministratore. Per evitare di dimenticarsi questo importante aspetto, suggeriamo di fare clic col tasto destro del mouse sul collegamento di OpenVPN GUI, selezionare la voce Propriet, la scheda Compatibilit quindi spuntare la casella Esegui questo programma come amministratore.

Per avviare la connessione alla rete VPN, si dovr fare clic con il tasto destro sull'icona di OpenVPN, esposta nella tray bar di Windows, quindi selezionare il comando Connect:

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012

IlSoftware.it - Come configurare una rete VPN professionale con OpenVPN e DD-...

Page 12 of 12

Se non si saranno commessi errori nella fase di configurazione di OpenVPN, il collegamento dovrebbe avrebbe luogo (l'icona di OpenVPN mostrer due piccoli computer di colore verde).
di Michele Nasi (pubblicato gioved 26 gennaio 2012)

http://www.ilsoftware.it/stampa_articolo.asp?id=8269

13/02/2012