mercoledì 27 novembre 2013

pfSense nel cloud - parte 2

Nel precedente articolo abbiamo visto come configurare pfSense in ambiente cloud quando non si ha a disposizione la possibilità di connettersi all'interfaccia di gestione lato LAN. 
Sicuramente è un metodo interessante ma si può fare di meglio perché nessuno ci vieta di creare un bel template OVF di una macchina virtuale da poter impiegare ogni volta che ce ne sia bisogno senza dover armeggiare con la modifica manuale del file di configurazione.
Nel nostro esempio utilizzeremo un ambiente VmWare ESXi 5.1 per realizzare e successivamente esportare la nostra macchina virtuale.

Per prima cosa dobbiamo definire le caratteristiche hardware. Generalmente un installazione con 1 CPU, 4 GB di spazio disco, 1 GB di RAM e due schede di rete è più che sufficiente. Quindi procediamo con la creazione del nostro hardware virtuale e con l'installazione di base di pfSense.


Nel nostro esempio daremo per consolidata la procedura di installazione in ambiente virtuale di pfsense.

Terminata l'installazione della macchina virtuale iniziamo il nostro processo di configurazione cercando di modificare aolo i parametri che sicuramente accomuneranno tutte le nostre installazioni.

Il nostro scopo è quello di creare un template che abbia le seguenti caratteristiche:
  1. possibilità di dare accesso al immediato ad internet
  2. console di gestione accessibile sulla WAN
  3. vmware tools installati
Pertanto accediamo al pfsense appena creato ed iniziamo il setup delle impostazioni di base.

Selezioniamo il menù System > General Setup
Per prima cosa impostiamo due DNS pubblici, in questo caso utilizzeremo quelli di Google: 8.8.8.8 e 8.8.4.4


Nel mio esempio ho impostato anche la time zone e un time server, io sono solito utilizzare time.ien.it

Ora passiamo alla sezione System > Advanced ed andiamo a spuntare le seguenti voci: Disable DNS Rebinding Checks e Disable HTTP_REFERER enforcement check


Dopo aver salvato possiamo passare al menù Interfaces > WAN, qui dobbiamo rimuovere la spunta da Block Private Networks poichè molti ambienti virtuali o cloud assegnano degli IP privati anche lato WAN andando poi ad impostare un NAT 1:1 degli IP pubblici assegnati ai clienti con gli IP privati delle VM.

Il passaggio successivo potrebbe essere considerato superfluo ma per abitudine e per semplificarmi il lavoro faccio un discreto uso degli alias pertanto nel mio template ho creato anche degli alias che uso normalmente.

Accediamo a Firewall > Aliases e creiamo i seguenti alias:

BLACKLIST = Conterrà particolari indirizzi IP che voglio bloccare
SRV_FW = Conterrà l'indirizzo IP dell'interfaccia di amministrazione di pfSense. Nel nostro caso 127.0.0.1 andrà bene e ci permetterà di accedere a pfSense qualsiasi sia l'ip che andremo ad assegnare alla LAN


Ora possiamo dedicarci al NAT che ci consentirà l'accesso all'amministrazione anche sull'interfacccia WAN
Selezioniamo Firewall > NAT e creiamo una regola di NAT così definita:


Interface: WAN
Protocol: TCP
Source Address: any
Source Port: any
Destination Address: WAN Address
Destination Ports: 443 (stiamo supponendo che si stia usando https come protocollo di admin)
NAT IP: SRV_FW (è l'alias creato al passaggio precedente)
NAt Ports: 443
Description: pFsense Admin

Se tutto è stato fatto ne modo corretto avremo già anche la nostra regola di firewall collegata.

Selezioniamo Firewall > Rules > WAN

Dovremmo già trovare la regola creata in automatico dal NAT, creiamo un ulteriore regola che utilizzeremo per bloccare IP indesiderati. La regola dovrà essere la prima della lista.

Action: Reject (se vi state chiedendo perchè non metta Block provate a leggere quest'articolo: Drop vs Reject)
Interface: WAN
Protocol: any
Source Address: BLACKLIST
Source Port: any
Destination Address: any
Destination Ports: any
Description: Blocco IP indesiderati

Ora impostiamo anche le regole di firewall per l'interfaccia LAN
Selezioniamo Firewall > Rules > LAN


In questa sezione andremo a creare solo la regola di default che permette a tutto il traffico in uscita di passare.

Interface: WAN
Protocol: any
Source Address: LAN net
Source Port: any
Destination Address: any
Destination Ports: any

Trattandosi di una macchina virtuale, non dobbiamo dimenticare di installare il package dei Vmware Tools
Accediamo a System > Packages e cerchiamo il package Open-VM-Tools e procediao all'installazione.


Ora la nostra macchina virtuale è pronta e non ci resta altro che esportarla in formato OVF

Per compiere quest'operazione possiamo utilizzare il vSphere Web Client, selezioniamo l'host di riferimento e poi la macchina virtuale che vogliamo esportare. 
Clicchiamo con il tasto destro e selezioniamo All vCenter Actions > Export OVF Template


Apparirà un pop-up in cui andremo ad indicare il nome del template, delle note ed il percorso in cui vogliamo che venga salvato il template.

Terminata l'operazione di export avremo ottenuto tre files:
  • pfSense_2.1_64bit.OVF = file di definizione della VM
  • pfSense_2.1_64bit.VMDK = la VM vera e propria
  • pfSense_2.1_64bit.MF  = il file manifest della VM
Per chi fosse interessato ad un template pronto all'uso può scaricare il template pfSense_2.1_64bit che ho realizzato per quest'articolo.
Posta un commento