pfSense, come usarlo per configurare un firewall sul cloud

Quando si allestisce un proprio data center sul cloud è fondamentale impostare un firewall: pfSense è una delle soluzioni migliori per proteggere l'intera LAN virtuale.

Tutti coloro che amministrano un sito, indipendentemente dalla tipologia e dalle sue dimensioni, o gestiscono applicazioni web di vario genere chiamate ad esempio ad interfacciarsi con una vasta schiera di dispositivi client (si pensi al settore dell’Internet delle Cose, IoT) possono oggi evitare di “investire sul ferro”. Non è una cosa da poco: svincolarsi da tutte le problematiche derivanti dalla gestione di uno o più server dedicati, dai fermi macchina dovuti alla sostituzione dell’hardware, dalla necessità di aggiornare la configurazione hardware, di configurare una rete con i vari dispositivi per il networking non ha prezzo. E pensare che i principali provider di servizi cloud consentono agli utenti di concentrarsi sulla configurazione software prendendosi carico, a tutto tondo, della gestione delle macchine e degli altri dispositivi virtuali (ne abbiamo parlato, ad esempio, in questi nostri articoli). In questo modo è possibile non solo semplificare la gestione delle macchine concentrandosi soltanto su ciò che conta davvero per il proprio business ma anche contenere i costi in modo significativo (si pagano solo le risorse effettivamente impegnate).

Ciò che sarebbe bene evitare di fare è collegare direttamente un server cloud su IP pubblico: vero è che ogni sistema operativo consente la configurazione di regole firewall più o meno stringenti bloccando i tentativi di connessione su determinate porte ma è altrettanto vero che nel caso in cui si dovessero gestire diverse macchine sul cloud un approccio del genere risulterebbe inevitabilmente sconveniente.

In questi casi si procede creando sul cloud una macchina virtuale sulla quale si andrà a installare un firewall. Tale sistema utilizzerà due schede di rete virtuali: la prima sarà collegata all’IP pubblico (interfaccia WAN) mentre la seconda a uno switch virtuale che si occuperà di gestire il traffico all’interno della LAN allestita sul cloud.

pfSense è una delle soluzioni più famose (il pacchetto base è distribuito come software libero sotto licenza BSD) che permette di configurare un firewall potente, efficace e prestazionale con la possibilità di attivare molteplici controlli oltre a funzionalità di load balancing.
pfSense è uno stateful firewall con controllo granulare e possibilità di funzionare in maniera trasparente, può lavorare come server DHCP per l’assegnazione degli indirizzi IP privati ai dispositivi client, gestire il NAT (Network Address Translation; vedere Aprire porte sul router e chiuderle quando non più necessario), un sistema High Availability per orchestrare il funzionamento di due firewall su due configurazioni cloud differenti, le repliche delle configurazioni firewall con autosostituzione in caso di guasto, DNS dinamici, grafici e report in tempo reale ma soprattutto server OpenVPN (per collegarsi in maniera sicura al proprio data center virtuale sul cloud dalla rete aziendale o da qualunque altro luogo).

A tal proposito nel nostro articolo pfSense consente di creare server OpenVPN ed esportare file per la configurazione automatica dei client, abbiamo brevemente presentato una caratteristica di pfSense che noi abbiamo molto apprezzato ovvero la possibilità di generare in automatico file OpenVPN per la configurazione dei client, senza passaggi aggiuntivi (cosa che quindi possono fare anche collaboratori e dipendenti sprovvisti di specifiche competenze tecniche).

Il software, una volta installato, è completamente configurabile attraverso una chiara interfaccia web e anche per effettuare le configurazioni più elaborate di solito non è necessario agire da riga di comando.

Alcuni provider cloud mettono a disposizione template ovvero immagini di macchine virtuali che contengono già pfSense, preinstallato in configurazione base. È ad esempio il caso di Aruba Cloud.

Il consiglio è quello di creare dapprima uno switch virtuale utilizzando il pannello di amministrazione del provider cloud quindi creare un server cloud con il firewall pfSense installato.

La seconda scheda di rete del server pfSense potrà essere collegata allo switch virtuale e a quest’ultimo si potranno a loro volta connettere tutti i server cloud Linux e Windows che andranno a comporre il proprio data center.

Come configurare pfSense sul cloud, in breve

L’installazione e la configurazione di pfSense su un server cloud sono molto simili alla procedura da seguire in locale. Dopo aver installato pfSense su un server cloud ci si potrà collegare con l’IP pubblico assegnato a tale macchina virtuale inserendolo nella barra degli indirizzi del browser web.

La comparsa dell’errore NET::ERR_CERT_AUTHORITY_INVALID o similari è del tutto normale perché la connessione HTTPS con l’interfaccia web di pfSense usa un certificato digitale auto-generato. Cliccando su Avanzate e chiedendo di proseguire la visita sul sito indicato, apparirà la finestra di login di pfSense.

Dopo aver effettuato il login, pfSense risulterà immediatamente in esecuzione e a destra saranno indicati gli IP sull’interfaccia WAN e LAN.

Come primo passo, suggeriamo di autorizzare il download e l’installazione della versione di pfSense più aggiornata. Se si riscontrassero problemi in fase di aggiornamento di pfSense, suggeriamo di collegarsi via SSH sulla porta 22 utilizzando il client PuTTY.
Dopo aver inserito nome utente e password si dovrà premere il tasto 8 per aprire la shell di pfSense vera e propria quindi impartire il seguente comando:

pfSense-upgrade -4

Successivamente, accedendo al menu Services, DHCP Server, si dovrà impostare un intervallo per l’assegnazione automatica degli IP ai sistemi client compreso nel range indicato in fase di installazione/configurazione di pfSense.

A questo punto, accedendo al menu Firewall, NAT, si possono decidere quali servizi esporre sull’IP pubblico e specificare gli IP locali sulla LAN virtuale e le porte da utilizzare.

Se si volessero esporre le porte 80 e 443 (rispettivamente HTTP e HTTPS) di un server collegato al virtual switch si dovrà anche modificare la porta sulla quale risponde l’interfaccia web di pfSense. Per procedere in tal senso basta accedere alla sezione System, Advanced, Admin Access.

In caso di problemi, suggeriamo di verificare che sulla seconda porta Ethernet della macchina client sia impostato, come indirizzo del gateway, quello del server cloud di pfSense (in questo caso 192.168.1.2).

Dall’interfaccia di pfSense, suggeriamo di provare a cliccare su Diagnostics, Test ports quindi indicare l’IP locale e la porta oggetto del test.

Consigliamo di provare dapprima a scegliere LAN dal menu a tendina Source address. Se pfSense rispondesse con il messaggio Port test to host: INDIRIZZO Port: PORTA successful, provare a scegliere WAN e ripetere il test.
Se si ricevesse il messaggio Connection failed la prima cosa da verificare è proprio l’impostazione del gateway predefinito per la seconda interfaccia di rete (LAN) sul sistema client collegato allo switch virtuale.

Per maggiori informazioni sui problemi più comuni in fase di configurazione di pfSense, è possibile fare riferimento a questo documento di supporto.

In uno dei prossimi articoli dedicati a pfSense vedremo come configurare un server OpenVPN sulla macchina virtuale del firewall così da consentire l’accesso al pannello di amministrazione solo dopo aver stabilito una connessione VPN.

Ti consigliamo anche

Link copiato negli appunti