Guide

pfSense e OpenVPN: guida alla creazione e configurazione di un server VPN Road Warrior

Obiettivo di questa guida:

In questa guida vediamo come configurare un server VPN RW (Road Warrior) tramite OpenVPN su pfSense®. Lo scopo è quello di creare una configurazione di base per permettere un corretto funzionamento della nostra VPN.

Hardware utilizzato:

Questa guida si può applicare a tutti gli hardware da noi certificati della linea firewall che potete trovare qui: https://www.miniserver.it/firewall.html

Ambiente software:

pfSense® 2.4.x

Configuriamo OpenVPN:

Come prima cosa, dal nostro menù in alto, rechiamoci sotto VPN/OpenVPN/Servers.

Procediamo pure dal comodo Wizard che ci consentirà di creare agevolmente la nostra CA(Certification Autority), il Server Certificate e la configurazione del Server VPN RW; questi componenti possono essere creati anche singolarmente.

Iniziamo selezionando Local User Access.

VPN Configurazione pfSens

A questo punto è il momento di creare la nostra CA, come parametro necessario dobbiamo inserire un “Descriptive name” che ci consentirà di identificarla, mentre tutti gli altri parametri possiamo lasciarli di default.

VPN Configurazione pfSens

Passiamo alla creazione del Server Certificate da associare al nostro server VPN, come perl la CA sarà sufficiente un “Descriptive name” e lasciare gli altri parametri di default.

VPN Configurazione pfSens

Ora la configurazione del server VPN vera e propria.

Nella voce “Interface” selezioniamo l’interfaccia su cui vogliamo che il nostro servizio sia in ascolto, se abbiamo più di un interfaccia WAN scegliamo quella che vogliamo dedicare al servizio, volendo in un secondo momento possiamo selezionare più interfacce per una maggiore ridondanza.

E’ opportuno considerare che sull’interfaccia in ascolto dovrà essere aperta la porta che sceglieremo per la VPN, dunque se ci troviamo dietro ad un Router di un qualche ISP sarà necessario poter aprire la porta verso l’interfaccia del nostro Firewall, se invece abbiamo la possibilità di avere un indirizzo IP Pubblico direttamente configurato sull’interfaccia del Firewall sarà sufficiente creare una regola associata(come vedremo in seguito).

Scegliamo il protocollo da utilizzare e la porta dedicata al servizio (default per OpenVPN è UDP 1194).

Nella voce “Description” scegliamo il nome con cui vogliamo identificare il server.

Nella sezione “Cryptographic Settings” possiamo lasciare tutto di default.

VPN Configurazione pfSens

Nella sezione “Tunnel Settings” sarà necessario indicare una “Tunnel Network” che potremmo scegliere a caso facendo attenzione che non sia uguale ad altre reti conosciute o reti pubbliche, di fatto si tratta della rete virtuale che utilizzerà la VPN.

In “Local Network” invece andremo ad indicare la rete LAN a cui si vuole dare l’accesso da remoto, nel caso ci siano più reti LAN a cui vogliamo dare l’accesso è possibile inserirle separandole con una virgola.

 

VPN Configurazione pfSens
VPN Configurazione pfSens

A questo punto il wizard ci chiede se vogliamo inserire la Firewall Rule associata all’interfaccia WAN e quella all’interfaccia virtuale OpenVPN, mettendo la spunta su entrambe le andrà a creare automaticamente.

VPN Configurazione pfSens

Vediamo ora nel dettaglio la configurazione del server ultimata, come anticipato si tratta di una configurazione di base ma possiamo sempre restringere la sicurezza ad esempio andando ad impostare il numero massimo di accessi dei client in “Concurrent connections”, oppure aumentare il livello di crittografia. Tali regolazioni possono influire sulle performance dell’apparato e della connessione.

VPN Configurazione pfSens
VPN Configurazione pfSens
VPN Configurazione pfSens
VPN Configurazione pfSens

Di seguito il dettaglio delle Firewall Rules create:

  • Per l’interfaccia WAN
VPN Configurazione pfSens
VPN Configurazione pfSens
  • Per l’interfaccia OpenVPN
VPN Configurazione pfSens
VPN Configurazione pfSens

La CA.

VPN Configurazione pfSens

Vediamo ora come creare gli utenti che vogliamo si colleghino in VPN.

Posizioniamoci sotto System/User Manager/Users e creiamo nome utente e password e User Certificate associato all’utente mettendo la spunta su “Certificate” “Click to create a user certificate”, è necessario inserire un “descriptive name” al certificato creato. In questo modo avremo creato avremo creato sia l’utente che il certificato associato in un’unica operazione.

VPN Configurazione pfSens
VPN Configurazione pfSens

Nella sezione “Certificate Manager” vedremo il certificato associato al server VPN e tutti quelli associati agli utenti creati.

VPN Configurazione pfSens

A questo punto possiamo esportare i file di configurazione e i certificati per i singoli utenti che utilizzeranno i client VPN per collegarsi.

Prima di tutto è necessario installare il pacchetto “openvpn-client-export”, per farlo possiamo ricercarlo recandoci sotto System/Package Manager/Available Packages.

VPN Configurazione pfSens

Una volta installato vedremo aggiunta l’opzione sotto OpenVPN/Client Export.
Alla voce “Remote Access Server” Selezioniamo il nostro server VPN Creato.

Nella sezione Client Connection Behavior andremo a inserire i parametri con cui verrà generato il file di configurazione .ovpn per l’utente, in particolare consigliamo di configurare come segue:

  • “Host Name Resolution” su “Other”
  • “Host Name” dovremo inserire l’indirizzo IP Pubblico della nostra rete.
  • “Verify Server CN” possiamo lasciarlo di default su “Automatic” oppure se dovessimo avere problemi impostartlo su “Do not verifythe server CN”.
VPN Configurazione pfSens

Configurati i parametri possiamo esportare il nostro file di configurazione degli utenti da installare sui client.
Per farlo abbiamo varie scelte, di seguito le più consigliate:

  • “Most Clients”: genera un file .ovpn contenete sia la configurazione che i certificati e le chiavi facilmente importabile, compatibile con i client: OpenVPN per Windows, Tunnelblick per OS X
  • “OpenVPN Connect”: genera un file .ovpn compatibile con le App OpenVPN Connect per Android e iOS
  • “Archive”: compatibile con Windows, genera un archivio contenente, in 3 file separati, la configurazione (.ovpn), i certificati(.p12) e la chiave (.key)
  • Sotto la sezione “Current Windows Installer” possiamo generare dei file autoinstallanti e preconfigurati per i client Windows
VPN Configurazione pfSens
  ti posso interessare anche