Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Un firewall avanzato con pfSense

Installiamo e configuriamo un firewall avanzato con pfSense, una distribuzione basata su FreeBSD capace di rivaleggiare con le appliance a pagamento più note.
Installiamo e configuriamo un firewall avanzato con pfSense, una distribuzione basata su FreeBSD capace di rivaleggiare con le appliance a pagamento più note.
Link copiato negli appunti

All'interno di ogni rete aziendale che si rispetti non può, sicuramente mancare un firewall. Un firewall è un componente passivo per la difesa perimetrale di una rete informatica. Solitamente la rete aziendale viene suddivisa in due o tre tronconi (sottoreti) a seconda delle esigenze lavorative dell'azienda stessa. Comune ad ogni organizzazione di rete, troviamo la rete esterna (internet) e la rete interna LAN, per le aziende che invece necessitano di ospitare server raggiungibili dall'esterno si rende necessaria una terza rete detta zona demilitarizzata o comunemente chiamata in gergo DMZ. Nella DMZ vengono ospitati tutti quei server che offrono servizi sia all'interno della rete che all'esterno, come ad esempio un server web, tali host dovranno avere limitate possibilità di aprire connessioni verso gli host ospitati nella rete LAN.

Il compito di quest'articolo non sarà quello di spiegare come funziona in linea teorica un firewall, ma sarà quello di presentare in generale le funzionalità offerta da un firewall reale, come pfSense, e mostrare un semplice caso concreto di installazione e configurazione.

Una panoramica su pfSense

pfSense è un firewall open source sviluppato su piattaforma FreeBSD. Le funzionalità offerte da pfSense sono veramente notevoli, ad esempio sarà possibile farlo "Nattare", funzionare in maniera trasparenza a livello 2, supportare funzioni di High Availability (HA), così da garantire il funzionamento anche in condizioni "estreme"; è infatti possibile, creare due macchine gemelle di pfSense che si auto sostituiscono nel caso di guasto di una delle due, sarà altresì possibile avvalersi di funzionalità di Load Balancing, così da bilanciare il lavoro dei server posti "dietro" a pfSense.

Grazie ad una grafica semplice ed intuitiva, con pochi semplici click saremo in grado di configurare un potente firewall che ci potrà proteggere da attacchi esterni, dando così la possibilità anche a coloro che non conoscono prodotti come IPTables/netfilter e pf, e che non vogliono acquistare costose apparecchiature, di poter proteggere la propria rete. pfSense, infatti, richiede risorse hardware limitate, basta un processore Pentium a 300 MHZ, 128 MB di RAM, un lettore cd/dvd ed due o più schede di rete a seconda di quanti tronconi di rete si vogliono gestire.

pfSense è prelevabile nella sezione download del sito ufficiale.

Proteggiamo la nostra rete LAN

Dopo aver illustrato brevemente alcune delle caratteristiche di pfSense, siamo pronti finalmente a "sporcarci le mani". In quest'articolo cercheremo di installare e configurare un semplice firewall pfSense che protegga la nostra rete LAN e faccia da gateway (la configurazione più semplice che si possa realizzare), per tali scopi sulla nostra macchina firewall dovranno essere installate almeno due schede di rete, la prima sarà utilizzata dal segmento di LAN, la seconda dal segmento WAN, e si connetterà direttamente al nostro router (punto-punto), la tipologia di rete è mostrata in figura 1.

Figura 1. La tipologia di rete del nostro test
tipologia rete LAN

Installazione pfSense

Scaricato il formato per la piattaforma hardware che più si addice alle nostre esigenze, possiamo procedere all'installazione, faremo riferimento nella presente guida alla versione 2.0.1 per i386, l'installazione avverrà tramite supporto ottico (DVD/CD). Effettuato il boot automatico dal CD d'installazione pfSense ci chiederà in quale modalità eseguire il boot, nel nostro caso selezioneremo tramite la tastiera la voce numero 1 (figura 2).

Figura 2. Le modalità di avvio di pfSense
modalità di avvio di pfSense

Come mostrato in figura 3, pfSense può essere avviato in modalità recovery (premendo il tasto R), in modalità installazione premendo il tasto I, oppure in versione LiveCD, trattandosi di una nuova installazione nel nostro caso proseguiremo digitando sulla tastiera il tasto I.

