Archivio

Archivio per 18 Novembre 2009

Come creare una rete VPN in Windows con OpenVPN

18 Novembre 2009

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 punto-punto. 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.

Tutti i sistemi Windows integrano il supporto per le reti VPN: lo stesso Windows XP può operare sia in modalità client che fungere da server VPN. Purtroppo, però, configurato in questa seconda modalità, Windows XP non accetta più di una connessione in ingresso.

OpenVPN è una valida soluzione opensource, disponibile per svariati sistemi operativi, che consente di implementare una VPN a costo zero senza quindi doversi necessariamente rivolgere a Windows Server. Precisiamo subito che la configurazione di OpenVPN non è per nulla intuitiva ed è da considerarsi esclusivamente appannaggio degli utenti più esperti che dispongano già di un buon bagaglio di conoscenze informatiche.

Configurazione lato server

La procedura di installazione della versione di OpenVPN per Windows si occupa di caricare sul sistema tre componenti: il software opensource OpenVPN vero e proprio, un’interfaccia grafica sviluppata appositamente per il sistema operativo Microsoft (OpenVPN GUI) e My Certificate Wizard, strumento che consente di gestire i certificati. Per installare quest’ultimo componente è indispensabile spuntare la casella My Certificate Wizard.

Innanzi tutto, per tradurre in italiano l’interfaccia di OpenVPN, è necessario fare clic con il tasto destro del mouse sull’icona del programma visualizzata nell’area della traybar, generalmente in basso a destra quindi selezionare Exit.
A questo punto, è necessario accedere alla cartella c:\programmi\openvpn\bin e cancellare il file openvpn-gui.exe. Dopo aver scaricato questo file, si dovrà memorizzarlo sempre nella cartella c:\programmi\openvpn\bin rinominandolo in openvpn-gui.exe.

Per riavviare OpenVPN basterà fare nuovamente doppio clic sul file eseguibile openvpn-gui.exe oppure cliccare su Start, Tutti i programmi, OpenVPN, OpenVPN GUI.

I passi da compiere sono i seguenti:

– fare doppio clic su init-config.bat. Tale file provvederà a creare due file (openssl.cnf e vars.bat) a partire dagli analoghi file con estensione .sample, memorizzati nella stessa directory.
– aprire il file vars.bat (non vi si faccia doppio clic) con un qualunque editor di testo. E’ possibile utilizzare, ad esempio, un programma come TextPad.
– in calce al file vars.bat, sono riportate alcune variabili precedute dal comando SET. Tale comando, 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. Le variabili KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG e KEY_EMAIL verranno impiegate da OpenVPN per generare un certificato digitale. E’ necessario impostare correttamente ciascuna delle cinque variabili facendo attenzione a non lasciarne alcuna bianca. Ecco un esempio:

set KEY_COUNTRY=IT
set KEY_PROVINCE=IT
set KEY_CITY=Milano
set KEY_ORG=MiaAzienda
set KEY_EMAIL=miaemail@miaazienda.it

A questo punto, è possibile fare doppio clic sul file batch vars.bat per configurare tutte le variabili d’ambiente necessarie quindi avviare il file clean-all.bat.
Queste due operazioni servono per inizializzare l’ambiente di lavoro utilizzato da OpenVPN.

Il passo successivo consiste nell’aprire il prompt dei comandi (ad esempio digitando cmd in Start, Esegui…) quindi portarsi all’interno della cartella easy-rsa (cd\programmi\openvpn\easy-rsa). Qui, basterà digitare build-ca e premere Invio per avviare la procedura di creazione di una coppia di chiavi crittografiche, l’una pubblica (mostrata nel certificato in corso di creazione), l’altra privata da mantenere sempre segreta.
Per procedere, è sufficiente premere Invio più volte in modo tale da confermare tutte le impostazioni di default (country name, state or province, locality name, organization name, organizational unit name, email address). Non appena comparirà la voce Common name, è invece bene indicare un nome facile da ricordare che servirà per la configurazione dei client VPN, ad esempio cert-openvpn.

A conclusione di questa fase, è possibile notare come il file batch abbia creato una sottocartella denominata keys.

