OpenVPN #1. Scenario, installazione e creazione delle chiavi.

OpenVPN è un software cross platform (linux, windows, osx, ed anche una versione in beta per pocketpc) che permette di creare reti private virtuali sfruttando la rete Internet.

Se siete dei “road warrior” ovvero tecnici/commerciali che spesso sono fuori ufficio, ed a volte avete necessità di collegarvi al server/rete aziendale questo strumento fa per voi.

Se poi volete far bella figura col vostro capo dicendogli che non spenderà una lira in licenze software, allora preparatevi a chiedere un aumento di stipendio.

Partiamo dallo scenario: sul vostro server aziendale è installato Windows 2003 ed il vostro ufficio ha una connessione ad internet a banda larga. Voi siete in giro col vostro portatile, presso un cliente che ha anche lui la connessione a banda larga (esistono clienti che ancora non ne hanno?), e dovete collegarvi al vostro server per scaricare la posta, o per scaricare l’ultima release di qualcosa. Come fate?

Scaricare ed installare OpenVPN

Siete stati previdenti. Ieri mattina avete scaricato l’ultima versione di OpenVPN dalla pagina di download. Ovviamente abbiamo scelto la versione per windows (Windows Installer)

Dopo l’installazione avete trovato una nuova scheda di rete, un consiglio: rinominatela dandogli un nome più esplicativo, openVPN_iface, per esempio.

Creare le chiavi di certificazione e conservarle in un luogo sicuro.

Il passo successivo prevede la creazione delle chiavi di certificazione: una certification autority, una per la macchina server, e tante altre chiavi per quanti sono i computer client dei “road warrior”.

Lanciate una shell comandi (start->esegui->cmd + invio) e spostatevi nella cartella cartella easy-rsa di OpenVPN (di solito \%Program Files%\OpenVPN\easy-rsa)
A questo punto dovete lanciare una serie di comandi: primo fra questi è

init-config

Attenzione, dovete essere sicuri che non esistano file di configurazione e chiavi preesistenti, altrimenti, con questa operazione verranno sovrescritti.

Questa operazione copia due file di esempio nella directory di lavoro: openssl.cnf e vars.bat. Editiamo il secondo file ed inseriamo alcuni parametri per la creazione delle chiavi. Il file vars.bat potrebbe essere in formato unix-like, quindi non apritelo con notepad altrimenti vedrete un’unica riga, magari utilizzate un altro editor come Scite .

Le variabili che andiamo a modificare sono nella parte finale del file, personalizziamole opportunamente con i nostri dati:

set KEY_COUNTRY=IT
set KEY_PROVINCE=PG
set KEY_CITY=BARI
set KEY_ORG=myOrganization
set KEY_EMAIL=myMail@host.domain

facendo attenzione a non lasciare nessuno di questi parametri a blank!

Ora possiamo creare la chiave di certificazione (ca: Certification Authority) lanciando da shell i comandi:

vars
clean-all
build-ca

Durante la generazione della chiave vi verranno richiesti una serie di parametri a cui potete rispondere confermando il valore di default con un bella pressione sul tasto di ENTER.
L’unico valore a cui NON potete rispondere in questo modo è Common Name, io ho utilizzato openVPN, ma potete scegliere un nome di fantasia.

cmd-easy-rsa.jpg

Fatto questo passiamo a generare la chiave del server con il batch

build-key-server

Al solito ci vengono richieste un po’ di parametri che possiamo confermare con un enter.
Al solito NON dobbiamo confermare il Common Name in questo caso scriveremmo “server”, senza le virgolette!

Terminiamo la transazione rispondendo y(es) alla richiesta di firma del certificato e alla richiesta di salvare la transazione.

cmd-build-key-server.jpg

Non ci rimane ora che creare le chiavi per il nostro client, che per convenzione chiameremo clientPc:

build-key clientPc

anche in questo caso possiamo lascire i valori di default tranne il common name che specificheremo come clientPC. Anche in questo casoci verrà richiesto di firmare il certificato e eseguire il commit della transazione su database.

La nostra ultima fatica sarà quella di generare un parametro di Diffie Hellman digitando da riga di comando

build-dh

Il nostro portachiavi ora è completo! Nella subdirectory Key ci sono tutti i file chiave che ci occorrono. Copiateli in un luogo sicuro e ben custodito.

Nella prossima puntata vedremo quali chiavi utilizzare per il nostro server, quale configurazione utilizzare e come utilizzare questa componente.

5 risposte a "OpenVPN #1. Scenario, installazione e creazione delle chiavi."

  1. Carlo

    premetto che ho installato la openvpn per windows più recente per creare la chiave del server il comando è build-key-server.bat server

    grazie per le tue istruzioni.

  2. Ciro

    Ciao, ho utilizzato le tue istruzioni per provare a installare openVPN ma non trovo nella cartella keys le chiavi del server. In compenso ci sono due files senza nome. Sai il motivo? Grazie.

Lascia un commento