Introduzione a OpenVPN
5 ottobre 2022 • César Daniel Barreto
Internet è importante quanto qualsiasi altro servizio pubblico nel mondo di oggi. La prima cosa a cui tutti pensano quando acquistano una nuova casa o aprono un'azienda in una nuova località è una connessione internet affidabile, seguita da elettricità, riscaldamento, raccolta dei rifiuti e (ma non necessariamente) un servizio telefonico.
Alcuni potrebbero sostenere che l'espressione “terzo mondo” sia scorretta e offensiva. Con programmi come “Un laptop per bambino” e iniziative di aziende come Facebook e Google, molte nazioni del cosiddetto terzo mondo ora hanno accesso a internet senza acqua corrente o sistemi fognari.
Ma con il bene arriva anche il male. Mentre chiunque può creare un sito web, un account Facebook o un profilo Twitter, non tutti lo fanno con buone intenzioni, inclusi hacker e criminali. Quando ci sono molti utenti, c'è un rischio maggiore che qualcuno cerchi di sfruttare il sistema per guadagno personale.
OpenVPN è un progetto open-source iniziato nel 2002 con l'intento di creare una soluzione SSL VPN completa. OpenVPN cripta i dati inviati attraverso le reti, il che è particolarmente importante quando molti utenti sono sulla stessa rete.
La storia delle intercettazioni e come si sono evolute nel tempo
Storicamente, si poteva contare sul fatto che un messaggio rimanesse inalterato se veniva consegnato in una lettera sigillata con cera da qualcuno di fiducia. Tuttavia, col passare del tempo, intercettare la corrispondenza è diventato più semplice: il mittente era in grado di leggerla o manometterla prima di passarla.
I progressi tecnologici durante la Seconda Guerra Mondiale hanno permesso a entrambe le parti di proteggere i loro dati in modo più sicuro attraverso esempi come la macchina Enigma e i code talkers Navajo. Dopo la guerra, il governo degli Stati Uniti ha utilizzato queste e altre tecniche per proteggere le sue informazioni.
Col passare del tempo e l'evoluzione della tecnologia, sono stati necessari nuovi modi per mantenere i dati sicuri, ed è qui che entra in gioco OpenVPN. OpenVPN utilizza una combinazione di crittografia a chiave pubblica e SSL/TLS per lo scambio di chiavi. OpenVPN può funzionare su User Datagram Protocol (UDP) o Transmission Control Protocol (TCP). OpenVPN offre molte funzionalità, come il tunneling del traffico IPv4 o IPv6, funzionando su una singola porta e altro ancora.

