Fortinet – Configurazione SSL VPN con autenticazione Active Directory e MFA

In un mondo in cui il perimetro aziendale è diventato estremamente più ampio rispetto al passato, rimane ancora essenziale proteggere le connessioni alla nostra infrastruttura, sia essa On-Prem o Azure.

La VPN SSL di Fortigate, in questo scenario, ricopre una posizione fondamentale, in quanto consente di realizzare una soluzione scalabile per l’accesso degli utenti alla risorse aziendali in sicurezza.

Come spesso accade tutto parte dall’identità, pertanto in questa guida rivestirà un ruolo importante la gestione e la protezione dell’identità durante il processo di accesso alla VPN.

L’autenticazione con nome utente e password però, nello scenario moderno, non è più sufficiente e pertanto è necessario, sempre, abilitare la MFA per i collegamenti VPN.
Il Firewall Fortigate permette di avere MFA con Token Software proprietari (Fortitoken) la cui implementazione verrà trattata in questa guida, ma, cosa ancora più importante con il mondo Entra ID, potendo sfruttare le policy di Conditional Access per portare il livello di sicurezza degli accessi ad un livello successivo.

Figura 1: Autenticazione SSL VPN Fortigate utilizzando Forticlient e Portale Web SSL VPN

Requisiti

Per eseguire la configurazione proposta sarà necessario avere quanto segue:

  • Firewall Fortigate: la configurazione proposta è possibile su qualsiasi Firewall Fortigate con release software 6.2 e successive. (non è detto che non sia possibile eseguirla anche sui sistemi precendenti, nella guida viene utilizzata 7.2.x)
  • Configurazione Server LDAP eseguita sul Fortigate (Guida ICT power per eseguire la configurazione: https://www.ictpower.it/sicurezza/fortinet-configurazione-ldaps-server-integrato-in-active-directory.htm)
  • Dominio Active Directory: un singolo domain controller Windows Server 2012r2 o successivi è sufficiente.
  • Enterprise Certification Authority: una singola macchina Windows Server 2012r2 o successivi è sufficiente.
  • Client Windows 10/ Windows 11 con installato il Software Forticlient.

Configurazione VPN SSL

Una volta eseguito l’acceso al Fortigate, nella sezione in alto a sinistra della schermata, selezionate il VDOM di “Root” per iniziare la configurazione.
Ovviamente questo nel caso in cui abbiate abilitata la funzionalità VDOM, se non attiva potete saltare questo passaggio:

Figura 2: Selezione VDOM di Root

Spostatevi successivamente nella colonna di sinistra e fate click su “VPN“, quindi su “SSL-VPN Settings“:

Figura 3: Selezionare “SSL-VPN Settings”

Nella sezione centale che apparità a schermo fate click su “Enable SSL-VPN“:

Figura 4: Abilitazione VPN SSL utilizzando il selettore

A questo punto è possibile aggiungere le interfacce di tipo “WAN” che vogliamo utilizzare per la VPN SSL:

Figura 5: Inserire tutte le interfacce di tipo “WAN” necessarie

Nel caso in questione ho aggiunto le due principali “WAN” presenti sul Fortigate:

Figura 6: Selezione delle interfacce “WAN” nel Fortigate

Configurate successivamente la porta custom dedicata alla “VPN SSL“:

Figura 7: Aggiunta porta custom per accesso VPN SSL

Nella sezione inferiore troverete un selettore “Server Certificate” dedicato all’aggiunta di un certificato dedicato alla VPN.
Per questa guida verrà utilizzato il certificato di Default presente all’interno del Fortigate, ma è bene ricordare che in scenari di produzione è sempre necessario utilizzare un certificato generato dalla nostra CA Interna o pubblico.

Figura 8: Selettore del certificato dedicato alla VPN SSL

In basso è possibile trovare un settaggio di tipo globale “Limit access to specific hosts” che consente di governare l’accesso alla VPN SSL solo da determinati IP o aree geografiche ad esempio.
È sempre bene valutare restrizioni di questo tipo, poiché spesso non c’è la necessita che la VPN venga resa disponibile in tutto il mondo:

Figura 9: Utilizzando la funzionlità “Restric Access” è possibile selezionare da quale are geografica è possibile collegarsi

In questa guida è stato utilizzato un “Address” di tipo geografico che permette di limitare l’accesso VPN ai soli IP pubblici italiani:

Figura 10: Selezione del Firewall Object Italia per restringere gli accessi alla VPN SSL

Il risultato finale è il seguente:

Figura 11: Risultato finale ottenibile dopo la configurazione dell’accesso limitato per la VPN SSL

Successivamente è possibile trovare il parametro “Idle Logout” che fa “cadere” la sessione VPN quando non utilizzata per il numero di secondi specificato:

Figura 12: Impostazione “Idle Logout” della VPN SSL

Nel Tab “Tunnel Mode Client Settings” è possibile specificare il range di indirizzi IP e il server DNS che il client riceverà durante la connessione VPN.
Per questa guida sono stati lasciati i valori di default:

Figura 13: Lasciare i valori di Default per l’assegnazione degli IP e del DNS della VPN SSL

In “Authentication Portal Mapping” è stato assegnato come modalità di fruizione della VPN SSL sia il Forticlient che la modalità Web.

Figura 14: Assegnazione dei diritti di “Full Access” a tutti gli utenti della VPN SSL

Nella schermata di cui sotto è possibile vedere in dettaglio cosa accade facendo doppio click con il tasto sinistro del mouse su “Full-access“, potendo scegliere, per ogni gruppo o utente del Fortigate quale tipologia di VPN SSL assegnare:

Figura 15: Dettaglio sull’assegnazione della tipologia di VPN SSL


A questo punto è possibile fare click su “Apply” per confermare le impostazioni:

Figura 16: Fare click su “Apply” per confermare le modifiche appena eseguite

Una volta terminata la parte di configurazione relativa alla VPN SSL è possibile creare la prima policy che consentirà l’accesso al pool di utenti Active Directory.

Nella colonna di sinistra fate click su “Firewall Policy“:

Figura 17: Fare click su “Firewall Policy”

Ora sarà possibile vedere nel riquadro centrale, in alto, il bottone “Create New“:

Figura 18: Creazione di una nuova Firewall Policy da interfaccia grafica

Configurate la Policy come da screen sottostante, utilizzando i vostri parametri di configurazione:

Figura 19: Dettaglio della Policy necessaria alla configurazione della VPN SSL

Come è possibile notare, occorre inserire nel campo “Source” il pool di indirizzi IP dedicati ai client che fanno accesso VPN con l’aggiunta dei due utenti LDAP che sono stati importati nel Fortigate durante la guida precedente sulla configurazione del Server LDAPS all’interno del Fortigate (https://www.ictpower.it/sicurezza/fortinet-configurazione-ldaps-server-integrato-in-active-directory.htm).

Come “Destination” è possibile impostare una intera Subnet o un singolo Server all’interno della rete.


Nel campo “Service” è possibile specificare quali protocolli consentire durante la connessione VPN:

Figura 20: Aggiunta di un protocollo all’interno della Policy dedicata alla VPN SSL

Disabilitiamo il “NAT” come da figura sottostante:

Figura 21: Disabilitazione del “NAT” dalla policy VPN SSL

Scegliamo di tenere traccia di tutto il traffico VPN all’interno delle “Logging Options“:

Figura 22: Abilitazione del Logging di tutto il traffico VPN passante per questa specifica Policy

Qualora abilitato, compiliamo come da foto sottostante il campo “Workflow Management” assegnando un commento per la nostra modifica.
Queste impostazioni servono per evitare che chi configura il Firewall possa eseguire dei cambiamente senza le dovute giustificazioni:

Figura 23: Configurazione del “Workflow Management”

Ora è possibile fare click su “OK” per confermare quanto svolto:

Figura 24: Fasre click su “OK” per salvare le impostazioni della Policy

Infine è possibile vedere il risultato della Policy appena configurata:

Figura 25: Risultato della Policy dedicata alla VPN SSL

Accesso VPN FortiClient

La prima modalità di fruizione della VPN SSL Fortigate è rappresentata da un agent chiamato FortiClient, il quale consente di autenticare e instaurare la connessione remota.

Prima di poterne usufruire, occorre eseguire il download del FortiClient direttamente dal sito del produtture utilizzando il seguente link: https://www.fortinet.com/support/product-downloads

Una volta arrivati sul sito è possibile scorrere in basso fino a trovare l’agent in modalità solo VPN:

Figura 26: Selezione per sistema operativo dall’applicazione Forticlient

Una volta installato l’agent apparirà la sua schermata di configurazione, dove è possibile fare click su “Configure VPN” per iniziare la configurazione della VPN SSL:

Figura 27: Inizio della configurazione della VPN SSL tramite FortiClient

Entrati nel tab di configurazione compilate come da foto sottostante, operando gli opportuni cambi, infine fate click su “Save“:

Figura 28: Configurazione VPN SSL lato FortiClient


A questo punto è possibile testare l’accesso alla vpn utilizzando nome utente e password dell’utente, in questo caso “user1

Figura 29: Avanzamento autenticazione VPN SSL

Una volta collegati è possibile lanciare una connessione RDP per verificare il corretto funzionamento della VPN:

Figura 30: Test connession RDP tramite VPN SSL FortiClient

Una volta eseguito l’accesso con l’utente “user1“, ho eseguito un reset della password per l’utente “user2“, così da verificare il corretto funzionamento del reset password tramite FortiClient:

Figura 31: Cambio utente per verificare la scadenza password con FortiClient

Una volta inserita la vecchia password, Forticlient mi avviserà che la password è scaduta e che c’è la necessità di rinnovarla:

Figura 32: Rinnovo Password Active Directory tramite Forticlient

Una volta fatto click su “OK” possiamo verificare come la connessione venga instaurata correttamente:

Figura 33: Risultato della connessione VPN SSL tramite FortiClient

Come specificato in una mia guida precedente su Ict Power, (LINK: https://www.ictpower.it/sicurezza/fortinet-configurazione-ldaps-server-integrato-in-active-directory.htm) il cambio password tramite Forticlient o VPN Web è possibile grazie all’utilizzo di due parametri fondamentali nella configurazione del Server LDAP all’interno del Fortigate:

  • set password-expiry-warning: Consente di abilitare, se impostato su “enable”, un avviso qualora la password dell’utente sia scaduta. Questo avviso viene mostrato, ad esempio, durante l’autenticazione FortiClient oppure quando si esegue il log-in alla VPN SSL Web.
  • set password-renewal: Consente di abilitare, se impostato su “enable”, la reimpostazione della password direttamente quando si fa accesso al Fortigate. Ad esempio è possibile utilizzare il reset della password durante il login tramite FortiClient oppure quando si esegue il log-in alla VPN SSL Web.

Figura 34: Dettaglio della configurazione necessaria lato Fortigate per abilitare il reset password

Accesso VPN WebMode

Il Firewall Fortigate consente di abilitare, per tutti o solo una parte degli utenti, la modalità WEB per la VPN SSL.
Questa particolare versione consente di avere una minore superficie di rischio quando facciamo collegare consulenti esterni o fornitori.

È possibile accede a questa modalità digitando in un qualsiasi Browser Web supportato l’IP Pubblico o FQDN del vostro Fortigate con la porta configurata nei punti precedenti:

Figura 35: Indirizzo URL della VPN WEB del Fortigate

Arrivati alla schermata di Log-in è possibile inserire, come fatto per la VPN FortiClient il nome utente con la relativa password:

Figura 36: Inserimento nome utente e password VPN WEB

Precedentemente, per i fini di questa guida, avevo eseguito il reset della password dell’utente “user2“, pertanto, una volta inserite le credenziali, mi viene chiesto il reset della Password nuovamente, questa volta in modalità VPN SSL Web:

Figura 37: Reset Credenziali Active Directory in modalità VPN SSL Web

Una volta fatto click su “Login” è possibile accedere alla pagina principale, dove è possibile fare click su “New Bookmark” per creare una nuova connessione verso una risorsa interna alla rete:

Figura 38: Pagine principale VPN SSL Web

Figura 39: Creazione nuovo Bookmark per l’accesso alle risorse interne

È possibile creare una qualsiasi tipologia di Bookmark, ma per questa guida ho scelto un classico RDP verso il domain controller.

Figura 40: Compilazione dei campi necessari al collegamento alle risorse interne

Al termine della configurazione fate click su “Save“, così da ottenere un nuovo Bookmark che da adesso in poi rimarrà salvato nel vostro profilo VPN:

Figura 41: Bookmark per connessione al Domain Controller tramite RDP

Fate click ora sul Bookmark “DC-1“:

Figura 42: Sessione RDP fruita dalla VPN SSL Web

N.B. La VPN SSL Web richiede molte più risorse della VPN Forticlient. Alcuni modelli di Fortigate, specialmente i più piccoli come il 40F potrebbero soffrire un numero elevato di connessioni di questo tipo.

Accesso VPN SSL con FortiToken

Nel contesto odierno è impensabile lasciare una VPN SSL esposta con solo nume utente e password, è quindi buona cosa inziare da subito un ragionamento dedicato alla parte di multi factor authentication (MFA).

Ogni Fortigate arriva con due Token Software per la MFA chiamati FortiToken, significa che potete coprire due utenti fin da subito e in modo gratuito (tutti gli altri Token devono essere pagati a parte).

La configurazione è semplice e richiede davvero pochi passaggi.

All’interno del Fortigate (Sempre Root Vdom), nella colonna di sinistra, fate click sul Tab “User & Authentication” e successivamente “User Definition“:

Figura 43: Tab Dedicato alla gestione degli utenti del Fortigate

Fate click con il tasto destro del mouse su uno dei due utenti presenti all’interno del Fortigate e importati precedentemente da Active Directory, quindi “Edit“:


Fate click sul selettore “Two-factor Authentication“:

Figura 44: Abilitazione MFA

Nel menù contestuale che si aprirà fate click su “FortiToken“, quindi selezionate uno dei due disponibili:

Figura 45: Selezione del FortiToken


Scorrendo sotto è possibile completare l’assegnazione del token con una mail di registrazione, così che l’utente riceva le istruzioni per la configurazione e il QR Code per l’aggiunta all’applicazione mobile FortiToken:

Figura 46: Inserimento Mail per l’invio delle istruzioni di configurazione del FortiToken

Fate click su “OK” per completare l’operazione:

Figura 47: Fate click su “OK” per completare l’operazione

Accedendo poi alla mail che abbiamo utilizzato in fase di configurazione potrete vedere un messaggio come quello sottostante, con QR Code da far scannerizzare all’applicazione Mobile FortiToken, disponibile nei principali store Apple e Google:

Figura 48: Mail di attivazione FortiToken

Scaricate ora l’applicazione “FortiToken Mobile” dai principali Store Mobile:

Figura 49: Applicazione Fortitoken presente Nell’Apple Store

Figura 50: Applicazione Fortitoken presente su Google Play

Una volta installata sul cellulare o sul tablet, è possibile aggiungere un Token con il tasto “+” e successivamente scannerizzando il QR presente nella mail di cui sopra.
Terminato il processo il Token con i suoi numeri casuali verrà mostrato direttamente nell’applicazione:

Figura 51: Dettaglio applicazione FortiToken Mobile

Una volta pronta l’applicazione, è possibile tentare un nuovo accesso, sia tramite FortiClient che tramite VPN Web, ma questa volta, oltre al nome utente e password ci verrà chiesto di digitare i numeri presenti nell’applicazione FortiToken:

Figura 52: Richiesta MFA tramite FortiToken su FortiClient

Una volta inseriti i numeri è possibile collegarsi tranquillamente alla VPN, ma questa volta con una sicurezza di gran lunga maggiore:

Figura 53: Conessione VPN Instaurata tramite FortiToken

Conclusioni

Una guida sulla VPN può sembrare oggi fuori tempo massimo, ma sono ancora molte le aziende che fanno affidamento su questo tipo di soluzione per i loro collegamenti remoti.

Fortigate risponde a questa esigenza con la massima apertura possibile, consentendo di avere non solo autenticazione tramite Active Directory, ma aggiungendo anche la MFA, la quale può essere sfruttata non solo tramite soluzioni Fortinet, ma ad esempio con l’utilizzo di Entra ID, governando l’accesso VPN tramite Conditional Access Policy.

Come detto nell’articolo precedente, quando si sceglie uno strumento, bisogna sempre porsi la domanda che più conta, ovvero se quello che sto comprando si integrerà al 100% con il mio contesto infrastrutturale, altrimenti avremo acquistato l’ennesimo oggetto che per funzionare ha bisogno di una infratruttura parallela.