Qualche giorno fa la versione 2.1 di pfSense è uscita dalla fase di “release-candidate” ed è stata finalmente rilasciata.
Al momento credo si tratti di una delle pochissime firewall-appliance a supportare pienamente IPV6 e rilasciata con licenza open-source.
In un precedente articolo avevo esplorato alcune delle caratteristiche di questo prodotto.
A distanza di qualche mese ho avuto modo di verificare il grande lavoro svolto per arrivare alla prima release stabile.
Tutti i problemi che avevo notato in fase di test sembrano essere stati risolti. Non si notano più neppure le piccole “ruvidità” di installazione e di interazione tra i vari pacchetti. Tutto sembra essere perfettamente integrato e funzionante.
Come impegnativo campo di prova ho effettuato un deployment in una rete aziendale di media complessità.
L’ambiente è fortemente virtualizzato e sono presenti 2 connessioni internet con tecnologie differenti e subnet /28 di IPV4.
Su una delle due è assegnata una subnet /48 di IPV6.
E’ presente una DMZ con diversi server, una LAN con numerosi client, una rete WIFI dedicata.
Tra le varie necessità vi è quella di implementare un proxy server autenticato ed un captive-portal per il WIFI. E’inoltre richiesta una solida VPN multiaccesso.
Era già presente un’installazione di prova sulla rete e, non avendo voglia di reinstallare e riconfigurare tutte le interfacce , ho tentato di effettuare un semplice aggiornamento di versione utilizzando l’interfaccia WEB. L’operazione si è svolta in pochi minuti e, oltre alla versione di base, si sono aggiornati tutti i pacchetti già installati!
Sono quindi passato alla configurazione….
Captive portal.
Il captive portal per il WIFI è di una semplicità incredibile. Facilissimo da configurare, consente di gestire vari tipi di autenticazione. In particolare ho trovato interessante la generazione di codici “usa e getta” da distribuire agli ospiti. Tali codici una volta attivati utilizzandoli per la prima volta hanno una durata preimpostata. Trascorso l’intervallo di tempo stabilito si disattivano e non sono più riutilizzabili. Ne ho subito stampato un blocchetto da tenere a portata di mano.
Altro aspetto interessante: la configurazione non è limitata ad un singolo portale, ma se ne possono gestire molti contemporaneamente su reti diverse. Per esempio “rete ospiti”, “rete dipendenti attiva solo durante la pausa pranzo” etc. etc.
A mio avviso questa implementazione, integrata nell’appliance semplicemente installando un pacchetto, può rivaleggiare con soluzioni di captive portal dedicate e molto più costose.
Proxy server
Ovviamente basato su SQUID 3, può essere abbinato a vari altri moduli. Io l’ho configurato in tandem con SquidGuard per il filtro dei contenuti con HAVP come antivirus.
Molto facile da configurare utilizzando l’interfaccia web. Funziona bene con IPV6. E’ bello vedere i client della LAN che non hanno il dual stack, poter accedere in IPV6 ai vari siti che già lo implementano (sono sempre di più…)
DPI
lo SNORT contenuto in questa versione funziona a meraviglia. Nessun impiantamento come quelli riscontrati nella RC. E’molto configurabile e controllabile attraverso l’interfaccia WEB. Assolutamente perfetto.
Load balancing/failsafe
Dovendo gestire le 2 connessioni internet separate ho configurato l’appliance in modo da utilizzarle entrambe e monitorare lo stato delle stesse in modo da poterne escludere automaticamente una in caso di malfunzionamenti. Allo scopo vengono controllati continuamente i gateway interrogando un indirizzo esterno. I parametri “accettabili” per la latenza e la perdita di pacchetti sono configurabili a piacere. Veramente fantastico!
VPN
Ne gestisce di vari tipi, ma io sono un fan di OpenVPN.
La gestione è ottima. E’possibile creare profili differenti con modalità di accesso diverse. La gestione/generazione dei certificati è integrata. E’ persino possibile con un plugin generare un “pacchetto di installazione” per tipi di client diversi (tra cui windows). Il pacchetto generato si installa nel sistema client configurando tutto ciò che è necessario.
In assoluto la migliore implementazione di VPN che ho mai visto!
…ma non tutto è perfetto!
Ovviamente sarebbe impossibile non trovare delle pecche in un prodotto di questa complessità!
A mio avviso è particolarmente fastidiosa la mancanza di autenticazione NTLM del proxy. Utilizzando LDAP si riesce comunque ad autenticare gli utenti di un dominio e non è niente di trascendentale la finestra di login che si apre ogni volta che si lancia il browser (in fondo la password si può salvare…)….. ma è fastidioso. Prodotti meno blasonati hanno implementato al loro interno versioni aggiornate di SAMBA e si autenticano con NTLM.
Altra piccola pecca: HAVP in cascata con SQUID consente un controllo veloce sull’eventuale incauto download di virus. Ma sembra non funzionare con IPV6. Una volta attivato il proxy naviga solo attraverso le connessioni IPV4 disponibili. Probabilmente non è ancora maturo al punto giusto.
Inoltre a mio avviso si potrebbe migliorare la configurazione del firewall: non è possibile creare una che si applichi a più indirizzi IP. La situazione tipica è la gestione delle eccezioni in LAN: un certo numero di PC che ha esigenza di uscire direttamente dal firewall senza passare per i vari proxy. Attraverso l’interfaccia di pfSense bisogna creare una singola regola per ciascun PC oppure creare un “alias” che fa riferimento a più indirizzi e, solo successivamente, la regola stessa. Il risultato è poco leggibile/gestibile. Alcuni prodotti concorrenti consentono di applicare tranquillamente la stessa regola a più indirizzi.
per concludere…
Ho esplorato solo una minima parte delle possibilità offerte da questo prodotto.
Tutto sembra di una solidità eccezionale e con prestazioni di altissimo livello. Se decidete di utilizzarlo vi consiglio di installarlo su una macchina (virtuale o fisica) adeguata: è finita l’epoca del PC dismesso utilizzato come firewall! Per poter essere efficace in un ambiente trafficato senza rallentamenti una soluzione di questo genere necessita di una quantità di memoria elevata, ovviamente indirizzabile solo da un sistema a 64 bit. Inoltre la potenza di calcolo deve essere adeguata se vogliamo fargli controllare ogni singolo pacchetto in transito…
Prodotto a mio avviso ideale come soluzione unica per le piccole medie aziende dotate di personale con buone conoscenze in ambiente *NIX.
Fabrizio Vettore