venerdì 15 novembre 2013

pfSense nel cloud - parte 1

La diffusione del Cloud Computing ha fatto si che pfSense, grazie alle doti di stabilità e professionalità, si sia guadagnato uno dei primi posti tra le soluzioni firewall più utilizzate in ambiente cloud. 
Giusto per citare alcuni Cloud Service Provider che mettono a disposizione pfSense come soluzione firewall troviamo: cloud.it, assocloud.it, claranet.com, fuseapp.com ecc...
In molti casi il Service Provider fornisce un template già preconfigurato che necessità di pochi interventi per essere reso operativo ma, può capitare di non avere a disposizione un templete pronto all'uso e di dover adoperarsi per configurare la propria soluzione partendo dall'installazione base.
Se all'interno della nostra infrastruttura in cloud non abbiamo macchine dotate di interfaccia grafica che permettano l'esecuzione di un browser la faccenda può complicarsi.

In quest'articolo vedremo come attivare pfSense 2.1 in cloud e come modificare la configurazione direttamente dalla shell di pfsense per poterne prendere il controllo da remoto.

Normalmente terminata l'installazione siamo soliti effettuare le quattro configurazioni di base attraverso la console di pfsense in modo da assegnare le interfacce ed attribuirgli un ip.
Il secondo passaggio è collegarsi con un browser all'indirizzo IP della LAN per iniziare a configurare il resto dei parametri.
Nel nostro caso supporremo di non aver accesso ad browser sulla rete LAN e pertanto di dover operare le prime configurazioni di base dalla shell di pfsense per consentirci l'accesso via browser dalla WAN.


Per prima cosa dopo aver assegnato le nostre interfacce ed aver attribuito loro un IP, selezioniamo il menù numero 8 per acchedere alla Shell.

Ora dobbiamo effettuare le seguenti operazioni che ci consentiranno un accesso temporaneo dalla WAN del firewall:
  1. Effettuare il backup della configurazione;
  2. Disattivare il blocco sulle private network lato WAN;
  3. Disattivare il DNS Rebind Checks;
  4. Disattivare HTTP_REFERER enforcement;
  5. Ricaricare la configurazione;
  6. Disattivare il firewall;

Effettuare il backup della configurazione

Per prima cosa ci portiamo nella cartella contenente la configurazione del firewall. La configurazione di pfsense è memorizzata nel file config.xml che si trova nella cartella /conf.

Digitiamo i seguenti comandi:
cd..
cd conf
cp config.xml config.old

A questo punto abbiamo creato una copia dei backup e possiamo procedere alla modifica della configurazione. Per modificare la configurazione editeremo direttamente il file config.xml con l'editor testuale vi

Digitiamo i seguenti comandi:
vi config.xml

Disattivare il blocco sulle private network lato WAN

Ora dobbiamo cercare la riga <blockpriv/> che dovremo eliminare per permettere anche ip privati sull'interfaccia WAN

Premiamo ESC e digitiamo /blockpriv per cercare la stringa all'interno del testo.
Il cursore si posizionerà sulla riga <blockpriv/>
digitiamo dd per eliminare l'intera linea.

Disattivare il DNS Rebind Checks ed HTTP_REFERER enforcement

Ora dobbiamo inserire i comandi per disattivare il DNS Rebind Checks e HTTP_REFERER, per farlo cerchiamo la sezione <webgui>

Premiamo ESC e digitiamo /webgui
il cursore si posizionerà su <webgui> digitiamo n per portarci su <webgui/> ora portiamoci all'inizio della riga premiamo i e poi invio per inserire una riga nuova prima di <webgui/>
Posizioniamoci sulla riga appena inserita e digitiamo <nodnsrebindcheck/> ora diamo invio e a capo inseriamo <nohttpreferercheck/>

A questo punto le modifiche sono terminate e non ci resta che salvare il file, premiamo ESC e digitiamo :wq per salvare ed uscire. Possiamo anche uscire dalla cartella conf e tornare alla route del sistema digitando cd ..

Ricaricare la configurazione

Ora la nostra configurazione è pronta per essere caricata, per prima cosa eliminiamo la configurazione in cache digitando il seguente comando rm /tmp/config.cache

Eliminata la cache non ci resta che ricaricare la configurazione digitando /etc/rc.reload_all

Disattivare il firewall

A questo punto è venuto il momento di disabilitare temporaneamente il firewall in modo da poter accedere alla web gui direttamente dall'interfaccia LAN
Per disattivare il firewall è sufficiente digitare pfctl -d

Terminata quest'operazione la web gui del nostro firewall sarà accessibile dall'interfaccia wan e potremo pertanto completare la configurazione senza problemi. Concluse tutte le operazioni occorre ricordarsi di riattivare il firewal digitando pfctl -e oppure riavviando il firewall.

Approfondimento su VI


L'editor VI (visual editor) è il più diffuso nell'ambiente UNIX e Linux.
La versione GNU di VI si chiama VIM, (Vi IMproved) ed è quella comunemente usata nelle distribuzioni Linux.
Per aprire vi ed editare un nuovo file basta digitare vi oppure vi nomefile nel secondo caso, se il file esiste viene aperto, se non esiste viene creato nuovo.

VI ha due modalità di funzionamento: il modo comando (command) e il modo inserimento (input).
In modalità inserimento ogni parola verrà inserita direttamente nel file. E' possibile usare molti comandi per entrare in questa modalità il più comune è i (insert). Entrare in modalità comando è possibile in qualsiasi momento premendo il tasto ESC, ogni lettera verrà interpretata come un comando. 

Salvare e uscire
ZZ salvare e uscire
:w salvare
:w <file> salvare in altro file con il nome desiderato
:wq salvare e uscire
:q se non sono state effettuate modifche usce senza salvare
:q! uscita incondizionata

Comandi di copia e incolla
yy copia la riga corrente
y2 <giu> copia 2 righe sotto la posizione in cui si trova il cursore
p incolla il testo nel punto dove si trova il cursore

Cancellare righe o caratteri
x cancella il carattere in cui si trova il cursore
X cancella il carattere alla sinistra del cursore
D cancella tutto quello che si trova alla sinistra del cursore fino alla fine della riga
dd cancella la riga in cui si trova il cursore
3dd cancella 3 righe partendo dalla quella in cui si trova il cursore
dG cancella dalla posizione in cui si trova il cursore fino alla fine del file
d1G cancella dalla posizione in cui si trova il cursore fino all'inizio del file

Spostarsi nel file
^ inizio della riga corrente
$ fine della riga corrente
G fine del file
1G inizio del file

Ricerca e sostituzione del testo
/<testo> cerca il testo dalla posizione corrente verso il basso
?<testo> cerca il testo dalla posizione corrente verso l'alto
u annulla l'ultima modifica effettuata
U annulla l'ultimo annullamento
. ripete l'ultimo comando

Scarica la VI Quick Reference Basic Commands
Posta un commento