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.
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
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.
Dovreste ottenere qualcosa di simile a questo:
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.
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.
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.
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.
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.
Nella scheda Client dobbiamo solo togliere la spunta alla casella Enable Client Login Banner, perchè Stormshield non supporta il banner di login.
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.
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.
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.
come ultima cosa, sotto Policy assicuriamoci che l’impostazione il Policy Generation Level sia impostato su require.
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.