Digitando build-key-server server al prompt dei comandi, verrà avviata una procedura analoga a quella appena vista con la differenza che, in questo caso, saranno prodotte chiave pubblica e privata per il server VPN. Alla comparsa della stringa Common name si dovrà aver cura di introdurre esattamente lo stesso nome specificato in precedenza (nel nostro caso, cert-openvpn).
Più avanti, l’indicazione Sign the certificate richiederà se il certificato digitale debba essere firmato impiegando le informazioni “master” prodotte in precedenza. Per rispondere affermativamente, è sufficiente digitare il tasto “y” e premere Invio. Successivamente si dovrà rispondere ancora “y”.

All’interno della sottocartella keys saranno così aggiunte anche le informazioni relative alle chiavi utilizzate dal server VPN.

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 introduciamo, questa volta, la stringa client1 richiedendo successivamente, al solito, la l’apposizione della firma.

Come ultimo passo, è necessario digitare build-dh e premere il tasto Invio. “DH” è l’acronimo di Diffie-Hellman, un protocollo crittografico che permette a due “interlocutori” di accordarsi sull’utilizzo di una chiave condivisa e segreta utilizzando un canale di comunicazione pubblico e quindi da considerarsi potenzialmente insicuro (rete Internet).

Per fidare su un livello di protezione aggiuntivo, è possibile generare una chiave OpenVPN statica cliccando su Start, Tutti i programmi…, OpenVPN, Generate a static OpenVPN key. Questa procedura produrrà una chiave a 2048 bit che verrà conservata nel file key.txt (cartella \Programmi\OpenVPN\config).

Da ultimo, si dovranno copiare i file ca.crt, dh1024.pem, server.crt e server.key dalla sottocartella \easy-rsa\keys nella sottocartella \config di OpenVPN. Così facendo si indicheranno al programma il certificato master, il certificato server e la chiave privata del server da utilizzare.

Dalla sottocartella \sample-config è necessario copiare il file server.ovpn posizionandolo, anch’esso, all’interno della sottodirectory \config.

Ora è possibile avviare l’interfaccia grafica di OpenVPN (Start, Tutti i programmi…, OpenVPN, OpenVPN GUI) in modo da concludere l’ultima parte della configurazione del programma. Cliccando con il tasto destro del mouse sull’icona di OpenVPN mostrata nella traybar quindi selezionando la voce Modifica configurazione, verrà mostrato il contenuto del file server.ovpn.

Per prima cosa è bene optare per dev tap togliendo il punto e virgola posto per default dinanzi all’impostazione. Il punto e virgola (che viene impiegato per trasformare qualsiasi riga in un commento rendendola di fatto inefficace) va invece posto innanzi al parametro dev tun.
In corrispondenza di dev-node è poi necessario specificare il nome dell’interfaccia di rete per la connessione VPN: si digiti OpenVPN. Anche in questo caso deve essere rimosso il punto e virgola posta all’inizio dell’indicazione dev-node.
Davanti alla direttiva server è bene porre un punto e virgola in modo tale da renderla un commento.
Va invece abilitato il parametro server-bridge togliendo il punto e virgola quindi specificando, al posto degli indirizzi IP specificati, rispettivamente, l’indirizzo del server VPN, la relativa netmask, l’indirizzo IP assegnato al primo client ed, infine, l’IP che verrà attribuito al client attraverso il protocollo DHCP.

Da ultimo, è bene togliere il commento dalla voce client-to-client: essa permette ai client di riconoscersi tra di essi e di avere la possibilità di accedere alle risorse condivise dai vari sistemi.
E’ consigliabile anche decommentare la direttiva tls-auth in modo tale da sfruttare la chiave statica di OpenVPN generata precedentemente così da aumentare il livello di sicurezza della rete. La riga deve essere modificata in tls-auth key.txt 0.
L’impostazione max-clients consente invece di definire il numero massimo di sistemi client che possono connettersi al server VPN.
Alla fine dell’intervento, si dovrà salvare il file di testo server.ovpn.

In ultima istanza, è necessario creare un “bridge” tra la connessione di rete locale e l’interfaccia di rete virtuale aggiunta in Windows da parte di OpenVPN.
E’ bene accertarsi di quale sia la connessione aggiunta all’atto dell’installazione di OpenVPN (spesso è indicata come Connessione alla rete locale (LAN) 2 o con dizioni simili): per averne la certezza, è possibile fare clic con il tasto destro del mouse sulle varie connessioni di rete in lista, selezionare Proprietà, quindi verificare che il nome del dispositivo correlato sia TAP-Win32 Adapter V8. Una volta individuata la connessione associata ad OpenVPN, è necessario rinominarla in OpenVPN.

