In questo articolo vi guiderò passo passo nella configurazione di un server OpenVPN su un router Mikrotik. Verrà illustrata anche la configurazione del firewall per permettere ai client connessi in VPN di raggiungere i dispositivi nella rete LAN interna. Inoltre, come step aggiuntivo, verrà descritto come abilitare la connettività verso la rete internet, veicolando tutto il traffico tramite la VPN oppure con lo split tunnel.
Prerequisiti
WINBOX (tool di accesso/configurazione per dispositivi Mikrotik)
Configurazione
Accedere tramite Winbox al dispositivo che si vuole utilizzare come server OpenVPN. Successivamente aprire una nuova finestra “Terminale” (New Terminal) dalla barra di navigazione di sinistra.
Una volta aperta la finestra terminale, iniziamo creando i certificati necessari con validità di 10 anni (3650 giorni):
CA ROOT (self-signed)
certificato server
certificato di un client e chiave privata per la connessione remota
A questo punto, per il certificato “CA ROOT”, prima di procedere alla firma, potete aggiungere tramite “System > Certificates i vari dettagli del certificato (country, state, locality, …) e spuntare la voce “Trusted”:
La voce “Trusted” va spuntata anche per il certificato “client01”.
Tornando ora alla finestra “Terminale”, possiamo procedere alla firma dei certificati tramite la nostra CA ROOT self-signed:
I comandi digitati potrebbero richiedere diverso tempo, che sarà variabile in base alle performance del dispositivo Mikrotik che state usando e dal carico del sistema.
Al termine, possiamo verificare che i certificati siano effettivamente pronti tramite la “System > Certificates”:
In sostanza, verificate che i certificati generati abbiano le seguenti caratteristiche:
La cosa importante è che i certificati abbiano le seguenti caratterstiche:
CA Cert: KLAT (trusted self-signed)
CLIENT Cert: KIT (trusted)
SERVER Cert: KI
Ora possiamo procedere all’esportazione dei certificati per poter poi configurare una VPN client. Esportiamo solo la CA e il client generati:
Possiamo scaricare i file sul PC locale tramite la gestione file presente nella WINBOX (clic destro sopra al file e scegliamo “download”):
Questi primi passaggi ci hanno consentito di generare i certificati necessari per configurare il server OpenVPN. Procediamo ora con la configurazione vera e propria del server VPN.
Creazione pool di indirizzi IP per la VPN
Sempre dal terminale, digitiamo i seguenti comandi:
/ip
pool add name=”ovpn-pool” ranges=192.168.88.10-192.168.88.30
Configurazione del server PPP OpenVPN
Configuriamo ora il server OpenVPN, specificando come gateway e DNS l’indirizzo 192.168.88.250. Creeiamo contestualmente anche un “secret”, cioè un account di accesso per autenticarci.
Non rimane che creare il server OpenVPN (utilizzare i ciphers più sicuri, aes256 e sha256 almeno, disabilitiamo tutti gli algoritmi più datati che sono affetti da note vulnerabilità):
/interface
ovpn-server server
set default-profile=ovpn-profile certificate=server-certificate require-client-certificate=yes auth=sha256 cipher=aes256 enabled=yes
Configurazione del firewall
/ip firewall filter
add chain=input protocol=tcp dst-port=1194 in-interface-list="WAN" action=accept comment="Consenti connessione OpenVPN da interfacce WAN"
add chain=forward src-address=192.168.88.0/24 action=accept comment="Consenti l'inoltro da parte dei client OVPN"
[Opzionale] Se vogliamo che i client remoti che si connettono alla VPN possano navigare verso internet va aggiunta anche la seguente configurazione:
/ip firewall nat
add chain=srcnat src-address=192.168.88.0/24 action=masquerade comment="Consenti ai client VPN di navigare in Internet"
Ci siamo, non resta che creare ora il file di configurazione .ovpn da importare poi nel client remoto che vogliamo utilizzare per la connessione.
Creazione file di configurazione OVPN
Apriamo un editor di testo (notepad, sublime, notepad++, …) e creiamo un file client.ovpn con la seguente struttura (attenzione, sostituire IP_PUBBLICO con un indirizzo o un FQDN valido per raggiugere il vostro dispositivo Mikrotik):
client
dev tun
proto tcp
remote IP_PUBBLICO 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
auth-user-pass
redirect-gateway def1
ignore-unknown-option
verb 3
Dopo aver installato il client OpenVPN sul dispositivo che intendete utilizzare per la connessione remota, posizioniamo ora i 4 file in una cartella (certificato CA, certificato client, chiave privata client, configurazione .ovpn), apriamo il client OpenVPN ed importiamo il file “client.ovpn” appena creato.
Se tutto è stato eseguito correttamente, vi verrà chiesto di inserire username/password e la chiave di cifratura usata per esportare il certificato client. Username e password sono quelli che sono stati impostati nel “secret” creato qualche riga più in alto.
[OPZIONALE] Configurazione dello split tunnel
Lo split tunnel consente di indirizzare parte del traffico attraverso la VPN, mentre consente al resto del traffico di “uscire” attraverso il normale percorso di rete (default gateway del client che stiamo utilizzando). Questa configurazione può essere utile quando si desidera lasciare inalterato il resto della connessione Internet, in termini di velocità o larghezza di banda. Può essere utile se si ha la necessità di mantenere l’accesso ad altre risorse sulla tua rete locale, mentre ti connetti a una risorsa specifica sulla VPN. In sostanza si creano delle “route” che consentono di “girare” il traffico verso la VPN, lasciando inalterato il default gateway del client.
Per configurare lo split tunnel, occorre modificare il file “client.ovpn” creato in precedenza, aggiungendo questa parametrizzazione:
Svolta epocale: con il rilascio di VMware 8.0U3e, Broadcom rende nuovamente disponibile gratuitamente VMware ESXi! Difficile da credere, ma la notizia appena emersa su Twitter e altri canali secondo cui...
Se state leggendo questo articolo, probabilmente avete già familiarità con l'argomento, specie con il firmware open source "OpenWRT". Le indicazioni che sto per darvi sono frutto di una mia esperienza...
OWASP Zed Attack Proxy (ZAP) è uno strumento di sicurezza che consente di rilevare vulnerabilità in applicazioni e siti Web. È una soluzione semplice e flessibile che si adatta a...
I cookie ci aiutano a fornire i nostri servizi. Utilizzando tali servizi, accetti il nostro utilizzo dei cookie. Ulteriori informazioniOK
Ulteriori informazioni
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.