Sei sulla pagina 1di 34

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.

Potrebbero piacerti anche