Introduzione a
pfSense
E’ possibile rendere
sicura la propria
network con un
firewall open source?
Massimo Giaimo aka fastfire
fastfire@fastfire.org
disclaimer
I contenuti di questa presentazione non violano
alcuna proprietà intellettuale e non sono in
contrasto con la vigente legislazione.
Parte del materiale utilizzato è liberamente tratto
e rielaborato da una serie di fonti autorevoli, tutte
puntualmente citate.
I marchi appartengono ai rispettivi proprietari.
Le opinioni qui espresse sono esclusivamente
quelle dell'autore.
# whoami
Responsabile Area Information Technology
presso SIBT (Servizi Informatici Bancari
Trentini)
Blogger (www.fastfire.org)
I marchi appartengono ai rispettivi proprietari.
Involved/Certified
Programma della serata
● origini del progetto pfSense
● installazione di un laboratorio pfSense
● pro e contro della soluzione
● conclusioni
Firewall, questo sconosciuto
(cit. Wikipedia):
… è un componente di difesa perimetrale di
una rete informatica, che può svolgere
funzioni di collegamento tra due o più
tronconi di rete.
Ma non lo fa già il router?
Sì… ma…
ACL vs RULES
Stateless vs Stateful
Layer 3 vs Layer 2/7
Uno nasce per consentire, l’altro nasce per
limitare
ISO/OSI model
Una situazione classica...
Tipologie di firewall
● Stateless firewall (packet filter)
● Stateful firewall (stateful inspection)
● Application firewall (OSI level 7)
● Next-generation firewall
pfSense: le origini
● fork di m0n0wall (IPFilter – embedded
systems – no moduli aggiuntivi)
● FreeBSD 5.3 (nasce pf)
● prima versione di pfSense – 2004
● 4 ottobre 2006 – versione 1.0
● scopo di pfSense: dare “maggior senso” a
pf
pfSense: le origini
pfSense: architetture
Download da www.pfsense.org/download/
Versioni (32/64 bit):
USB Memstick Installer → per pc/server, installazione su hdd
CD Image(ISO) Installer → per pc/server, installazione su hdd
Embedded (NanoBSD) → installazione su flash memory, read
su flash, write su ram
(deprecated in 2.4 version?)
pfSense: rilasci
● Versione stabile (ora 2.3.x)
● Versione sviluppo (ora 2.4.x)
pfSense: installazione
Case: installazione da USB
https://portal.pfsense.org/docs/manuals/reference/create-flash-media.html
dd if=image_file of=/dev/sdX bs=4M
Poi si collega, si accende e… GO!
pfSense: installazione
pfSense: warm up!
pfSense: base functions
Lista non completa
● Stateful inspection
● Layer 2 firewalling capable (bridge)
● NAT (port forwarding, 1:1, outbound, reflection)
● Vpn (OpenVPN, Ipsec)
● High Availability
● Multi-WAN
● Server Load Balancing
● PPoE Server
pfSense: base functions
Lista non completa
● Report and Monitoring (RRD Graphs, RT Info)
● Dynamic DNS
● Captive Portal
● DHCP Server & Relay
● Backup & Restore
● Wake on LAN Management
● Disable filter (router role)
pfSense: other packages
Lista non completa
● Squid
● Freeradius
● vari agents monitoraggio (Zabbix, Nagios)
● HAProxy (tcp/http load balancer)
● Snort e Suricata (IDS)
● Unbound (dns server)
pfSense: enterprise fw?
Certo! Vi racconto una storia...
pfSense: utilities
● Forum (frequentato dai dev)
● Blog (blog.pfsense.org)
● Mailing list
● IRC (#pfsense on Freenode)
● Social Networks
● Documentazione (doc.pfsense.org)
● www.pfsenseitaly.com (unofficial)
https://www.pfsense.org/get-involved/
pfSense University
pfSense Foundamentals and Advanced
Application
2 giorni di corso online
Laboratorio individuale
Lezioni real time
Attestato di fine corso
pfSense Gold Membership
Accesso a AutoConfigBackup
Copia pdf “The pfSense Book”
(costantemente aggiornato)
Accesso alla pfSense Virtual Security
Gateway Appliance for Vmware
Ricezione della pfSense Gold newsletter
Accesso a Hangouts
pfSense Hangouts
Accesso a chi ha Gold Membership
Videoguide mensili su determinati
argomenti
Partecipazione diretta dei dev
Informano sugli ultimi sviluppi
pfSense Store
hardware certificato per pfSense
merchandising
si contribuisce al progetto
pfSense: 2016
Anno di rivoluzioni...
● GUI riscritta utilizzando i bootstrap
● da PBI a pkg
● rimozione vecchi pacchetti (*)
● uscita dal progetto di Chris Buechler (**)
● passaggio da BSD License ad Apache License 2.0
...Questa è una licenza di software libero, compatibile con la versione 3 della
GNU GPL… a protezione dai tranelli brevettuali è importante, e per questo
motivo per programmi di una certa consistenza consigliamo la licenza Apache
2.0 anziché altre licenze permissive. (***)
* https://doc.pfsense.org/index.php/2.3_Removed_Packages
** https://forum.pfsense.org/index.php?topic=115948.0
***https://www.gnu.org/licenses/license-list.it.html
pfSense: futuro (*)
Roadmap:
https://redmine.pfsense.org/projects/pfsense/roadmap
● pfSense 2 & pfsense 3
● si abbandonerà php a favore di python
● riscrittura seguendo i principi dell’architettura REST
(resources separation)
● DPDK (Intel Libraries for fast packet processing)
● pfCenter?
● fork: OPNsense (it makes sense?)
* https://blog.pfsense.org/?p=1588
pfSense: pro
● open source: review del codice
● community: troubleshooting su forum
● contatto diretto con i dev
● azienda solida alle spalle (35 dipendenti)
● all-in-one (se si vuole!)
● si paga solo il supporto (di qualità!)
● flessibilità
pfSense: contro
● Manca una CMI (Central Management
Interface)
● Alcune funzioni poco automatizzate (vpn
config, rule policies)
● Upgrade non sempre indolore
Convinti? Ecco cosa serve!
2.2 & later: multi-thread support
CPU: Atom, Pentium, Celeron… all ok!
RAM: tipologia poco rilevante (ok DDR2), la
quantità è vitale (each connection 1KB…)
state table calcolata sul 10% della RAM (1GB ram →
100000 states)
Configurazione base: 512mb, meglio 1gb
Il discorso cambia con snort, ntop (ram) e squid
(disk I/O)
Convinti? Ecco cosa serve!
CPU: requisiti
Convinti? Ecco cosa serve!
NETWORK: usate (se possibile) schede
Intel
Configurazione base: 2 schede (LAN-WAN)
Ogni subnet in più: 1 scheda in più
Ogni wan in più: una scheda in più
Non dimenticatevi le VLAN!
Per concludere:
best practices!
Regola di default: deny all (a parte LAN)
Punto di vista della regola: inbound (a parte floating
rules)
Meno regole, più semplicità
Utilizzare gli alias
Descrizione delle regole
Documentare e revisionare
Troppi log? Creiamo una regola di deny!
tcpdump amico mio!
Grazie mille per
l'attenzione!
Domande?
Questionario di gradimento:
https://it.surveymonkey.com/r/6KB9JRX
Mail: fastfire@fastfire.org
Twitter: @fastfire
Blog: www.fastfire.org
Download slides:
http://www.slideshare.net/MassimoGiaimo/introduz
ioneapfsense
The slides are written by Massimo Giaimo and are subjected to Creative
Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0). You are free to
copy, distribute, transmit, adapt, sell the work under the following conditions:
Attribution – You must cite the Author. Share alike – If you alter, transform, or
build upon this work, you mai distribute the resulting work only under the same or
similar license to this one.