Community Edition & OpenVPN Protocollo di Tunneling
OpenVPN è disponibile in due versioni: OpenVPN Community Edition, che è gratuito e open-source, e OpenVPN Protocollo di Tunneling, che è un prodotto commerciale.
OpenVPN Community Edition
OpenVPN è un progetto open-source a cui chiunque può contribuire e funziona sotto una licenza GPL. Configurare CE è gratuito se si ha familiarità con Linux e l'interfaccia della riga di comando.
L'OpenVPN Community Edition è disponibile per il download sul sito web di OpenVPN.
OpenVPN Protocollo di Tunneling
Il protocollo di tunneling OpenVPN utilizza la crittografia SSL per garantire che i dati siano protetti. Questo perché viene utilizzata la crittografia AES-256, uno standard utilizzato dal governo degli Stati Uniti. Il codice per gli audit è disponibile a tutti. Ciò significa che le persone possono trovare e correggere le vulnerabilità. Inoltre, il protocollo fornisce connessioni più veloci e può superare la maggior parte dei firewall.
Altri vantaggi del protocollo di tunneling OpenVPN includono:
- Supporta: Windows, macOS, Linux, iOS, Android
- Connette: Fino a 5 dispositivi a velocità più elevate con OpenVPN 2.4P
- Tunneling: Il protocollo di tunneling OpenVPN può attraversare firewall e NAT
- API: API facile da usare per gli sviluppatori
Che cos'è una VPN?
Un amministratore può unire alcuni PC su reti diverse per creare l'illusione che condividano la stessa rete locale. Le macchine potrebbero essere nella stessa stanza, ai lati opposti del mondo, o utilizzare vari tipi di connessione, come uplink wireless, satellitari e connessioni dial-up.
La lettera “P” in VPN sta per privacy, quindi la rete virtuale è chiamata VPN. Il tunnel (VPN) si riferisce al traffico di rete che viaggia attraverso una VPN, mentre tutto il resto del traffico è considerato al di fuori del tunnel.
Il grafico seguente mostra come il traffico di rete viaggia attraverso diverse sezioni di una rete e di internet. Poiché HTTPS e SSH sono protocolli di comunicazione più sicuri, analizzare questo tipo di dati è molto più semplice. Qualcuno deve attaccare il traffico di rete per determinare che tipo di connessione viene stabilita da quale computer a quale server, anche se possono essere visti.
Quando viene utilizzata una VPN, il traffico all'interno del tunnel non è più identificabile.
Quale traffico può essere instradato attraverso una VPN?
La rete privata virtuale (VPN) può crittografare e tunnelizzare qualsiasi tipo di traffico, comprese immagini, video, navigazione web, email e messaggistica. Alcuni programmi popolari che utilizzano le VPN sono:
Bancomat: Utilizzando una VPN, i bancomat possono connettersi ai sistemi bancari con maggiore sicurezza.
Wi-Fi pubblico: Le reti Wi-Fi pubbliche sono potenziali focolai di attacchi alla sicurezza. Utilizzando una VPN, puoi crittografare il tuo traffico in modo che nessuno possa spiare i tuoi dati.
Reti domestiche: Puoi utilizzare una VPN per connetterti alla tua rete domestica ovunque. Questo è particolarmente utile se hai una casa intelligente con dispositivi che devono essere connessi alle tue reti domestiche, come una telecamera di sicurezza o un sistema di automazione domestica.
Superare la censura del paese: Per le persone che vivono in regimi oppressivi, come la Corea del Nord o la Cina, la censura da parte dei blocchi governativi è una preoccupazione urgente. Il “Grande Firewall della Cina” impedisce ai cittadini di accedere al mondo esterno e di ottenere notizie e informazioni che potrebbero ispirare ribellioni—le VPN forniscono un modo per aggirare queste restrizioni.
Reti aziendali: Le aziende e altre organizzazioni possono utilizzare una VPN per connettere più sedi di uffici o persino interi data center. Facendo ciò, possono migliorare la comunicazione e la collaborazione tra i dipendenti proteggendo anche i dati sensibili.
Servizi GeoIP: Diversi siti web, tra cui Hulu, YouTube e Netflix, utilizzano database GeoIP e altri record per fornire contenuti basati sulla posizione. Puoi accedere a materiale non disponibile nella tua area “rimbalzando” la connessione del tuo computer attraverso un server VPN più vicino alla regione geografica desiderata. Inoltre, una VPN ti proteggerà da eventuali sanzioni legali associate alla visione di film vietati o programmi TV protetti da copyright.
Il tunnel privato è completamente isolato da internet pubblico. Sebbene la VPN stessa viaggi attraverso internet come nell'immagine sopra, i dispositivi lungo il suo percorso saranno in grado di vedere solo il traffico VPN; non sapranno cosa viene trasmesso all'interno del tunnel sicuro. Questo perché una VPN non solo crittografa il traffico al suo interno, ma anche i flussi di dati individuali da altri utenti al di fuori di esso. In altre parole, anche se qualcuno fosse in grado di intercettare uno di questi flussi di dati, non sarebbe in grado di decodificarlo perché la VPN lo crittograferebbe ancora.
I router e i firewall su entrambi i lati creano il tunnel. Se non prendi misure speciali per controllare il traffico VPN, tutto il traffico di rete che passa attraverso il tunnel VPN ometterà qualsiasi misura di sicurezza usuale.
Crittografia dei dati e autenticazione
Le VPN utilizzano crittografia e autenticazione per impedire ad altre persone di vedere i tuoi dati. La crittografia rende i dati difficili da comprendere e l'autenticazione garantisce che solo le persone giuste possano vederli.
Il primo livello di sicurezza è l'autenticazione, che verifica che solo gli utenti autorizzati possano accedere al servizio. Questo potrebbe essere fatto con certificati per ogni utente o un nome utente e una password. Dopo di ciò, gli utenti possono stabilire le proprie restrizioni, come determinate rotte o impostazioni del firewall. Queste sono generalmente limitate a un'installazione; tuttavia, possono essere personalizzate.
In secondo luogo, dobbiamo proteggere ulteriormente il canale di comunicazione. Per fare ciò, firmeremo ogni pacchetto trasmesso. Questo significa che ogni sistema verificherà che i pacchetti VPN che riceve siano firmati correttamente. Autenticando i pacchetti che sono stati crittografati, un sistema può risparmiare tempo di elaborazione non decriptando pacchetti che non soddisfano i criteri di autenticazione. Se manteniamo al sicuro le chiavi di firma, questo previene gli attacchi di negazione del servizio!
PPTP vs OpenVPN
Sviluppato da Microsoft, il PPTP (Point-to-Point Tunneling Protocol) è uno dei protocolli VPN più antichi e comuni. OpenVPN è un po' più moderno e può essere più sicuro se configurato correttamente.
OpenVPN utilizza SSL/TLS per la crittografia, la stessa tecnologia che il tuo browser web utilizza per connettersi a siti web sicuri. OpenVPN è più flessibile e può essere configurato per diversi casi d'uso, mentre PPTP è molto facile da configurare ma meno flessibile.
Anche se OpenVPN è più sicuro di PPTP, può essere più difficile da configurare. Se non ti senti a tuo agio a configurare una VPN, potresti voler usare PPTP.
Come usare OpenVPN?
Per piattaforme Windows
Prima, devi scaricare il client OpenVPN. Gli utenti Windows e Mac possono trovare l'ultima versione, V3, qui.
Dopo aver installato il client OpenVPN, avvialo e importa il file .ovpn dal
Una volta installato il client OpenVPN, devi scaricare un file di configurazione. Questo file dice al client OpenVPN come connettersi al server VPN. Puoi ottenere questo file dal tuo fornitore di VPN.
Una volta scaricato il file di configurazione, aprilo con il client OpenVPN. Il client OpenVPN ti chiederà il tuo nome utente e la tua password. Dopo averli inseriti, il client OpenVPN si connetterà al server VPN.
OpenVPN è ora in esecuzione in background. Puoi verificarlo controllando il tuo indirizzo IP. Per fare ciò, visita whatismyip.com. Dovresti vedere che il tuo indirizzo IP è cambiato.
Per piattaforme macOS
Se stai usando un Mac, puoi usare il client OpenVPN per macOS. L'ultima versione può essere scaricata qui.
Una volta installato il client OpenVPN, devi scaricare un file di configurazione. Questo file dice al client OpenVPN come connettersi al server VPN. Puoi ottenere questo file dal tuo fornitore di VPN.
Dopo aver scaricato il file di configurazione, aprilo con il client OpenVPN. Il client OpenVPN ti chiederà il tuo nome utente e la tua password. Dopo averli inseriti, il client OpenVPN si connetterà al server VPN.
OpenVPN è ora in esecuzione in background. Puoi verificarlo controllando il tuo indirizzo IP. Per fare ciò, visita whatismyip.com. Dovresti vedere che il tuo indirizzo IP è cambiato.
Per piattaforme Linux
Se stai usando Linux, puoi usare il client OpenVPN per Linux. L'ultima versione può essere scaricata qui.
Installazione per Debian e Ubuntu
Se stai usando Debian o Ubuntu, puoi installare OpenVPN con il seguente comando:
- Apri il Terminale premendo ctrl + alt + T
- Inserisci il seguente comando nel Terminale:
sudo apt install apt-transport-https. Poi inserisci la password di root. - Digita il seguente comando:
sudo wget https://swupdate.openvpn.net/repos/openvpn-repo-pkg-key.pub. Questo scaricherà la chiave del repository OpenVPN utilizzata dai pacchetti OpenVPN 3 Linux. - Inserisci il seguente comando nel Terminale:
sudo apt-key add openvpn-repo-pkg-key.pub - Inserisci il seguente comando nel Terminale:
sudo wget -O /etc/apt/sources.list.d/openvpn3.list https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-$DISTRO.list. A seconda della tua distribuzione Debian/Ubuntu, devi sostituire $DISTRO con il nome corretto della release dalla tabella sottostante. - Inserisci il seguente comando nel Terminale:
sudo apt update - Inserisci il seguente comando nel Terminale:
sudo apt install openvpn3. Questo codice installerà il pacchetto OpenVPN 3.
Installazione utilizzando il profilo .ovpn
Se hai un profilo OpenVPN (file .ovpn) dal tuo fornitore di VPN, puoi utilizzare questo profilo per connetterti al server VPN.
- Per creare un profilo di configurazione one-shot, digita il seguente comando nel Terminale:
openvpn3 session-start --config ${MY_CONFIGURATION_FILE}. - Digita il seguente comando nel Terminale per importare un file di configurazione e avviare una sessione VPN:
openvpn3 config-import --config ${MY_CONFIGURATION_FILE}. - Per stabilire una nuova connessione VPN da un profilo importato, usa il seguente comando:
openvpn3 session-start --config ${CONFIGURATION_PROFILE_NAME}.
Installazione per Red Hat Enterprise Linux o Scientific Linux
Se stai usando Red Hat Enterprise Linux o Scientific Linux 7, puoi installare OpenVPN con il seguente comando:
- Vai alla barra di ricerca e digita “terminale.“
RHEL/CentOS 6:sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpmRHEL/CentOS 7:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Su RHEL 7, è anche consigliato abilitare i repository opzionali, extra e HA poiché i pacchetti EPEL possono dipendere da pacchetti di questi repository:sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" --enable "rhel-ha-for-rhel-*-server-rpms"RHEL/CentOS 8:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmAbilita i servizi richiesti su Red Hat 8.repository codeready-builder-for-rhel-8-${ARCH}-rpms poiché i pacchetti EPEL possono dipendere da pacchetti da esso: sudo ARCH=$( /bin/arch ) seguito da sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"Inoltre, per gli utenti CentOS 8 è consigliato abilitare il repository PowerTools poiché alcuni pacchetti EPEL possono dipendere da pacchetti aggiuntivi da esso:
sudo dnf config-manager --set-enabled PowerTools - Installa prima il modulo yum copr. Per fare ciò, esegui il seguente comando:
sudo yum install yum-plugin-copr. - Attiva il repository OpenVPN 3 Copr con il modulo Copr attivato. Per farlo, usa il seguente comando:
sudo yum copr enable dsommers/openvpn3 - Dopo l'installazione, il client OpenVPN 3 Linux può essere avviato utilizzando il seguente comando:
sudo yum install openvpn3-client
OpenVPN è uno strumento potente e flessibile che può essere utilizzato per proteggere l'intera connessione internet. È importante comprendere le basi di come funzionano le VPN prima di iniziare a usarne una, ma una volta fatto, OpenVPN può essere un ottimo modo per mantenere i tuoi dati sicuri.
Cesare Daniele Barreto
César Daniel Barreto è uno stimato scrittore ed esperto di cybersecurity, noto per la sua approfondita conoscenza e per la capacità di semplificare argomenti complessi di sicurezza informatica. Con una vasta esperienza nel campo della sicurezza delle reti e della protezione dei dati, contribuisce regolarmente con articoli e analisi approfondite sulle ultime tendenze in materia di tendenze della cybersecurity, educando sia i professionisti che il pubblico.