Configurazione di un server OpenVPN su MikroTik

Configurare un server OpenVPN su Mikrotik è abbastanza semplice e veloce.

Le uniche limitazioni importanti sono l’assenza della modalità UDP e dell’autenticazione TLS. Attualmente l’autenticazione è possibile esclusivamente attraverso utente e password.

Tutti i passi qui illustrati vengono eseguiti attraverso Winbox.

1. Creazione Certification Authority e certificato Mikrotik

La prima fase consiste nella creazione di una Certification Authority abilitata ad emettere certificati, in questo caso necessaria per il server OpenVPN. In questa guida verranno utilizzati certificati autofirmati.

Dal menu System, aprire Certificates. Creare ora un nuovo certificato CA, compilando la scheda General come di seguito indicato:

Creazione Certification Authority

Si consiglia di modificare i campi Country, Locality ed Organization. Il certificato CA avrà validità di 10 anni.

Dalla scheda successiva Key Usage, spuntare le seguenti voci: crl sign, key cert. sign.

Fatto ciò, possiamo salvare con Apply il certificato e firmarlo cliccando su Sign. Nella finestra di firma dovremmo soltanto valorizzare il campo CA CRL Host con l’indirizzo IP (privato o pubblico) del nostro router ed infinite cliccare su Start.

Ad operazione completata avremo nella lista dei certificati, il nostro certificato CA riportante i flag KLAT (rispettivamente: chiave privata, CRL, authority e trusted).

Esportare il certificato CA in quanto sarà necessario per la generazione per il file di configurazione dei client. Cliccando con il tasto destro del mouse sul certificato, selezionare Export e, dopo aver dato un nome al file, confermare l’esportazione.

Esportazione certificato CA

Scaricare il file appena generato dal menu Files e conservarlo sul proprio computer.

Passiamo ora alla creazione del certificato di un certificato per il router Mikrotik e firmiamolo attraverso la CA creata.

Creazione certificato Mikrotik (scheda General)

Nella scheda Key Usage spuntare le voci come di seguito illustrato:

Creazione certificato Mikrotik (scheda Key Usage)

Salviato e firmiamo il certificato attraverso la Certification Authority creata in precedenza. Il certificato riporterà ora i flag KLA.

2. Creazione Pool IP

Andiamo su IP -> Pool, per la configurazione del range di IP che verranno assegnati ai client della nostra VPN.

Nel nostro caso creeremo una pool chiamata “ovpn-pool” con il seguente range IP: 192.168.90.100-192.168.90.200

Andremo dunque ad utilizzare un range di 100 indirizzi IP nella subnet 192.168.90.0/24.

3. Creazione profilo PPP

La penultima fase per l’abilitazione del server OpenVPN consiste nella creazione di un profilo PPP, ovvero andremo a definire i parametri di configurazione degli utenti che creeremo successivamente. In questa guida utilizzeremo un unico profilo per tutti gli utenti.

Creeremo dunque, dal menu PPP -> Profiles, un nuovo profilo ovpn-profile così definito:

Creazione profilo VPN

Abbiamo creato un nuovo profilo con cui diremo ai client che il gateway VPN sarà 192.168.90.1 (il router) ed acquisiranno un IP dal range ovpn-pool.

4. Configurazione ed abilitazione server VPN

Dal menu PPP -> Interface, cliccare su OVPN Server.

Abilitare il server OpenVPN spuntando la voce Enabled, cambiare se necessario la porta del server OpenVPN, impostare il profilo di default sul profilo ovpn-profile, selezionare il certificato Mikrotik, e scegliere come metodo di autenticazione solamente sha1 e come cifrario aes 256.

Infine cliccare su OK per salvare la configurazione ed abilitare il server OpenVPN.

5. Creazione utente VPN

Aprire il menu PPP -> Secrets per creare un nuovo utente, compilando i seguenti campi:

  • Name: nome utente
  • Password: password dell’utente
  • Service: ovpn
  • Profile: ovpn-profile

Può essere utile definire un remote address, ovvero forzare un indirizzo IP che acquisirà ad ogni connessione l’utente, per esempio per poter gestire regole di firewall basate sugli utenti.

File di configurazione client OpenVPN

Di seguito un esempio di file di configurazione client VPN secondo la configurazione effettuata nella guida:

proto tcp-client
remote IP_ROUTER 1194
dev tun
script-security 2

nobind
persist-key

auth-user-pass

tls-client
verb 1

cipher AES-256-CBC
auth SHA1
pull

<ca>
INCOLLARE QUI IL CONTENUTO DEL CERTIFICATO CA
</ca>

Sostituire IP_ROUTER con l’indirizzo IP pubblico del router, eventualmente cambiare la porta 1194 se variata nella configurazione del server OpenVPN ed incollare il contenuto del certificato CA scaricato precedentemente all’interno dei tag <ca></ca>.

Configurazione via riga di comando

# CREAZIONE CERTIFICATO CA
/certificate add name=CA country=Provincia state=Italia locality=Citta organization="Nome Organizzazione" unit="Dipartimento IT" common-name=CA key-size=2048 days-valid=3650 trusted=yes key-usage=crl-sign,key-cert-sign

# FIRMA CERTIFICATO CA
/certificate sign CA ca-crl-host=192.168.1.1

# ESPORTAZIONE CERTIFICATO CA
/certificate export-certificate CA


# CREAZIONE CERTIFICATO
/certificate add name=Mikrotik country=Provincia state=Italia locality=Citta organization="Nome Organizzazione" unit="Dipartimento IT" common-name=Mikrotik key-size=2048 days-valid=3650 trusted=yes key-usage=digital-signature,key-encipherment,data-encipherment,key-cert-sign,crl-sign,tls-client,tls-server

# FIRMA CERTIFICATO
/certificate sign Mikrotik ca=CA


# CREAZIONE POOL IP
/ip pool add name=ovpn-pool ranges=192.168.90.100-192.168.90.20


# CREAZIONE PROFILO PPP
/ppp profile add name=ovpn-profile local-address=192.168.90.1 remote-address=ovpn-pool


# CONFIGURAZIONE ED ABILITAZIONE SERVER OPENVPN
/interface ovpn-server server set enabled=yes default-profile=ovpn-profile certificate=Mikrotik auth=sha1 cipher=aes25
6


# CREAZIONE UTENTE VPN
/ppp secret add name=mario.rossi password=Rossi2021 service=ovpn profile=ovpn-profile

2 comments

Rispondi