Server OpenVPN con interfaccia grafica: come installarlo

Come configurare un server OpenVPN senza impazzire: presentiamo la versione Access Server, dotata di interfaccia grafica e interamente amministrabile da browser web.

Chi ci segue da tempo sa quanto caldeggiamo l’utilizzo di OpenVPN per accedere a distanza, in modo completamente sicuro, alle risorse condivise all’interno della propria rete locale, sia essa quella aziendale, dell’ufficio o di casa.
Con l’avvento dei servizi cloud e la possibilità di creare data center virtuali (vedere ad esempio questi approfondimenti), è addirittura pensabile di allestire un server OpenVPN su una macchina remota che permetta l’accesso, attraverso virtual switch configurabili con un clic alla LAN virtuale creata sul cloud. Stabilendo una connessione con il server OpenVPN si potrà accedere alle risorse della LAN senza esporre nulla sull’interfaccia WAN ovvero sull’IP pubblico (a parte la porta per il collegamento a OpenVPN server, di solito UDP 1194).

Allo stesso modo, allestendo un server VPN in ufficio oppure a casa, si potrà stabilire un tunnel cifrato attraverso il quale far transitare tutti i propri dati. Così facendo, indipendentemente dalla connessione Internet usata dal client (anche una intrinsecamente insicura WiFi pubblica o addirittura aperta), si potrà accedere alle risorse condivise sulla propria LAN, anche a migliaia di chilometri di distanza. Non solo. Qualora lo si desiderasse si potrà usare l’IP pubblico assegnato al router dell’ufficio o di casa per navigare in rete.

Nei nostri articoli abbiamo spesso parlato di OpenVPN spiegando come configurare il componente server in Windows, sui router che lo supportano, sui server NAS:
Connessione VPN in Windows con OpenVPN
Server VPN, come crearlo usando un NAS
Rendere più sicura la VPN sui server NAS Synology

Questa volta vediamo come installare e configurare OpenVPN Access Server, una soluzione software che permette di approntare un server OpenVPN servendosi di una comoda interfaccia grafica.

Per installare OpenVPN Access Server ci serviremo di una macchina Linux CentOS anche se, come indicato in questa pagina, il supporto è garantito anche per altre popolari distribuzioni quali Ubuntu, Debian e Red Hat.

OpenVPN Access Server, nella versione gratuita, può essere utilizzato a tempo indeterminato e senza alcuna limitazione fatta eccezione per la possibilità di instaurare contemporaneamente al massimo 2 connessione client-server.
Se si prevedesse di stabilire un maggior numero di connessioni simultanee con il server OpenVPN si potrà acquistare una licenza.

Installare OpenVPN Access Server su un server Linux

Per installare OpenVPN Access Server su una macchina o un dispositivo CentOS, suggeriamo di impartire i seguenti comandi:

yum update -y
yum install net-tools wget -y
yum install ntp -y

Così facendo innanzi tutto si aggiorneranno il sistema operativo e tutti gli altri pacchetti software installati, si installeranno quindi le utilità per il download di componenti software da server remoti e si installerà un client NTP (Network Time Protocol).
Quest’ultimo è utile per accertarsi che la data e l’ora sul server siano sempre corrette, aspetto fondamentale durante le attività di generazione e gestione dei certificati digitali usati da OpenVPN. L’utilizzo di un perfetto orario risulta ancora più cruciale qualora si utilizzassero soluzioni per l’autenticazione rapida come Google Authenticator.

A questo punto bisognerà fare riferimento alla pagina di download di OpenVPN Access Server, scegliere la distribuzione d’interesse (nel nostro caso CentOS) quindi cliccare con il tasto destro sul link per lo scaricamento del pacchetto d’installazione (noi abbiamo scelto quello “for CentOS 7, 64 bits) quindi selezionare Copia indirizzo link.

Il passaggio successivo consiste nel digitare al prompt di CentOS wget seguito dall’indirizzo per il download del pacchetto d’installazione di OpenVPN Access Server.

