PfSense Cluster

32
Si è rotto il firewall... ...e adesso?!?! Realizzazione di un firewall in cluster ad alta disponibilità con PfSense F. M. Taurino (CNR/SPIN) – R. Esposito, G. Tortone (INFN Napoli) WS INFN Sicurezza Informatica – Bologna, 16-17 marzo 2010

description

Realizzazione di un firewall in cluster ad alta disponibilità con PfSense

Transcript of PfSense Cluster

Page 1: PfSense Cluster

Si è rotto il firewall......e adesso?!?!

Realizzazione di un firewall in clusterad alta disponibilità con PfSense

F. M. Taurino (CNR/SPIN) – R. Esposito, G. Tortone (INFN Napoli)

WS INFN Sicurezza Informatica – Bologna, 16-17 marzo 2010

Page 2: PfSense Cluster

Perché

● La maggior parte dei client è (o sta per essere inserito) in reti private (192.168, 172.16, 10.)

● Applicazioni “inutili” senza la presenza della Rete (posta imap, storage remoto, calcolo su cluster/grid)

● Per “sicurezza” si intende anche la garanzia di raggiungibilità delle proprie risorse

● Non vogliamo che i nostri utenti subiscano disservizi(e vengano poi da noi a lamentarsi...)

Page 3: PfSense Cluster

PfSense

● Sistema open source basato su FreeBSD 7.x e firewall stateful PF

● Distribuzione compatta, con installazione su hd/cf sotto i 200 megabyte ed eseguibile anche da live cd

● Configurazione semplificata web based mutuata dal progetto M0n0wall

● Funzioni avanzate e supporto a pacchetti aggiuntivi (captive portal, ntop, dual wan, etc)

Page 4: PfSense Cluster

Alta disponibilità

● Fra le caratteristiche salienti di PfSense c'e' il supporto al CARP (Common Address Redundancy Protocol), grazie al quale è possibile realizzare un cluster active/passive di firewall. Cluster di maggiori dimensioni oppure active/active sono allo studio

● Il server primario sincronizza lo stato delle tabelle di PF in tempo reale con il server secondario (pfsync)

● In caso di malfunzionamenti, il secondario acquisisce gli indirizzi ip interni ed esterni del primario senza nessuna interruzione del traffico di rete dei client

Page 5: PfSense Cluster

Occorrente

● Due server di marca (ma anche no...)● Potenza q.b. ai vostri client● Con almeno 3 schede di rete ciascuno

(lan, wan, sincronizzazione)● Preferibilmente doppio alimentatore, hd in raid

1, supporto al controllo remoto tipo IPMI, Drac, Ilo (per i palati fini...)

● Percorso di rete ridondato verso il router (2 switch e qualche cavo...)

Page 6: PfSense Cluster

Struttura

Page 7: PfSense Cluster

Installazione e configurazione

● Inserire il cd● Avanti, avanti, avanti....

● Screenshot e istruzioni assenti per decenza...

● Assegnazione ip alle schede LAN, WAN fisiche via testo

● Firefox su https://ip_scheda_lan

Page 8: PfSense Cluster

Cambiamo il tema...

Il tema pfsense_ng è più semplice(smoo...)

Page 9: PfSense Cluster
Page 10: PfSense Cluster
Page 11: PfSense Cluster

Verifica e configurazione interfacce

Page 12: PfSense Cluster
Page 13: PfSense Cluster

Definizione alias

Etichette mnemoniche per host e network da utilizzare nella definizione delle regole del firewall

Page 14: PfSense Cluster
Page 15: PfSense Cluster

Regole avanzate di NATting

E' possibile definire regole per cui pacchetti provenienti da network 172.16.x destinati a

network pubbliche interne non vengono nattati(client privati e server pubblici sulla stessa rete

fisica)

NB: in questo caso occorre configurare anche il router

Page 16: PfSense Cluster
Page 17: PfSense Cluster
Page 18: PfSense Cluster
Page 19: PfSense Cluster

CARP e sincronizzazione

Oltre a sincronizzare lo stato delle tabelle di PF, PfSense è in grado di sincronizzare anche la

configurazione di alias, regole di firewall e NAT(via XML-RPC), attraverso una interfaccia

dedicata (OPT1, con regole di fw MOLTO open).

Page 20: PfSense Cluster
Page 21: PfSense Cluster
Page 22: PfSense Cluster
Page 23: PfSense Cluster
Page 24: PfSense Cluster

IP virtuali

L'indirizzo IP privato da dare come gateway ai client è virtuale ed assegnato ad una scheda

“CARP”. Lo stesso è per l'indirizzo IP pubblico con cui questi accedono ad Internet.

Bisogna impostare a “0” l'ID degli ip virtuali del server master (e in automatico verranno impostati

a +100 sullo slave).

Vanno cambiate le regole di firewall e NAT per gestire i nuovi indirizzi.

Page 25: PfSense Cluster
Page 26: PfSense Cluster
Page 27: PfSense Cluster
Page 28: PfSense Cluster
Page 29: PfSense Cluster

Sul firewall secondario

● Installare● Configurare LAN, WAN e OPT1● Abilitare il sync● Attendere qualche secondo e verificare se le

impostazioni sono state importate(le password sono le stesse?)

● Dal primario verificare lo stato del CARP

Page 30: PfSense Cluster
Page 31: PfSense Cluster

Prove sul campo

● Con un pc con gateway impostato sull'IP CARP LAN, una sessione ssh aperta su server esterno alla rete locale ed un trasferimento di una grossa iso dal garr....

● ...power off del server primario attraverso la ILO

● ....e dopo un paio di secondi di “pausa” si riprende a lavorare come se nulla fosse accaduto!

Page 32: PfSense Cluster

Inoltre

● PfSense viene utilizzato a Napoli anche come captive portal per la rete wireless e wired degli studenti e come natter per dot1x (su macchina virtuale su host Vmware Esxi)

● Il pacchetto ntop, installabile dall'interfaccia web, si è dimostrato molto utile in più occasioni(top speakers?)

● Si può tirare su un server OpenVPN o IPSec con pochi clic del mouse...