Guida – Configurare Fortinet ZTNA per sostituire SSL-VPN

Le applicazioni cloud, soprattutto in relazione all’emergenza COVID-19, hanno di fatto messo le aziende alle strette nel pensare alla produttività. Le persone stanno lavorando ovunque, utilizzando qualsiasi dispositivo con cui si sentono più a loro agio o che hanno a portata di mano, e questo è un dato di fatto e uno stato dell’arte da cui non si può tornare indietro.

La crescita di dispositivi non sicuri o sconosciuti collegati alla rete, insieme a una serie di violazioni dovute a credenziali sottratte, ha causato un allentamento della fiducia. Gli amministratori di rete devono adottare un approccio zero-trust per l’accesso alla rete. Le soluzioni Fortinet Network Access offrono la sicurezza dei dispositivi necessaria per visualizzare e controllare tutti i dispositivi e gli utenti nell’ambito dell’intera rete. Grazie alla protezione proattiva degli endpoint, le organizzazioni possono avere la certezza che le loro reti siano al riparo dalle minacce più recenti. 

In questo tutorial vedremo come permettere ad un pc remoto di collegarsi in RDP ad un server aziendale tramite Forticlient ma senza utilizzare un tunnel SSL-VPN.

Come funziona?

  • FortiClient contatta il FortiGate per creare una connessione sicura tramite HTTPS utilizzando un certificato ricevuto da EMS che include l’UID del FortiClient stesso. 
  • EMS fornisce al FortiGate l’UID per identificare il dispositivo e altre informazioni riguardanti l’endpoint
  • Il FortiGate consente o nega l’accesso a seconda dei requisiti e delle regole configurate.

Prerequisiti

  • Disporre di Forticlient EMS (Endpoint Management Server) con relative licenze per gli endpoint
  • Collegamento di EMS al firewall Fortigate tramite Security Fabric
  • Forticlient già installato sugli endpoint

CONFIGURAZIONE FORTICLIENT EMS

Per prima cosa andiamo a creare un nuovo tag tramite Forticlient EMS. I tag si basano su vari controlli e possono essere applicati agli endpoint qualora i requisiti impostati vengano rispettati dagli endpoint stessi. Nel nostro esempio andremo a creare un tag che identifichi i dispositivi che dispongono di un Software Antivirus installato e attivo. Vediamo come fare.

  • Rechiamoci sulla console di Forticlient EMS e dal menu laterale rechiamoci in Zero Trust Tags > Zero Trust Tagging Rules.
  • Dalla barra superiore clicchiamo su + Add per aggiungere un nuovo Tag. Comparirà la schermata per configurare la regola
  • Aggiungiamo un nome e il rispettivo tag che verrà utilizzato es. ev-enabled
  • Clicchiamo in basso a destra su + Add Rule
  • Si aprirà una finestra, qui andremo a selezionare il sistema operativo dei dispositivi per il quale vogliamo creare la regola
  • Selezioniamo poi il tipo di regola dall’elenco a disposizione, in questo caso AV Software is installed and running. Poi cliccare Save per salvare

Noi abbiamo creato due regole per lo stesso tag, una per i dispositivi Windows e una per Mac.

Dopo aver salvato, il tag comparirà nella lista. E’ possibile aggiungere tutti i tag che si desiderano selezionando le regole presenti in elenco, ad esempio si può creare un tag che identifica i dispositivi che appartengono ad un determinato range di IP, oppure quelli con la telemetria connessa a EMS,…

I tag creati verranno automaticamente applicati a tutti i dispositivi che rispettano i requisiti delle regole di tagging aggiunte.

CONFIGURAZIONE SUL FORTIGATE

Per procedere con la configurazione vera e propria sul nostro firwall Fortigate, occorre innanzitutto abilitare ZTNA dall’elenco delle funzionalità visibili. Dal menu laterale System > Feature Visibility > ZTNA.

Una volta abilitata, comparirà la sezione dedicata in Policy & Objects > ZTNA. Saranno disponibili tre schede: ZTNA RULES, ZTNA SERVERS, ZTNA TAGS.

ZTNA TAGS

I tag ZTNA sono generati dalle regole di tagging configurate su FortiClient EMS, dopo la loro creazione queste vengono automaticamente sincronizzate sul FortiGate. Vediamo che, oltre al tag che abbiamo creato in precedenza, nella lista compaiono anche ulteriori tag, creati autonomamente da EMS.

ZTNA SERVERS
  • Selezioniamo ora la scheda ZTNA Servers dove andremo a configurare il nostro firewall che fungerà da proxy.
  • Inseriamo un nome identificativo e configuriamo le impostazioni di rete selezionando l’interfaccia esterna, wan1 nel nostro caso, e inserendo indirizzo ip e porta del nostro fortigate.
    Nota: di default sarà selezionata la porta 443, se la porta è già utilizzata per esporre il nostro fortigate pubblicamente è consigliato cambiarla per evitare problemi; noi utilizzeremo la 20443
  • Selezioniamo il certificato SSL da utilizzare
  • clicchiamo su + Create New per andare a mappare il server che ci interessa rendere accessibile.
  • Nel nostro esempio renderemo accessibile tramite RDP la macchina che ospita il nostro server interno.
  • selezioniamo quindi la relativa scheda TCP Forwarding ed andiamo ad aggiungere l’ip privato del server 192.168.154 e la porta 3389. Sarà necessario salvare l’indirizzo dandogli un nome.