Dopo aver selezionato entrambe le connessioni dalla finestra Connessioni di rete di Windows, facendo clic con il tasto destro del mouse si dovrà scegliere Connessioni con bridging. Dopo la comparsa del messaggio Realizzazione del ponte sulle connessioni in corso, si troverà in elenco una nuova voce, battezzata Bridge di rete che dovrà essere rinominata in OpenVPN Bridge.
Nelle proprietà TCP/IP di OpenVPN Bridge, è bene indicare le stesse impostazioni definite nella finestra delle proprietà TCP/IP relativa alla connessione di rete “fisica”.

Facendo clic con il tasto destro del mouse sull’icona di OpenVPN nella traybar quindi cliccando su Connetti, il programma – dopo una manciata di secondi di attesa – dovrebbe mostrare il messaggio Server è ora connesso.

Configurazione lato client

Conclusa la configurazione del server, si può passare all’impostazione dei sistemi client che dovranno successivamente connettersi alla rete VPN.
Come primo passo, si dovrà installare OpenVPN sul client utilizzando il medesimo file impiegato per il server.

Poi, è necessario copiare i file client1.crt, client1.key e ca.crt dalla cartella \OpenVPN\easy-rsa\keys del server nella cartella \OpenVPN\config del client. Sempre nella directory \OpenVPN\config del client dovrà essere posizionato il file key.txt proveniente dalla cartella \OpenVPN\config del sistema server.
Infine, si dovrà copiare il file client.ovpn dalla cartella \OpenVPN\sample-config del client in \OpenVPN\config, sempre sul client.
Il file di configurazione \OpenVPN\config\client.ovpn deve essere aperto con un editor di testo e modificato attivando – come nel server – solo la direttiva dev tap; abilitando dev-node inserendo OpenVPN quale denominazione dell’interfaccia di rete.

In corrispondenza della voce remote, va indicato l’IP del server VPN. Se al server è associato un IP statico, nella direttiva remote deve essere specificato tale indirizzo. Nel caso in cui il provider Internet assegni al server un indirizzo IP in modo dinamico, si potrà ricorrere a servizi quali DynDNS.

Più sotto, in luogo delle impostazioni di default, vanno specificate le seguenti direttive:

ca ca.crt
cert client1.crt
key client1.key

Ancora più sotto, va abilitata la voce ne-cert-type server e tls-auth. In corrispondenza di quest’ultima l’indicazione del file ta.key va sostituita con key.txt.

Finalmente, dopo aver effettuato il “bridging” tra la scheda di rete “fisica” e l’interfaccia di rete virtuale aggiunta sul client da OpenVPN (quest’ultima dovrà essere rinominata in OpenVPN, così come già fatto in precedenza lato server), sarà possibile instaurare una connessione sicura con il sistema server remoto.

Per gli altri client dovranno essere copiati i file client2.crt, client2.key, ca.crt dal server, creati con il comando build-key client2, build-key client3 e così via.

Dopo aver cliccato con il tasto destro del mouse sull’icona di OpenVPN quindi su Connetti, il client tenterà la connessione al server VPN remoto, specificato in precedenza mediante l’uso della direttiva remote.

A questo punto, dovrebbe essere possibile accedere alle risorse condivise del server e degli altri computer così come se il sistema client remoto facesse parte della medesima rete locale. Cliccando, quindi, sull’icona Risorse di rete si dovrebbe ottenere l’elenco delle risorse condivise ed accessibili.

Nel caso in cui il sistema server fosse collegato alla rete Internet mediante un router, sarà necessario effettuare il forwarding dei dati in transito sulla porta UDP 1194 verso l’IP locale associato alla macchina che fungerà da server VPN.
Va altresì sottolineato che nella modalità “bridged” (dev tap) sia il server che il client devono appartenere alla stessa sottorete (ad esempio, 192.168.0.0). Nel caso in cui fossero attestati su reti con IP differenti, dovrà essere necessariamente attivata la modalità “routed” di OpenVPN (dev tun).

Share

Tutorial

Presentazione di SysPrep e preparazione del sistema

18 Novembre 2009

Sysprep – Presentazione di SysPrep e preparazione del sistema con SysPrep