Figura 3. Avviamo pfSense in modalità installazione
pfSense in modalità installazione

Dopo una breve analisi del sistema hardware, effettuata da BSD, si procederà con la configurazione della console video di amministrazione, eventualmente modificando i Font video, e la mappa caratteri, per i nostri scopi possiamo, tranquillamente accettare le impostazioni di default.

Figura 4. È possibile modificare la mappa caratteri di pfSense
mappa caratteri pfSense

Le modalità d'installazione variano da quick/easy install a custom install, sino a poter selezionare il rescue del file config.xml, la modalità quick è sicuramente la più facile e veloce ed adatta a tutti coloro che non vogliono cimentarsi in personalizzazioni avanzate del sistema, mentre quella custom è la più dettagliata, in questa guida vedremo come effettuare un'installazione di tipo custom.

Figura 5. Scegliamo l'installazione personalizzata di pfSense
installazione personalizzata pfSense

Effettuando l'installazione "customizzata" dovremo impostare le singole configurazioni, quali l'hard disk su cui effettuare l'installazione, ed eventualmente se seguirne una formattazione del disco, io consiglio sempre di formattare l'intero contenuto di un disco destinato a pfSense, così anche da poterne verificare l'integrità, terminato il processo di formattazione del disco, potremo decidere se partizionare il disco oppure no, ad esempio saremo in grado di creare una partizione per il Bootblocks, nel nostro caso scegliamo comunque di installare il Bootblocks su l'unica partizione presente.

Possiamo decidere la dimensione della partizione di swap da utilizzare, nel nostro caso stiamo utilizzando un sistema con 256 MB di RAM, quindi teoricamente lo swap dovrebbe essere pari almeno alla RAM installata sul sistema, ma cerchiamo di destinarne almeno il doppio quindi 512 MB (figura 6). Impostata la dimensione della partizione di swap non resta che confermare il tutto selezionando la voce "Accept and Create" così come evidenziato in rosso nella figura 6.

Figura 6. Impostiamo la partizione di swap di pfSense
partizione di swap di pfSense

Occorrerà attendere qualche istante a seconda delle dimensioni del disco affinché il sistema prepari i dischi per l'utilizzo. Il passo successivo prevede la possibilità di installare una configurazione personalizzata del kernel, se si hanno particolari esigenze hardware, nel nostro caso possiamo procedere alla configurazione del symmetric multi processing kernel.

Figura 7. La scelta del kernel usato da pfSense
scelta del kernel usato da pfSense

La fase dell'installazione è conclusa non resta che estrarre il cd ed effettuare un reboot del sistema.

Figura 8. Riavviamo pfSense
riavviare pfSense

Configurazione pfSense

pfSense consente la configurazione e la gestione di VLAN, l'abilitazione di questa funzionalità in fase di configurazione avviene digitando y in corrispondenza dell'apposita domanda (Do you want to set up VLANs now [y:n]? ), vista la configurazione di rete che ci accingiamo a realizzare possiamo tranquillamente rispondere no (premendo il tasto n). Arriviamo così alla configurazione delle interfacce, ricordiamo che dovendo gestire il troncone LAN e WAN sul nostro sistema dovranno essere presenti almeno due schede di rete, la prima a dover essere configurata è quella relativa alla WAN, è possibile delegare a pfSense la ricerca automatica della scheda oppure si può procedere digitando il nome della scheda di rete, che sarà destinata all'interfacciamento con la WAN, i nomi delle interfacce vengono riportate da pfSense nella stessa schermata di configurazione, se installiamo due schede della stessa casa costruttrice, dovremo ricorrere all'indirizzo MAC (evidenziato in rosso nella figura 9) per identificarne le funzioni. Nel nostro caso destiniamo la scheda em0 come scheda deputata al traffico della WAN e la scheda em1 deputata al traffico della LAN.

Figura 9. Le schede di rete riconosciute da pfSense
selezionare schede rete pfSense