Con lo stesso procedimento potremmo aggiungere tutte le applicazioni tcp che vogliamo rendere disponibili, una volta terminato clicchiamo su Ok e confermiamo la creazione del server cliccando nuovamente Ok.

ZTNA RULES

Tramite la scheda ZTNA RULES, andremo infine ad aggiungere la regola che permetterà al traffico di essere correttamente indirizzato.

  • Clicchiamo su Add Rule, comparirà la schermata di creazione della regola.
  • Selezioniamo l’interfaccia esterna, la stessa selezionata in precedenza durante la creazione del server.
  • Impostiamo all come Source e Destination.
  • Aggiungiamo i tag che desideriamo, ad esempio il tag av-enabled creato in precedenza. In questo modo solo gli endpoint che rispettano i requisiti del tag selezionato potranno accedere alle risorse mappate sul server.
  • Aggiungiamo il server appena creato
  • Lasciamo Accept come azione

  • Uno volta cliccato ok la nostra policy comparirà nella lista.

Nota: nel caso tra la lista di regole vengano create anche policy di divieto-Deny, queste devono sempre essere posizionate sopra quelle di permesso-Accept.

PASSAGGI FINALI

Come ultimo passaggio dovremo andare ad aggiungere le regole anche sui FortiClient dei nostri endpoint. È possibile aggiungere singolarmente le regole direttamente sui singoli Forticlient oppure tramite EMS in modo da propagarle per più utenti.

Vediamo come fare tramite la console di Forticlient EMS.

  • Dal menu Endpoint Profile > ZTNA Connection Rules andiamo ad aggiungere un nuovo profilo cliccando su + Add
  • Nel nostro esempio abbiamo creato un profilo chiamato TEST OFFNET
  • Clicchiamo su + Add Rule e inseriamo i parametri configurati in precedenza sul Fortigate:
    • Destination Host – il server che vogliamo raggiungere e la porta, nel nostro caso 192.168.1.154:3389
    • Proxy Gateway – l’indirizzo ip del nostro proxy con la porta configurata 84.248.227.168:20443
    • Transparent mode per fare in modo che la connessione avvenga in background senza che gli utenti debbano intervenire
    • Per impostazione predefinita, la crittografia è disabilitata. Quando la crittografia è abilitata, anche il traffico tra FortiClient e FortiGate verrà crittografato.
      NOTA: il traffico originale viene comunque crittografato anche con crittografia disabilitata.
  • Cliccare su Save e, una volta aggiunte tutte le regole desiderate, cliccare nuovamente Save.
  • Cliccando su XML è possibile visualizzare la regola appena inserita e volendo aggiungerne di nuove più rapidamente sfruttando il copia-incolla.

L’ultima cosa da fare è assicurarsi che il nostro endpoint utilizzi il profilo appena creato quando si trova all’esterno della rete aziendale. Per far questo prima creiamo una regola On-Fabric.

  • Rechiamoci in Endpoint Policy & Components > On-fabric Detection Rules
  • Clicchiamo + Add
  • Inseriamo il nome e clicchiamo + Add Rule per aggiungere le regole. Nell’esempio è stata impostata solo la regola che identifica la subnet interna ma per essere sicuri è possibile ad esempio aggiungere l’ip pubblico che identifica la rete aziendale o il server DNS utilizzato o altro tra i tipi di regola proposti.

Infine rechiamoci in Manage Policies e modifichiamo la policy in uso dai nostri endpoint.

  • Possiamo cliccare + Add per aggiungerne una nuova o modificare quella di default selezionandola e cliccando su Edit
  • Nel nostro caso vogliamo applicare il profilo a tutti gli endpoint appartenenti all’OU Test del nostro dominio. Specificheremo quindi i gruppi da sincronizzare in Endpoint Groups.
  • In Users è possibile specificare solo determinati utenti se si desidera filtrare ulteriormente il gruppo
  • Abilitiamo l’opzione Profile (Off-Fabric) in modo da utilizzare profili diversi quando il dispositivo si trova all’interno della rete oppure all’esterno.
  • Andiamo quindi ad applicare il profilo applicato in precedenza solo nel caso in cui l’endpoint sia Off-Fabric, ovviamente ogni profilo può essere personalizzato in base alle proprie esigenze, per semplicità noi abbiamo impostato quello di default per tutti gli altri.
  • On-Fabric Detection Rules è la regola che permette a EMS di stabilire quando un dispositivo si trova on-fabric e quando off-fabric. Andiamo a selezionare la regola aggiunta in precedenza e clicchiamo su Save.

FORTICLIENT

Ora non ci resta che testare la configurazione sul nostro endpoint. Colleghiamo il pc ad una rete diversa da quella dove risiede il nostro server; il client riceverà automaticamente la configurazione da parte di EMS relativa al profilo Off-fabric. La regola inserita quindi verrà mostrata in ZTNA CONNECTION RULES e, se tutti i requisiti e i parametri che abbiamo impostato, tag compresi, vengono rispettati, saremo in grado di effettuare la connessione rdp sull’host configurato.

link utili

https://docs.fortinet.com/document/fortigate/7.0.5/administration-guide/194961/basic-ztna-configuration

https://docs.fortinet.com/document/forticlient/7.0.4/ems-administration-guide/24450/introduction