Prima di Atik non conoscevo i firewall Stormshield (che prima si chiamavano NetAsq). Ora, dopo che ci lavoro da due anni e dopo aver conseguito la certificazione di primo livello, sono sempre più convinto che siano i migliori firewall sul mercato (scopri le novità della versione firmware 3.0)
Lascio ai miei colleghi più avvezzi al lato commerciale le spiegazioni di tutti i pro e i contro di queste macchine, ma da un punto di vista tecnico posso solo dire che sono macchine veramente affidabili (non per niente sono usate dai militari), molto versatili e veramente intuitive nell’uso.

In questo articolo voglio parlarvi della configurazione di una VPN IPSec tra il firewall e un client mobile. Con “client mobile” s’intente un pc che si connette da reti diverse e il cui IP pubblico sarà quindi dinamico. Ovviamente servirà un client per potersi connettere. Stormshield offre un suo client per cui però è necessaria una licenza. Se abbiamo molti utenti che si connettono questa soluzione diventerebbe complessa e costosa molto in fretta.
Fortunatamente esiste un client VPN gratuito che è compatibile al 100% con i firewall Stormishield. Si chiama Shrew VPN e lo potete trovare qui:
www.shrew.net
Ufficialmente questo software esiste solo per Windows e Linux, ma è disponibile anche una beta per Mac OSX. Più avanti vi darò i dettagli su come scaricarla e installarla.
Passiamo ora alla configurazione.

CONFIGURAZIONE DEL FIREWALL

In questa configurazione darò per scontato che il firewall sia già configurato per autenticarsi con Active Directory. E’ possibile creare anche un database interno al firewall, ma è una spiegazione che lascerò per un’altra volta.

Per prima cosa bisogna aggiungere gli utenti (o il gruppo) che avrà i diritti per accedere alla VPN IPSec passando dal menu

Configuration –> Users –> VPN access privileges

e specificare Allow per la VPN IPSec.

screen1

E’ necessario che gli utenti abbiano un indirizzo email specificato in Active Directory, altrimenti non riusciranno ad autenticarsi.

Dopo aver autorizzato gli utenti, dobbiamo aprire sul firewall le porte necessarie per la connessione e il protocollo usato dalla VPN con queste due semplici regole in

Configuration –> Security Policy –> Filter – NAT

screen2

Adesso dobbiamo configurare la VPN vera e propria.

Spostiamoci in Configuration –> VPN –> IPSec VPN e selezioniamo la tab PEERS.
Creiamo un nuovo peer dal pulsante Add e selezionando New anonymous (mobile) peer.
Seguite la procedura guidata, selezionate Pre-Shared Key (PSK) come metodo di autenticazione e inserite una password che poi vi servirà per autenticare il client.

Schermata 2015-02-10 alle 16.12.39

Dovreste ottenere qualcosa di simile a questo:

Schermata 2015-02-10 alle 16.11.52

L’ultima cosa da fare sul firewall è spostarci sulla tab ENCRYPTION POLICY – TUNNELS e impostare il tunnel VPN vero e proprio.

Selezioniamo le impostazioni ANONYMOUS – MOBILE USERS assicuriamoci che il mobile peer selezionato sia quello che abbiamo creato nel passaggio precedente e dal pulsante Add scegliamo New policy.

Schermata 2015-02-10 alle 16.13.05

Aggiungiamo sotto LOCAL RESOURCES la rete a cui vogliamo accedere. Solitamente useremo Network_internal o Network_in, che sono oggetti creati automaticamente dal firewall. Se però la configurazione della rete interna è più complessa, potete specificare a quali segmenti si può accedere via VPN.

Schermata 2015-02-10 alle 16.13.39

Dovrete poi creare sotto Mobile network il range o il network da cui ci collegherà. In pratica è un range di IP che saranno assegnati ai client una volta autenticati. Nel mio esempio ho creato un range di 20 indirizzi IP e l’ho chiamato ipsec_mobile. Ricordatevi di creare anche le regole di filtering che autorizzino il traffico tra il range in questione e network_internal e viceversa, altrimenti il tunnel verrà stabilito ma non si riuscirà comunque ad accedere alle risorse locali.

Schermata 2015-02-11 alle 12.15.33

E’ possibile anche modificare gli Encryption Profiles, ma le impostazioni tendono a diventare abbastanza conplesse. Per questa prova vi suggerisco di usare quelli predefiniti di Good Encryption, che andranno poi riportati anche nel client. L’ultima cosa da fare sul firewall è attivare il Config mode e, cliccando su Edit, aggiungere i dati del server DNS e dei domini di ricerca associati.

Schermata 2015-02-10 alle 16.15.33

 

CONFIGURAZIONE DEL CLIENT SHREW VPN

Installiamo il client Shrew VPN. Per Windows e Linux si trova direttamente sul sito https://www.shrew.net/

Come accennavo prima, esiste una versione per Mac OSX che però non è ancora supportata ufficialmente. La potete scaricare da qui: https://www.shrew.net/download/vpn/vpn-client-install.dmg

Questa versione richiede però due dipendenze da installare prima del client stesso:

LGPL Qt Framework: https://files.linux-addicted.net/qtproject/archive/qt/4.7/qt-mac-opensource-4.7.1.dmg

TUN/TAP driver: https://tuntaposx.sourceforge.net/download.xhtml

Scaricate e installate tutto. Lanciate il client e cliccate su Add per creare un nuovo profile di connessione. Ci sono diverse schede da configurare, ma è più semplice di quanto possa sembrare.

Nella scheda General inseriamo l’IP pubblico del firewall e assicuriamoci che sia selezionata la configurazione ike config pull.

Schermata 2015-02-11 alle 12.46.52

Nella scheda Client dobbiamo solo togliere la spunta alla casella Enable Client Login Banner, perchè Stormshield non supporta il banner di login.

Schermata 2015-02-11 alle 12.48.08

Sotto Name Resolution possiamo lasciare tutto in automatico. Volendo possiamo specificare il suffisso DNS con il nome di dominio locale nel caso avessimo problemi a risolvere i nomi una volta connessi.

Schermata 2015-02-11 alle 12.50.34

Sotto Authentication Method dobbiamo selezionare Mutual PSK, come Local Identity selezioniamo User Fully Qualified Domain Name e nella stringa inseriamo l’indirizzo email dell’utente. Infine sotto Credendials inseriamo la Pre Shared Key che deve ovviamente essere uguale a quella sul firewall.

Schermata 2015-02-11 alle 12.52.20

Phase 1 e Phase 2 sul firewall vengono chiamate IKE e IPSEC, ma sono la stessa cosa. Qui dobbiamo specificare i protocolli di encryption per aprire il tunnel VPN. Potete controllarli dal firewall direttamente, quelli negli screenshot qui sotto si riferiscono alla Good Encryption già preconfigurata sullo Stormshield.

Schermata 2015-02-11 alle 12.57.59Schermata 2015-02-11 alle 12.58.06

come ultima cosa, sotto Policy assicuriamoci che l’impostazione il Policy Generation Level sia impostato su require.

Schermata 2015-02-11 alle 12.58.43

Poi salvate e provate la connessione. Se avete seguito tutti i passaggi la connessione verrà stabilita con successo e dovreste poter accedere alle risorse della rete locale.