Top Banner
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
32

PfSense Cluster

May 25, 2015

Download

Technology

Realizzazione di un firewall in cluster ad alta disponibilità con PfSense
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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...