15 novembre 2009

In ambito aziendale molto spesso i sistemi hanno una configurazione simile: sulle varie workstation sono installati software similiari, vengono impiegate le medesime impostazioni di rete, gli stessi programmi per la sicurezza e così via.
Per l’amministratore non è pensabile dover reinstallare da zero il sistema operativo su ciascuna nuova macchina che venga aggiunta alla rete LAN o che sostituisca un’altra workstation. In questo modo si sarebbe infatti costretti a riconfigurare il sistema ed applicare tutte le impostazioni utilizzate all’interno della realtà aziendale.

SysPrep, acronimo di System Preparation è un’utility Microsoft che offre la possibilità di rendere possibile una clonazione “indolore” della configurazione di un sistema già in uso e perfettamente configurato secondo le proprie esigenze.
Utilizzando Microsoft SysPrep ed un software di disk imaging, avviando il nuovo personal computer Windows effettuerà alcune regolazioni di base mantenendo comunque inalterate tutte le altre impostazioni, i programmi presenti, le preferenze dell’utente.

La procedura che porta, di fatto, alla clonazione del contenuto di un personal computer su di una nuova macchina può essere riassunta in quattro passaggi:
1) preparazione del sistema da clonare con SysPrep
2) creazione di un file d’immagine del sistema o clonazione del contenuto del disco fisso
3) ripristino del contenuto del file d’immagine sul disco fisso della nuova macchina
4) avvio del nuovo personal computer e configurazione delle impostazioni base del sistema

Il primo passo da compiere consiste ovviamente nell’accertarsi che il sistema di partenza, a partire dal quale saranno generati altri personal computer “cloni”, sia correttamente configurato. Più accuratamente sarà assolta questa prima fase e meno operazioni si dovranno compiere una volta copiata la stessa configurazione sugli altri personal computer.
E’ quindi bene installare tutti i programmi necessari abitualmente, configurare la connessione di rete, installare stampanti di rete, installare gli aggiornamenti di Windows disponibili ed i software di protezione come antivirus e firewall. Particolare cura va riposta nella configurazione delle preferenze del sistema operativo, del browser e delle altre applicazioni installate.

La preparazione del sistema con SysPrep è il passo cruciale. Applicando i suggerimenti illustrati di seguito sarà possibile replicare la configurazione di Windows anche su sistemi hardware differenti. Diversamente, saltando qualche passaggio oppure non effettuandolo così come indicato, l’immagine SysPrep risulterà utilizzabile solo su personal computer dotati degli stessi componenti hardware del sistema di origine.

Sul sistema di partenza ossia quello avente la configurazione da replicare sugli altri personal computer, è necessario accedere alla finestra Gestione periferiche (Pannello di controllo, Sistema, Hardware, Gestione periferiche) ed espandere il contenuto della sezione Controller IDE ATA/ATAPI. A questo punto, bisogna assicurarsi che tutti i controller dei dischi fissi siano indicati come “standard”. Qualora si avesse in elenco un controller non-standard (ad esempio Controller IDE Intel … Bus Master, Via Bus Master IDE Controller e così via), è bene farvi doppio clic, selezionare la scheda Driver quindi cliccare sul pulsante Aggiorna driver.

Alla comparsa della finestra Aggiornamento guidato hardware, è necessario attivare l’opzione No, non ora per evitare che Windows effettui una ricerca in Rete del driver aggiornato e premere Avanti.
Nella finestra seguente, va selezionata la voce Installa da un elenco o percorso specifico (per utenti esperti) quindi optare per Non effettuare la ricerca. La scelta del driver da installare verrà effettuata manualmente.
A questo punto, dalla finestra recante il titolo Selezionare il driver di periferica da installare per l’hardware, si scelga il controller contenente l’indicazione “standard”. Ecco un esempio in figura:

Cliccando su Avanti, Windows sostituirà il driver correntemente in uso con quello selezionato manualmente. Dopo aver premuto Fine e cliccato su Chiudi, il sistema operativo richiederà il riavvio: si risponda in modo affermativo cliccando su .
L’operazione va ripetuta per tutti i controller non-standard.

