Come Creare una VPN con OpenVPN su Windows Server

Hai bisogno di un modo sicuro e criptato per accedere a Internet? Perché non rivolgerti a OpenVPN su Windows Server? L’installazione del tuo primo VPN potrebbe essere un po’ complicata, ma sei nel posto giusto!

In questo tutorial, imparerai come configurare un VPN gratuito e tenere lontane entità malevole dal tuo Windows Server.

Pronto a proteggere la tua rete? Allora, inizia subito!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se vuoi seguirmi, assicurati di avere quanto segue:

  • A Windows Server – This tutorial uses Window Server 2019 R2.
  • A client machine to test the VPN server – This demo uses Windows 10 64 bit.
  • Connessione al desktop di un Windows Server utilizzando Remote Desktop (RDP) o il client di gestione desktop preferito – Questa demo utilizza il client predefinito di RDP.

Installazione di OpenVPN su Windows Server

OpenVPN funziona su diversi sistemi operativi, ma non viene fornito con l’installazione del tuo sistema operativo. Inizia questo tutorial installando OpenVPN sul tuo server.

1. Apri il tuo browser preferito e vai alla pagina di download di OpenVPN. Scarica il pacchetto Windows 64-bit MSI installer sul tuo server e avvia l’installazione.

Downloading the Windows 64-bit MSI installer package

2. Successivamente, clicca su Personalizza nella pagina iniziale della procedura guidata di installazione, come mostrato di seguito. L’opzione Personalizza ti consente di installare componenti aggiuntivi per il tuo server VPN.

Customizing the OpenVPN installer

3. Nella pagina Installazione personalizzata, clicca sul menu a tendina OpenVPN Service —> Verrà installato sull’hard disk locale per installare il servizio OpenVPN nel tuo sistema. Questa opzione abilita anche il servizio OpenVPN all’avvio del sistema.

Enabling the OpenVPN Service

4. Ora, scorri verso il basso e clicca sul menu a tendina OpenSSL Utilities —> opzione Verrà installato sull’hard disk locale. Questa opzione rende disponibili le librerie OpenSSL e gli header di sviluppo per il servizio OpenVPN, necessari per alcune funzioni crittografiche.

Clicca su Installa ora per installare OpenVPN sul tuo server.

Enabling the OpenSSL Utilities and installing OpenVPN

5. Infine, clicca su Chiudi quando l’installazione è completata.

Closing the Customization Installation Wizard

Generazione di certificati e chiavi per il server e i client

Ora hai OpenVPN installato sul tuo server, ma come proteggerai la connessione del server con il/i client? Dovrai generare certificati e chiavi per il tuo server e il/i client.

Certificati e chiavi vengono utilizzati per fornire una connessione criptata tra il tuo server e i client. Ottieni una coppia unica di chiave pubblica e privata quando generi un certificato.

1. Apri il tuo prompt dei comandi come amministratore. Alcuni comandi OpenVPN richiedono privilegi elevati per essere eseguiti.

Opening your Command Prompt as an administrator

2. Successivamente, esegui i comandi seguenti per avviare la shell easy-rsa. La shell easy-rsa è utilizzata per gestire certificati, chiavi e configurazioni.

EasyRSA sarà la tua principale interfaccia a riga di comando per il resto del tutorial.

cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
Accessing the EasyRSA shell

3. Esegui il comando ./easyrsa clean-all qui sotto per eliminare eventuali chiavi e configurazioni esistenti. Questo comando assicura che inizi con una configurazione pulita.

./easyrsa clean-all 
Clearing Existing Keys and Configurations

4. Ora, esegui il comando ./easyrsa init-pki per inizializzare l’Infrastruttura Chiave Pubblica (PKI) e creare una nuova struttura di directory per i tuoi certificati e chiavi.

L’Infrastruttura Chiave Pubblica (PKI) è un framework che ti consente di creare e gestire chiavi pubbliche e private per l’uso del tuo server e dei client.

./easyrsa init-pki 

Digita e premi Invio per confermare che desideri distruggere eventuali chiavi esistenti e creare una nuova PKI, come mostrato di seguito.

Initializing the Public Key Infrastructure (PKI)

5. Esegui il comando seguente per creare l’Autorità di Certificazione (CA) (build-ca). La CA è responsabile di rilasciare certificati a server e client, firmare quei certificati, revocare certificati, e così via.

È utilizzata l’opzione nopass, quindi non è necessario inserire una password ogni volta che si copiano i certificati e le chiavi ai client. ./easyrsa build-ca nopass

./easyrsa build-ca nopass

Quando configuri la tua VPN, dovrai generare un certificato per il tuo server e i client firmati dall’Autorità di Certificazione (CA).

Creating the Certificate Authority (CA)

6. Esegui il seguente comando per creare il certificato e la chiave del server (build-server-full). Questo comando crea il certificato e la chiave del server OpenVPN, li firma con la tua CA e colloca i file nella sottodirectory keys.

./easyrsa build-server-full server nopass
Building the Server Certificate and Key

7. Successivamente, esegui il seguente comando per generare i parametri Diffie-Hellman (gen-dh), quindi chiudi la tua shell easyrsa.

Diffie-Hellman è un protocollo che consente a due utenti di scambiare chiavi crittografiche su una connessione non protetta. Diffie-Hellman sarà richiesto per garantire che la tua VPN rimanga sicura anche se le tue chiavi di crittografia vengono rubate.

./easyrsa gen-dh
Generating the Diffie-Hellman Parameters

Adesso hai tutti i file chiave SSL/TLS necessari per il tuo servizio OpenVPN elencati nella tabella qui sotto.

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file, and other OpenSSL-related files like a config file.
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server, and Client certificates.
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued server and client certificates.