introduzione_a_pfSense

  • 1.
    Introduzione a pfSense E’ possibilerendere sicura la propria network con un firewall open source? Massimo Giaimo aka fastfire fastfire@fastfire.org
  • 2.
    disclaimer I contenuti diquesta presentazione non violano alcuna proprietà intellettuale e non sono in contrasto con la vigente legislazione. Parte del materiale utilizzato è liberamente tratto e rielaborato da una serie di fonti autorevoli, tutte puntualmente citate. I marchi appartengono ai rispettivi proprietari. Le opinioni qui espresse sono esclusivamente quelle dell'autore.
  • 3.
    # whoami Responsabile AreaInformation Technology presso SIBT (Servizi Informatici Bancari Trentini) Blogger (www.fastfire.org) I marchi appartengono ai rispettivi proprietari. Involved/Certified
  • 4.
    Programma della serata ●origini del progetto pfSense ● installazione di un laboratorio pfSense ● pro e contro della soluzione ● conclusioni
  • 5.
    Firewall, questo sconosciuto (cit.Wikipedia): … è un componente di difesa perimetrale di una rete informatica, che può svolgere funzioni di collegamento tra due o più tronconi di rete.
  • 6.
    Ma non lofa già il router? Sì… ma… ACL vs RULES Stateless vs Stateful Layer 3 vs Layer 2/7 Uno nasce per consentire, l’altro nasce per limitare
  • 7.
  • 8.
  • 9.
    Tipologie di firewall ●Stateless firewall (packet filter) ● Stateful firewall (stateful inspection) ● Application firewall (OSI level 7) ● Next-generation firewall
  • 10.
    pfSense: le origini ●fork di m0n0wall (IPFilter – embedded systems – no moduli aggiuntivi) ● FreeBSD 5.3 (nasce pf) ● prima versione di pfSense – 2004 ● 4 ottobre 2006 – versione 1.0 ● scopo di pfSense: dare “maggior senso” a pf
  • 11.
  • 12.
    pfSense: architetture Download dawww.pfsense.org/download/ Versioni (32/64 bit): USB Memstick Installer → per pc/server, installazione su hdd CD Image(ISO) Installer → per pc/server, installazione su hdd Embedded (NanoBSD) → installazione su flash memory, read su flash, write su ram (deprecated in 2.4 version?)
  • 13.
    pfSense: rilasci ● Versionestabile (ora 2.3.x) ● Versione sviluppo (ora 2.4.x)
  • 14.
    pfSense: installazione Case: installazioneda USB https://portal.pfsense.org/docs/manuals/reference/create-flash-media.html dd if=image_file of=/dev/sdX bs=4M Poi si collega, si accende e… GO!
  • 15.
  • 16.
  • 17.
    pfSense: base functions Listanon completa ● Stateful inspection ● Layer 2 firewalling capable (bridge) ● NAT (port forwarding, 1:1, outbound, reflection) ● Vpn (OpenVPN, Ipsec) ● High Availability ● Multi-WAN ● Server Load Balancing ● PPoE Server
  • 18.
    pfSense: base functions Listanon completa ● Report and Monitoring (RRD Graphs, RT Info) ● Dynamic DNS ● Captive Portal ● DHCP Server & Relay ● Backup & Restore ● Wake on LAN Management ● Disable filter (router role)
  • 19.
    pfSense: other packages Listanon completa ● Squid ● Freeradius ● vari agents monitoraggio (Zabbix, Nagios) ● HAProxy (tcp/http load balancer) ● Snort e Suricata (IDS) ● Unbound (dns server)
  • 20.
    pfSense: enterprise fw? Certo!Vi racconto una storia...
  • 21.
    pfSense: utilities ● Forum(frequentato dai dev) ● Blog (blog.pfsense.org) ● Mailing list ● IRC (#pfsense on Freenode) ● Social Networks ● Documentazione (doc.pfsense.org) ● www.pfsenseitaly.com (unofficial) https://www.pfsense.org/get-involved/
  • 22.
    pfSense University pfSense Foundamentalsand Advanced Application 2 giorni di corso online Laboratorio individuale Lezioni real time Attestato di fine corso
  • 23.
    pfSense Gold Membership Accessoa AutoConfigBackup Copia pdf “The pfSense Book” (costantemente aggiornato) Accesso alla pfSense Virtual Security Gateway Appliance for Vmware Ricezione della pfSense Gold newsletter Accesso a Hangouts
  • 24.
    pfSense Hangouts Accesso achi ha Gold Membership Videoguide mensili su determinati argomenti Partecipazione diretta dei dev Informano sugli ultimi sviluppi
  • 25.
    pfSense Store hardware certificatoper pfSense merchandising si contribuisce al progetto
  • 26.
    pfSense: 2016 Anno dirivoluzioni... ● GUI riscritta utilizzando i bootstrap ● da PBI a pkg ● rimozione vecchi pacchetti (*) ● uscita dal progetto di Chris Buechler (**) ● passaggio da BSD License ad Apache License 2.0 ...Questa è una licenza di software libero, compatibile con la versione 3 della GNU GPL… a protezione dai tranelli brevettuali è importante, e per questo motivo per programmi di una certa consistenza consigliamo la licenza Apache 2.0 anziché altre licenze permissive. (***) * https://doc.pfsense.org/index.php/2.3_Removed_Packages ** https://forum.pfsense.org/index.php?topic=115948.0 ***https://www.gnu.org/licenses/license-list.it.html
  • 27.
    pfSense: futuro (*) Roadmap: https://redmine.pfsense.org/projects/pfsense/roadmap ●pfSense 2 & pfsense 3 ● si abbandonerà php a favore di python ● riscrittura seguendo i principi dell’architettura REST (resources separation) ● DPDK (Intel Libraries for fast packet processing) ● pfCenter? ● fork: OPNsense (it makes sense?) * https://blog.pfsense.org/?p=1588
  • 28.
    pfSense: pro ● opensource: review del codice ● community: troubleshooting su forum ● contatto diretto con i dev ● azienda solida alle spalle (35 dipendenti) ● all-in-one (se si vuole!) ● si paga solo il supporto (di qualità!) ● flessibilità
  • 29.
    pfSense: contro ● Mancauna CMI (Central Management Interface) ● Alcune funzioni poco automatizzate (vpn config, rule policies) ● Upgrade non sempre indolore
  • 30.
    Convinti? Ecco cosaserve! 2.2 & later: multi-thread support CPU: Atom, Pentium, Celeron… all ok! RAM: tipologia poco rilevante (ok DDR2), la quantità è vitale (each connection 1KB…) state table calcolata sul 10% della RAM (1GB ram → 100000 states) Configurazione base: 512mb, meglio 1gb Il discorso cambia con snort, ntop (ram) e squid (disk I/O)
  • 31.
    Convinti? Ecco cosaserve! CPU: requisiti
  • 32.
    Convinti? Ecco cosaserve! NETWORK: usate (se possibile) schede Intel Configurazione base: 2 schede (LAN-WAN) Ogni subnet in più: 1 scheda in più Ogni wan in più: una scheda in più Non dimenticatevi le VLAN!
  • 33.
    Per concludere: best practices! Regoladi default: deny all (a parte LAN) Punto di vista della regola: inbound (a parte floating rules) Meno regole, più semplicità Utilizzare gli alias Descrizione delle regole Documentare e revisionare Troppi log? Creiamo una regola di deny! tcpdump amico mio!
  • 34.
    Grazie mille per l'attenzione! Domande? Questionariodi gradimento: https://it.surveymonkey.com/r/6KB9JRX Mail: fastfire@fastfire.org Twitter: @fastfire Blog: www.fastfire.org Download slides: http://www.slideshare.net/MassimoGiaimo/introduz ioneapfsense The slides are written by Massimo Giaimo and are subjected to Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0). You are free to copy, distribute, transmit, adapt, sell the work under the following conditions: Attribution – You must cite the Author. Share alike – If you alter, transform, or build upon this work, you mai distribute the resulting work only under the same or similar license to this one.