Conclusa questa seconda fase, è possibile passare alla preparazione del sistema con SysPrep.
Si abbia a portata di mano il CD di installazione di Windows XP. E’ bene accertarsi che tale CD ROM sia aggiornato allo stesso Service Pack installato sul sistema in uso. Diversamente, si provveda ad effettuare un’operazione di “slipstreaming” ossia l’integrazione del Service Pack nel CD d’installazione del sistema operativo (ved., in proposito, questo articolo).
Se sul sistema è installato Windows XP aggiornato al Service Pack 3, il CD d’installazione di Windows XP deve essere necessariamente aggiornato anch’esso al Service Pack 3.

Dalla finestra Risorse del computer di Windows XP, si faccia clic sul menù Strumenti, Opzioni cartella… quindi sulla scheda Visualizzazione. Nell’area Impostazioni avanzate, è necessario controllare che l’opzione Visualizza cartelle e file nascosti sia attivata.

Nella cartella \Support\Tools del CD ROM d’installazione di Windows XP, si troverà un file denominato deploy.cab. Si estragga il suo contenuto nella cartella c:\sysprep, sul disco fisso.
Dopo aver aperto la cartella c:\sysprep, è necessario fare doppio clic sul file setupmgr.exe, cliccare sul pulsante Avanti, selezionare Crea un file di risposta, optare per Installazione SysPrep, Windows XP Professional, No, non rendere l’installazione totalmente automatica. A questo punto, vanno introdotte le impostazioni di default da assegnare a tutti i nuovi computer. E’ possibile non compilare alcune finestre: si tenga però presente che, in questo caso, una volta clonato ed avviato il sistema operativo, le informazioni non introdotte in questa fase saranno poi richieste.

Si consiglia di regolare subito anche le impostazioni internazionali, scegliendo Specifica le impostazioni internazionali nel file di risposta.

Nella sezione Stringa duplicazione OEM è bene ricordarsi di inserire un riferimento all’interno della casella Information SysPrep, ad esempio “Sistema base NOMEAZIENDA XP SP3 con ELENCO APPLICAZIONI…“.

Cliccando sul pulsante Fine, SysPrep indicherà la cartella ove sarà salvato il file .inf contenente le preferenze impostate: è sufficiente confermare la scelta premendo OK. Dopo qualche secondo di attesa si potrà chiudere SysPrep dal menù File, Esci.

Il passo seguente consiste nel fare doppio clic sul file sysprep.exe, anch’esso presente nella cartella c:\sysprep; apparirà la finestra seguente:

Dopo aver cliccato sul pulsante OK, si dovrà spuntare la casella MiniSetup e premere Fabbrica.


A questo punto si dovrà attendere pazientemente che SysPrep termini la preparazione del sistema in uso. Al termine di tutte le operazioni necessario, il personal computer verrà automaticamente spento.

A questo punto, è possibile creare l’immagine del disco fisso od effettuarne la clonazione del contenuto su un altro hard disk collegato al personal computer (da installare poi su una macchina differente).
Per la creazione del file d’immagine o la clonazione, è possibile ricorrere a software come Norton Ghost od Acronis TrueImage (ci si assicuri di avere a disposizione un CD di boot dal quale avviare il sistema).

Dopo aver ripristino il contenuto del file d’immagine generato sul sistema di partenza oppure dopo avere clonato il contenuto del disco fisso di origine sul nuovo personal computer, è possibile avviarlo normalmente: Windows provvederà a rilevare ed a configurare il nuovo hardware.

Una volta al desktop di Windows verrà nuovamente mostrata la finestra di SysPrep: cliccate su MiniSetup quindi sul pulsante Sigilla.

Cliccando OK alla comparsa del successivo messaggio (Si è scelto di rigenerare gli ID di protezione (SID) al prossimo avvio…), il personal computer – dopo qualche istante – verrà nuovamente spento.

Si riavvii il sistema quindi si attenda qualche minuto: Windows richiederà l’inserimento di tutti quei dati che non sono stati specificati al momento della preparazione del sistema di origine con SysPrep.

Come ultimo passo, è necessario accedere di nuovo alla finestra Gestione periferiche ed eliminare gli “standard” controller per le unità disco inseriti in precedenza: in questo modo, al successivo reboot di Windows, il sistema operativo caricherà il driver corretto e quindi più performante rispetto a quello “standard”.


Al termine della procedura, dopo uno o due riavvii aggiuntivi, si disporrà di un sistema pronto all’uso, perfettamente funzionante e già completamente configurato secondo le proprie esigenze.

Share

Tutorial