8. Infine, apri il tuo File Explorer e copia i file elencati di seguito nelle cartelle C:\Program Files\OpenVPN\config-auto e C:\Program Files\OpenVPN\easy-rsa\pki\private.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key

Configurazione delle regole del firewall di Windows

Ora che hai configurato il tuo server OpenVPN, il tuo prossimo passo è assicurarti di poter accedere al servizio. Dovrai configurare il firewall di Windows per consentire il traffico OpenVPN.

1. Esegui il comando netsh di seguito per consentire il traffico attraverso il firewall di Windows con quanto segue:

  • Configura (advfirewall) il firewall di Windows (firewall) aggiungendo una regola chiamata OpenVPN (add rule name="OpenVPN") al firewall di Windows.
  • Consente (action=allow) a tutti gli indirizzi IP locali (localip=any) e dispositivi esterni (remoteip=any) di comunicare tramite questa regola.
  • Indica al server quale porta aprire (localport=1194 remoteport=0-65535) e quale tipo di protocollo utilizzare (protocol=UDP).
netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
Configuring your Windows Firewall Rules

2. Apri il tuo file C:\Program Files\OpenVPN\config-auto\server.ovpn nel tuo editor di testo preferito per visualizzarne il contenuto, come mostrato di seguito.

Un file .ovpn è un file di configurazione di OpenVPN. Contiene tutte le informazioni di cui OpenVPN ha bisogno per connettersi a una VPN, come chiavi di crittografia e autenticazione. Per questo tutorial, avrai bisogno di un file .ovpn per configurare la tua connessione con il server VPN.

Edit your C:\Program Files\OpenVPN\config-auto\server.ovpn file.

Infine, esegui i seguenti comandi per riavviare il servizio OpenVPN e applicare le tue modifiche.

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

Configurazione del tuo Client

Oltre a configurare il tuo server per consentire il traffico OpenVPN, dovrai anche configurare il tuo client. In OpenVPN, un client è qualsiasi macchina che si connette alla VPN. Questa demo utilizza Windows 10 per connettersi al server.

1. Installa OpenVPN sul tuo client come hai fatto nella sezione “Installazione di OpenVPN sul tuo Server”.

2. Copia i file elencati di seguito dal tuo server alla cartella C:\Program Files\OpenVPN\config del tuo client.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key

3. Infine, apri il file C:\Program Files\OpenVPN\config\client.ovpn e popola il file con il contenuto seguente. Sostituisci YOUR_OPENVPN_IP con il tuo effettivo indirizzo IP del server Windows.

# client è il nome del tuo account, ma puoi scegliere il nome che preferisci
client
# dev tun è il tipo di connessione VPN di cui hai bisogno, utilizzando una connessione Ethernet.
dev tun
# Protocollo (UDP) utilizzato per questa connessione VPN
proto udp
# Imposta l'indirizzo IP del tuo server OpenVPN.
# 1194 è la porta del tuo server OpenVPN.
remote YOUR_OPENVPN_IP 1194
# Risolvi i nomi di dominio quando non vengono trovati, 
# così non vedrai errori del tipo "dominio non trovato".
resolv-retry infinite
# Cambia il valore da "nobind" a "sea" per disconnettere la tua connessione internet 
# quando la VPN è disconnessa.
nobind
# La tua chiave di crittografia verrà salvata per la prossima volta 
# che ti connetti al server OpenVPN.
persist-key
# La tua connessione VPN verrà salvata per la prossima volta che la usi.
persist-tun
# Il certificato che il tuo server VPN utilizza per identificarsi a te (il cliente). 
# Puoi scaricarlo dal tuo server VPN.
ca ca.crt
# il nome del tuo certificato.
cert client01.crt
# il nome della tua chiave di crittografia.
key client01.key
# La compressione dati LZO comprimerà i tuoi blocchi di dati 
# prima di inviarli in modo che i dati siano più piccoli e veloci.
comp-lzo
# Il livello di verbosità dell'output sarà impostato al massimo.
# In modo che tu ottenga il massimo di informazioni dalla tua connessione.
# Questa funzione è utile quando si cerca di individuare problemi nella connessione.
verb 3

Testare la connessione VPN del client

Ora che hai installato e configurato sia il server che il client, è il momento di verificare se la connessione tra di loro funziona correttamente.

Sul tuo client Windows 10, esegui l’applicazione OpenVPN GUI.

Running the OpenVPN GUI

Fai clic con il pulsante destro sull’icona di stato di OpenVPN (un monitor con un lucchetto) nell’area di notifica e scegli Connetti per connettere il client alla tua VPN.

Una volta connesso il client, l’icona di stato di OpenVPN diventerà verde e riceverai una notifica la VPN è ora connessa, come mostrato di seguito.

Connecting to your VPN

Per verificare, puoi pingare il server VPN utilizzando l’indirizzo IP assegnato (10.8.0.2).

ping [10.8.0.2](<http://10.8.0.2/>)

L’output sottostante conferma che la tua VPN funziona come previsto.

pinging to your VPN server

Conclusione

In questo tutorial hai imparato i passaggi corretti per installare OpenVPN su Windows Server. Hai anche imparato a configurare il server e il client OpenVPN tramite un file di configurazione OpenVPN (.ovpn). A questo punto, hai un servizio VPN completamente funzionante che puoi utilizzare per proteggere la tua connessione Internet e navigare in modo sicuro.

Ora, perché non estendere la tua connettività VPN a Amazon AWS VPC utilizzando il servizio AWS VPC VPN Gateway con questa nuova conoscenza?

Source:
https://adamtheautomator.com/openvpn-on-window/