Adesso è possibile installare OpenVPN Access Server digitando, in CentOS (così come sui sistemi Red Hat e Fedora):

rpm -Uvh

seguito dal nome del pacchetto .RPM appena scaricato.

Al termine della procedura d’installazione, verranno mostrati gli URL per gestire il server OpenVPN.

È importante modificare subito la password predefinita assegnata al server OpenVPN digitando il comando passwd openvpn.

Per avviare la configurazione del server OpenVPN, ci si dovrà portare all’indirizzo https://IP_DEL_SERVER/admin e inserire openvpn come nome utente quindi la password scelta in precedenza.

Dalla colonna di sinistra di OpenVPN Access Server, si dovrà cliccare su User management, User permissions quindi aggiungere un nuovo utente spuntando la casella Allow auto-login e impostando una password sufficientemente lunga e complessa.

Portandosi sul dispositivo client e digitando nella barra degli indirizzi https://IP_DEL_SERVER:943 si dovranno inserire le credenziali d’accesso dell’utente appena aggiunto usando l’interfaccia di OpenVPN Access Server.

Cliccando sul client OpenVPN installabile sui propri dispositivi, si otterrà una versione dell’applicazione contenente già il profilo predisposto per la connessione al server.
Nel nostro caso abbiamo installato il client OpenVPN per Windows: al termine dell’installazione cliccando con il tasto destro sull’icona mostrata nella traybar quindi selezionando l’IP del server e Connect as…, verrà immediatamente stabilita una connessione remota.

A questo punto si potrà accedere a tutte le risorse condivise sulla rete LAN, anche a distanza e addirittura navigare usando il proxy HTTP integrato. Si provi ad esempio a visitare questa pagina di test: si noterà che l’IP pubblico non è più quello utilizzato dal router locale (ad esempio quello assegnato al router al quale ci si è connessi via WiFi) ma quello dell’ufficio o di casa.

Qui è spiegata la differenza tra profili user-locked e autologin: sostanzialmente, con i secondi, non si dovrà digitare alcuna password nel client OpenVPN.
Se si utilizzasse già un client OpenVPN, basterà scaricare il profilo OpenVPN – facendo riferimento alla sezione Connection profiles can be downloaded for – e copiarlo nella cartella config (nel caso di Windows %programfiles%\OpenVPN\config).

Completata la configurazione, cliccando su Configuration, Network settings, è possibile abilitare l'”interruttorre” Admin Web UI soltanto in corrispondenza di localhost:127.0.0.1 in modo tale che il pannello di login a OpenVPN Access Server non sia esposto sull’IP pubblico.

Se si volesse ripristinare la configurazione iniziale, basterà digitare quanto segue:

cd /usr/local/openvpn_as/scripts/
./sacli --key "admin_ui.https.ip_address" --value "all" ConfigPut
./sacli --key "admin_ui.https.port" --value "943" ConfigPut
./sacli --key "cs.https.ip_address" --value "all" ConfigPut
./sacli --key "cs.https.port" --value "943" ConfigPut
./sacli --key "vpn.server.port_share.enable" --value "true" ConfigPut
./sacli --key "vpn.server.port_share.service" --value "admin+client" ConfigPut
./sacli --key "vpn.daemon.0.server.ip_address" --value "all" ConfigPut
./sacli --key "vpn.daemon.0.listen.ip_address" --value "all" ConfigPut
./sacli --key "vpn.server.daemon.udp.port" --value "1194" ConfigPut
./sacli --key "vpn.server.daemon.tcp.port" --value "443" ConfigPut
./sacli start

Il vantaggio di OpenVPN Access Server è che può essere installato anche su qualunque dispositivo basato su kernel Linux: basta verificare su quale versione è basato e il gioco è fatto. Si può quindi pensare di installare il software anche su router, NAS e altri dispositivi di rete.

Ti consigliamo anche

Link copiato negli appunti