Prerequisiti:
- Avere un PC con Windows 7 o successi
- Il computer in questione deve avere un IP pubblico su internet
Installazione pacchetto OpenVPN
- Scaricare e installare OpenVPN (community) da QUI
- Prima di procedere con l’installazione cliccare su “Customize”
- Mentre sei nella finestra “Custom Installation” , scrolla in basso fino a cercare “OpenSSL Utilities” → “EasyRSA 3 Certificate Management Scripts” e assicurati che venga installato assieme a OpenVPN, ora puoi procedere cliccando su “Install Now”
EasyRSA
Per la generazione delle chiavi useremo EasyRSA 3 l’applicazione che abbiamo installato negli step precedenti con OpenVPN. Gli script di EasyRSA devono essere eseguiti con il Command Promt di windows.
- Apriamo il Command Promt di Windows in modalita di Amministratore
- Rechiamoci nella directory di EasyRSA, dovrebbe essere la seguente:
cd "C:\Program Files\OpenVPN\easy-rsa"
- Lanciamo EasyRSA con
EasyRSA-Start.bat
- Prima di generare le chiavi prima occorre inizializzare la directory per la struttura a chiave pubblica (PKI). Questo è fatto tramite il comando
./easyrsa init-pki
- Apriamo in modifica il file vars.bat con notepad
notepad vars.bat
- Questo è il template per generare i certificati, le informazioni sono usate come default nella generazione. Trova e modifica le seguenti linee secondo le tue esigenze:
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=OpenVPN
set [email protected]
- Puoi anche importare la lunghezza del parametro di Diffie Hellman
set DH_KEY_SIZE=2048
- una volta terminate le modifiche salva e esegui questo comando
./easyrsa clean-all
Generare i certificati e le chiavi
- Iniziamo con il generare il certificato (CA), questo certificato verrà usato per firmare le chiavi.
./easyrsa build-ca nopass
- Successivamente potremo generare il certificato per il server e la chiave.
./easyrsa build-server-full server nopass
- Ora possiamo generare quello per il client con la rispettiva chiave
./easyrsa build-client-full Client1 nopass
Nota: Cambia Client1 con il nome del client che verrà usato. Rimuovi “nopass” e ti verrà chiesto di scegliere una password per i Client.
- Come ultimo passaggio possiamo generare il parametro di Diffie Hellman
./easyrsa gen-dh
Tutte le chiavi e i certificati generati sono presenti in questi percorsi:
File | Location |
---|---|
Certificato CA | C:\Program Files\OpenVPN\easy-rsa\pki |
Parametro Diffie Hellman | C:\Program Files\OpenVPN\easy-rsa\pki |
Chiave del Client e del Server | C:\Program Files\OpenVPN\easy-rsa\pki\private |
Certificato del Client e del Server | C:\Program Files\OpenVPN\easy-rsa\pki\issued |
Configurazione del Server OpenVPN
In questa parte spieghiamo con configurare un tunnel OpenVPN (TUN) che usa:
- Protocollo UDP
- Autenticazione TLS
Come template per la configurazione useremo un file di sample.
- Copia il file server.ovpn che sta nella cartella C:\Program Files\OpenVPN\sample-config in C:\Program Files\OpenVPN\config
- Copia i file ca.crt, server.crt, server.key, dh2048.pem (la loro posizione è riportata nella tabella del capitolo precedente) in C:\Program Files\OpenVPN\config
- Modifica le seguenti linee come segue
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
Il parametro Diffie Hellman cambia a seconda di ciò che hai specificato nel file vars.bat
- Infine rimangono i settaggi addizionali… TCP o UDP, Tunnel o Bridge, ecc…
Esempio di un file di configurazione
port 10000
proto udp
dev tun
ca "C:/Program Files/OpenVPN/config/ca.crt"
cert "C:/Program Files/OpenVPN/config/server.crt"
key "C:/Program Files/OpenVPN/config/server.key"
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
#tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
;compress lz4-v2
;push "compress lz4-v2"
;comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
;mute 20
explicit-exit-notify 1
Configurazione dei client
Per configurare i client sara necessario
- Copiare i file ca.crt , client.crt and client.key sulla macchina client
- Modificare e caricare il file client.ovpn (un sample si trova nella cartella del server C:\Program Files\OpenVPN\sample-config)
Connessione e avvio del Server
Una volta completati tutti i passaggi riportati sopra sarà possibile avviare il server, facendo click con il tasto destro sull’icona e premendo “Connect”