Nel panorama della sicurezza informatica, poche soluzioni hanno resistito alla prova del tempo come OpenVPN. Nato come progetto open-source, è oggi lo standard de facto per l’implementazione di reti private virtuali (VPN). Che tu sia un amministratore di sistema, un developer o un semplice utente attento alla privacy, capire OpenVPN è fondamentale.
In questo articolo vedremo cos’è, cosa fa, come si usa e analizzeremo esempi concreti di installazione e configurazione.
1. Cos’è OpenVPN?
OpenVPN è un software open-source che crea un tunnel crittografato tra due o più dispositivi, permettendo di navigare o accedere a risorse di rete in modo sicuro, come se si fosse collegati direttamente alla rete locale.
Caratteristiche principali:
- Protocollo SSL/TLS: Usa lo stesso livello di sicurezza dei siti HTTPS (certificati, chiavi pubbliche/private).
- Cross-platform: Funziona su Windows, macOS, Linux, Android, iOS e router.
- Altamente configurabile: Supporta diversi algoritmi di crittografia (AES-256-GCM, ChaCha20, ecc.) e modalità di autenticazione (certificati X.509, username/password, OTP).
- Open-source: Il codice è pubblico e controllabile, nessuna backdoor nascosta.
2. Cosa Fa OpenVPN? (Funzionalità Principali)
Il cuore del suo lavoro è incapsulare e proteggere il traffico di rete.
| Funzionalità | Descrizione |
|---|---|
| Crittografia end-to-end | Tutti i dati in transito sono cifrati (AES-256), inaccessibili a chi intercetta il traffico (ISP, hacker, governi). |
| Autenticazione forte | Si può usare un certificato digitale per ogni client, oppure combinare certificato + password. |
| Controllo degli accessi | È possibile limitare l’accesso a specifiche sottoreti (es. solo 192.168.1.0/24). |
| Bypass di firewall e NAT | Usa una singola porta UDP (solitamente 1194) facilmente aggirabile anche su reti restrittive (es. hotel, università). |
| Routing o bridging | Può creare una VPN routed (più comune, come un tunnel IP) o bridged (i client appaiono sulla stessa LAN fisica). |
3. Come si Usa OpenVPN?
L’uso si articola in due fasi: lato server (installazione e configurazione centrale) e lato client (connessione).
3.1 Installazione (esempio su Ubuntu Server)
sudo apt update
sudo apt install openvpn easy-rsa
3.2 Generazione dei certificati (PKI)
Con easy-rsa si crea un’Autorità di Certificazione (CA) e i certificati per server e client:
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca # genera CA
./easyrsa gen-req server # genera richiesta per server
./easyrsa sign-req server server # firmala
# Per ogni client:
./easyrsa gen-req client1
./easyrsa sign-req client client1
3.3 Configurazione del server
Ecco un esempio minimo funzionante:
port 1194
proto udp
dev tun
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/server.crt
key /etc/openvpn/pki/private/server.key
dh /etc/openvpn/pki/dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
3.4 Connessione dal client
Salva sul client questi file:
ca.crtclient1.crtclient1.key
Crea un file /etc/openvpn/client/client.ovcf (su Windows si chiamerà .ovpn):
client
dev tun
proto udp
remote YOUR-SERVER-IP 1194
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
remote-cert-tls server
cipher AES-256-CBC
verb 3
Poi connettiti:
sudo openvpn --config client.ovcf
Nota: Su GUI (es. Tunnelblick su Mac, OpenVPN GUI su Windows) basta importare il file
.ovpn.
4. Esempi Pratici
Esempio 1 – Accesso a una LAN aziendale da remoto
- Il server OpenVPN è installato sulla rete aziendale (IP pubblico:
198.51.100.10). - Un dipendente si connette dal suo portatile a casa.
- Dopo la connessione, l’IP del cliente diventa
10.8.0.2. Può accedere a stampanti, server intranet (192.168.1.100) e database, tutto come se fosse in ufficio.
Esempio 2 – Proteggere la connessione su WiFi pubblico
- Configuri un server OpenVPN su un VPS (costano ~3€/mese).
- Installi il client sul cellulare o laptop.
- Al bar, connesso al WiFi gratuito, attivi la VPN: tutto il traffico passa dal VPS cifrato. L’amministratore della rete vede solo traffico verso IP del VPS, non sa che siti visiti.
Esempio 3 – Collegamento multi-sede (Site-to-Site)
- Due uffici, uno a Roma, uno a Milano.
- Su ogni router (es. un Raspberry Pi su cui gira OpenVPN) configura una connessione site-to-site.
- A Roma la subnet è
192.168.1.0/24, a Milano è192.168.2.0/24. - Il server di Roma ha una direttiva
route 192.168.2.0 255.255.255.0 10.8.0.6, e il client di Milano speculare. - Risultato: entrambi gli uffici vedono le risorse dell’altro come se fossero sulla stessa LAN.
5. Vantaggi e Svantaggi
| Pro | Contro |
|---|---|
| Open-source, gratuito | Configurazione iniziale complessa (richiede conoscenze SSL) |
| Massima sicurezza e flessibilità | Prestazioni leggermente inferiori rispetto a WireGuard |
| Supporta autenticazione avanzata (OTP, smart card) | Non è integrato nativamente nei sistemi (necessita plugin) |
| Documentazione vastissima | Il protocollo UDP può essere bloccato da alcuni firewall |
6. OpenVPN vs. Alternative (WireGuard, IPsec, L2TP)
| Caratteristica | OpenVPN | WireGuard | IPsec |
|---|---|---|---|
| Semplicità | Media-Complessa | Molto semplice | Complessa |
| Prestazioni | Buone (CPU-bound) | Eccellenti | Buone (dipende dall'implementazione) |
| Sicurezza | Eccellente (SSL/TLS) | Eccellente (ChaCha20) | Buona (ma configurazione complessa) |
| Casi d'uso | Generale, enterprise, legacy | Mobile, embedded, utenti esperti | Enterprise, standard governativi |
Consiglio: Se vuoi semplicità e velocità → WireGuard. Se hai bisogno di configurazioni enterprise, autenticazione complessa o compatibilità con vecchi sistemi → OpenVPN.
7. Consigli per l'Uso Quotidiano
- Usa file .ovpn – Molti provider VPN offrono già file pre-configurati per OpenVPN. Basta importarli nel client.
- Attiva il kill switch – Su molti client (es. OpenVPN GUI avanzata) puoi impostare che il traffico venga bloccato se la cade.
- Testa la perdita DNS – Dopo la connessione, visita
ipleak.netodnsleaktest.comper verificare che non ci siano fughe di informazioni. - Aggiorna regolarmente – OpenVPN ha un buon track record di sicurezza, ma è importante mantenere ient aggiornati.
OpenVPN rimane una soluzione solida, matura e incredibilmente flessibile per creare reivate virtuali. Anche se l'avvento di WireGuard ha reso la scelta meno scontata, OpenVPN continua a essere la scelta preferita in ambito aziendale, per scenari legacy o quando si ha bisogno di un controllo granulare sulla sicurezza.
In sintesi:
- Cos'è: Un software open-source per VPN.
- Cosa fa: Crea tunnel crittografati per proteggere la privacy e connettere reti remote.
- Come si usa: Installi il server (es. su Ubuntu o VPS), generi certificati, configuri client e ti connetti tramite file
.ovpn. - Esempi: Lavoro da remoto, protezione su WiFi pubblico, collegamento tra sedi.