Per default pfSense ci chiederà anche di identificare un'eventuale terza scheda Optional 1 (opt1), che nel nostro caso non è presente, inserite tutte le impostazioni sarà necessario confermare il tutto digitando y alla domanda visualizzata in figura 10, a questo punto inizierà la configurazione vera e propria.

Figura 10. La scelta della scheda di rete
scelta della scheda di rete

Terminata la configurazione del sistema, pfSense ci restituirà le informazioni relativi agli indirizzi IP assegnate alle singole schede, nonché il menù relativo alla console, dalla quale potremo personalizzare gli indirizzi IP delle singole schede, eseguire un reboot, spegnere o riavviare il sistema, impostare la password per il webconfigurator ecc.

Figura 11. Indirizzi IP assegnati alle schede di rete
Indirizzi IP assegnati alle schede di rete

Prima di proseguire alla configurazione tramite interfaccia web, impostiamo gli indirizzi IP scelti in fase di progettazione (ricordiamo dallo schema mostrato in figura 1, che l'interfaccia WAN del nostro firewall avrà un indirizzo IP appartenente alla classe 10, più specificatamente 10.0.0.2 così da creare una connessione punto-punto, mentre la scheda di rete deputata ad interfacciarsi con la rete LAN, avrà indirizzo 192.168.1.254), è importante scegliere indirizzi IP di classe diversa, per rendere più robusto il nostro firewall, consiglio anche di non utilizzare (come nel nostro caso) indirizzi standard quali 192.168.x.x ma ad esempio 194.10, 10.1.1 ecc.

Il setting delle interfacce avviene selezionando il numero 2 dalla tastiera della console, e seguendo il semplice wizard che pfsense ci propone, nello specifico dovremo inserire le informazioni relative all'indirizzo IP, alla sottomaschera di rete e alla possibilità di abilitare il servizio DHCP su questa porta, le informazioni devono essere inserite a seconda della configurazione che si vuole adottare, un consiglio è quello di utilizzare maschere di sottorete appropriate, e non limitarsi alla solita maschera a 24 bit, soprattutto per la WAN e per un'eventuale rete DMZ.

Il firewall potrà anche essere amministrato dall'esterno (occorrerà configurare opportunamente anche il router), si dovrà specificare il protocollo di connessione a scelta tra http o https da utilizzare, naturalmente è inutile dire che il protocollo da adoperare è quello https, così da avere un livello di sicurezza maggiore.

Configurazione via web

Se tutto è andato a buon fine possiamo collegarci al nostro firewall utilizzando un qualsiasi browser e digitando l'indirizzo https://192.168.1.254. L'accesso al firewall è protetto naturalmente da uno username ed una password, quelle di default (da modificare al primo accesso nella sezione System > users), sono admin pfsense.

Figura 12. Colleghiamoci a pfSense via Web
Colleghiamoci a pfSense via Web

All'interno della dashboard potremo monitorare e configurare il nostro firewall, particolare attenzione in questa prima fase sarà posta sulla voce "General Setup" presente nel menù System, in questa sezione sarà possibile configurare il protocollo da utilizzare, definire il certificato SSL, impostare i settaggi della rete ecc.

La gestione delle policy del firewall sono demandate al menu "Firewall", e particolare attenzione dovrà essere prestata ai ruoli, è qui infatti che andremo ad inserire le principali policy, di default pfSense abilita il traffico dalla LAN solo sui protocolli http ed https. pfSense segue la filosofia standard dei firewall vale a dire tutto ciò che non è espressamente permesso è vietato.

Figura 13. Le regole di pfSense
Colleghiamoci a pfSense via Web

Conclusioni

Le potenzialità di pfSense sono elevate, un singolo articolo non può bastare a descriverle tutte, abbiamo voluto pertanto presentare una semplice configurazione del sistema che possa essere utilizzata in tutte quelle piccole reti che richiedono un minimo di sicurezza. pfSense può essere configurato per offrire servizi come ad esempio DHCP e DNS, ed esporta funzionalità quali il backup di sistema e delle configurazioni di sistema. Sarà altresì possibile integrare un server radius all'interno di pfSense, oppure utilizzare il servizio di captive portal già presente all'interno del firewall, per gestire gli accessi alla rete.

Ti consigliamo anche