pfSensepfSense® CE è una distribuzione completamente gratuita, open source basata su FreeBSD, customizzata per essere un firewall e router. Oltre ad essere una potente piattaforma firewall e router, essa include una lunga lista di pacchetti che permettono di espandere facilmente le funzionalità senza compromettere la sicurezza del sistema.

pfSense® CE è un progetto abbondantemente testato che conta ormai più di 1.000.000 (fine primo trimestre 2011) di download ed innumerevoli installazioni in tutto il mondo che variano dall'uso domestico fino alla grande azienda, ente pubblico, ministeri ed università.


Funzioni principali

pfSense® CE include quasi tutte le funzionalità dei costosi firewall commerciali ed in molti casi ne include anche di più. Quella che segue è una lista delle funzioni attualmente disponibili nella versione pfSense® CE 2.4.X e 2.5.X (attualmente ancora in versione Beta). Tutte le funzioni che seguono sono gestibili tramite interfaccia web, senza utilizzare la riga di comando.

pfSense® CE supporta, oltre a svariati plugin, anche sistemi cloud di terze parti per il filtraggio dei contenuti web e APP, blocco malware e ramsonware, e altro come kutter.

In fondo a questo articolo, nella sessione Tabella riassuntiva delle caratteristiche pfSense CE 2.4.4 e 2.5.0 potete trovare un riassunto dettagliato delle caratteristiche del prodotto.


State Table (tabella di stato)

La tabella di stato del firewall mantiene informazioni sulle connessioni aperte. pfSense® CE è un stateful firewall, per default tutte le regole sono stateful. Molti firewall non hanno la capacità di controllare la tabella degli stati. pfSense® CE ha numerose funzioni in grado di eseguire un controllo granulare della tabella dello stato, grazie alle caratteristiche di OpenBSD's pf.

  • Regolazione della dimensione tabella dello stato – esistono numerose installazioni di pfSense® CE che usano diverse centinaia di migliaia di stati. Di default la tabella di stato varia in funzione della RAM installata nel sistema, ma può essere aumentata in tempo reale alla dimensione desiderata. Ciascuno stato occupa approssimativamente 1 KB di RAM, quindi questo parametro va tenuto a mente quando si va a dimensionare la memoria.
  • Regole di base:
    • Limiti di connessioni simultanee dei client
    • Limiti dello stato per host
    • Limiti di nuove connessioni al secondo
    • Definire lo stato del timeout
    • Definire il tipo di stato
  • Tipi di stato – pfSense® CE offre numerose opzioni per la gestione dello stato
    • Keep state – Funziona con tutti i protocolli. Di default su tutte le regole
    • Modulate state – Lavora solo con TCP. pfSense® CE genererà dei ISNs (Initial Sequence Numbers) per conto dell'host
    • Synproxy state – i Proxy iniziano le connessioni TCP per aiutare i server da spoofed TCP SYN floods
    • None – Non viene tenuta nessuna voce sullo stato
  • Opzioni di ottimizzazione della tabella di stato – pfSense® CE offre quattro stati per l'ottimizzazione della tabella di stato
    • Normale – default
    • Hight latency – usata per links ad alta latenza, come collegamenti satellitari
    • Aggressive – scadenza dello stato di idle più veloce. Più efficiente usando più risorse hardware, ma può eliminare connessioni corrette
    • Conservative – Cerca di evitare la cancellazione di connessioni corrette a scapito di un maggior utilizzo della CPU e RAM


NAT: Network Address Tranlation

  • Il Port forwards include un ranges e uso di IP pubblici multipli
  • NAT 1:1 per IP individuali o intere subnet
  • Outband NAT
    • Impostato di default, tutto il traffico in uscita verso l'IP della WAN. In configurazioni con WAN multiple, verrà usato il traffico in uscita all'IP dell'interfaccia WAN
    • Advanced Outbound NAT
  • NAT Reflection – in qualche configurazione, NAT Reflection è utilizzato per servizi che possono accedere con IP pubblici da reti interne


NAT Limitation

PPTP / GRE Limitation – Il monitoraggio dello stato delle code in pfSense® CE per il protocollo GRE può solo monitorare una singola sessione per IP pubblico per server esterno. Questo significa se si usano connessioni PPTP VPN, solo una macchina interna potrà connettersi simultaneamente al PPTP server su internet. Migliaia di macchine possono connettersi simultaneamente a migliaia di server PPTP, ma solo uno simultaneamente potrà connettersi a un server PPTP. L'unico modo per aggirare il problema è utilizzare IP pubblici differenti sul firewall, uno per client, o usare ip pubblici multipli per i PPTP server. Questo problema non si ha con connessioni VPN con protocolli diversi. La soluzione a questo problema è attualmente in sviluppo.


Ridondanza

Il protocollo CARP da OpenBSD gestisce l'hadware failover. Due o più gruppi di firewall hardware possono essere configurati come un gruppo di failover. Se un'interfaccia si guasta sul dispositivo primario o il dispositivo primario va offline, il secondo si attiva. pfSense® CE include anche una capacità di sincronizzazione automatica tra il dispositivo primario ed il secondario. pfsync assicura che la tabella di stato del firewall è replicata su tutti firewall inseriti nel failover. Questo significa che le connessioni esistenti saranno mantenute nel caso di failure.


Limitazioni

Funziona solo con IP pubblici statici, non funziona con stateful fileover usando DHCP, PPPoE o PPTP sulla WAN.


Bilanciamento di carico

Bilanciamento di carico in uscita: (Outbound)
Il load balancing in uscita è usato su WAN multiple per fornire il bilanciamento ed il failover. Il traffico è diretto verso un gateway designato o un pool di bilanciamento di carico definito nelle regole di base del firewall.


Inbound Load Balancing

Il bilanciamento di carico in ingresso è usato per distribuire il carico tra vari server. È comunemente usato per con server web, server di posta e altri. I server che non rispondono al ping o connessione TCP su porta definita saranno esclusi dal pool.


VPN

pfSense® CE offre tre tipologie per la connettività VPN, IPsec, OpenVPN, e PPTP.


IPsec

IPsec consente connettività con tutti i dispositivi che supportano lo standard IPsec. Questo è di uso comune nelle configurazioni site to site con altri dispositivi pfSense® CE. Altri firewall open source come m0n0wall e molti altri firewall commerciali come Cisco, Juniper, ecc... la implementano. È usata spesso anche nelle connessioni client mobile.


OpenVPN

OpenVPN è una flessibile, potente soluzione SSL VPN che supporta un ampia gamma di sistemi operativi client. Vedere il sito di OpenVPN per maggiori dettagli.


PPTP Server

PPTP è un sistema VPN molto popolare perché installato su quasi tutti i S.O. client inclusi tutti i sistemi operativi Windows a partire da Windows 95 OSR2. Vedere la documentazione per maggiori informazioni. Il server pfSense® CE PPTP può usare un database locale o un RADIUS server per l'autenticazione. La compatibilità RADIUS è supportata.


PPPoE Server

pfSense® CE offre un server PPPoE. Per maggiori informazioni sul protocollo PPPoE, vedere la documentazione. Gli utenti locali del database posso essere usati per l'autenticazione e l'autenticazione RADIUS con opzioni di accounting è anche supportata.


Report e Monitoraggio

Grafici RRD. I grafici RRD in pfSense® CE forniscono le seguenti informazioni:

  • Utilizzo della CPU
  • Traffico totale
  • Stato del firewall
  • Traffico individuale sulle interfacce
  • Packets per second rates per tutte le interfacce
  • Tempo di risposta al ping del gateway dell'interfaccia WAN
  • Code di traffic shaper sul sistema se il traffic shaper è abilitato


Real Time Information

Le informazioni della storia del sistema sono importanti, ma qualche volta sono più importanti le informazioni real time. I grafici SVG mostrano il traffico in real time per tutte le interfacce. La pagina iniziale include grafici AJAX che mostrano il tempo reale il carico della CPU, memoria, swap e spazio disco usato e la tabella di stato.


DNS Dinamico

Il client di DNS dinamico abilita alla registrazione mediante uno di questi servizi:

  • DynDNS
  • DHS
  • DNSexit
  • DyNS
  • EasyDNS
  • FreeDNS
  • HE.net
  • Loopia
  • Namecheap
  • No-IP
  • ODS.org
  • OpenDNS
  • ZoneEdit


Captive Portal

Il captive portal permette di forzare l'autenticazione o ridirigere il traffico di rete ad una pagina di autenticazione di rete. Questo è comunemente usato nelle connessioni di rete hot spot, ma anche ampiamente usata per livelli di sicurezza aggiuntivi nell'accesso delle reti internet attraverso i sistemi wireless. Per maggiori informazioni sul Captive Portal si veda questa pagina. Quello che segue è una lista di funzioni e caratteristiche del Captive Portal.

  • Connessioni massime concorrenti - Limita il numero delle connessioni concorrenti per ciascun IP client. Questa funzionalità previene gli attacchi DOS
  • Idle timeout – Disconnette i client che non effettuano connessioni per più di un certo numero di minuti
  • Hard timeout – Forza la disconnessione dei client connessi per più di un numero definito di minuti
  • Pop up di logon – Opzione di pop up della finestra con pulsante di disconnessione
  • URL Rediretcion – dopo l'autenticazione gli utenti possono essere rediretti verso una pagina di default definita
  • MAC Filtering – di default pfSense® CE usa il filtraggio indirizzi MAC
  • Opzioni di autenticazione – ci sono tre metodi di autenticazione
  • Nessuna autenticazione: abilita la navigazione senza l'inserimento di nessun dato
  • Utenti locali – il database degli utenti locali può essere configurato e usato per l'autenticazione
  • Autenticazione RADIUS – Questo è il metodo prediletto da aziende, enti ed ISP. Può essere usato con l'autenticazione di Microsoft Active Directory e numerosi altri server RADIUS
  • Capacità di RADIUS
    • Forzare la re-autenticazione
    • Abilitazione all'aggiornamento degli account
    • Autenticazione MAC RADIUS abilita il Captive Portal all'autenticazione dei client usando il MAC address e username e password
  • Accetta configurazioni ridondanti di RADIUS Server
  • http e HTTPS – La pagina del portale può essere configurata sia in http che in https
  • Pass-through MAC and IP addresses – Indirizzi MAC e IP possono essere inseriti in una white list bypassando il portale
  • File manager – Questo permette di caricare delle immagini che possono essere utilizzate nella pagina iniziale del captive portal


DHCP Server and Relay

pfSense® CE include DHCP Server e funzionalità Relay.


Tabella riassuntiva delle caratteristiche pfSense CE 2.4.4 e 2.5.0

Principali Applicazioni:
- VPN Server
- Supporta configurazioni in Alta Affidabilità
- Load Balancing
- Traffic Shaping
- Captive Portal
- UTM Device
- Firewall / Router
- DNS / DHCP Server
- IDS / IPS
- Transparent Caching Proxy
- Web Content Filter
- E molto altro ...

Principali Funzionalità:
Firewall and Router:
- Stateful Packet Inspection (SPI) - GeoIP blocking
- Anti-Spoofing
- Time based rules
- Connection limits
- Dynamic DNS
- Reverse proxy
- Captive portal guest network
- Supporto dei protocolli IPv4 e IPv6
- NAT mapping (inbound/outbound)
- Supporta le VLAN (802.1q)
- Configurable static routing
- IPv6 network prefix translation
- IPv6 router advertisements
- Multiple IP addresses per interface
- DHCP server
- DNS forwarding
- Wake-on-LAN
- PPPoE Server

Gestione VPN:
- Supporto di IPsec e OpenVPN
- Site-to-site and remote access VPN support
- SSL encryption
- VPN client per i principali sistemi operatici: Windows, Apple, Linux
- VPN client (mediante APP OpenVPN) per Android e Apple IOS
- L2TP/IPsec per device mobili
- Multi-WAN for failover
- IPv6 support
- Split tunneling
- Multiple tunnels
- VPN tunnel failover
- NAT support
- Automatic o custom routing
- Local user authentication o RADIUS/LDAP

Intrusion Prevention System:
- Snort-based packet analyzer
- Layer 7 application detection
- Multiple rules sources and categories
- Emerging threats database
- IP blacklist database
- Pre-set rule profiles
- Per-interface configuration
- Suppressing false positive alerts
- Deep Packet Inspection (DPI)
- Optional open-source packages per il blocco di applicazioni.
- Integrazione con il sistema di filtraggio dei contenuti e blocco malware kutter.it

Enterprise Reliability:
- Optional multi-node High Availability Clustering
- Multi-WAN load balancing
- Automatic connection failover
- Bandwidth throttling
- Traffic shaping wizard
- Reserve or restrict bandwidth based on traffic priority
- Fair sharing bandwidth
- User data transfer quotas

Autenticazione utente:
- utenti locali e group database
- User and group-based privileges
- Optional scadenza automatica degli account
- External RADIUS authentication
- Automatic lockout after repeated attempts

Proxy and Content Filtering:
- HTTP and HTTPS proxy
- Non Transparent or Transparent caching proxy
- Domain/URL filtering
- Anti-virus filtering
- Filtraggio malware, ramsonware, virus mediante pacchetto opzionale kutter.it
- Filtraggio contenuti web mediante group policy mediante pacchetto opzionale kutter.it
- SafeSearch for search engines
- HTTPS URL and content screening
- Website access reporting
- Domain Name blacklisting (DNSBL)
- Usage reporting for daily, monthly, etc.

Caratteristiche per gli amministratori di sistema:
Configurazione:
- Configurazione intuitiva mediante interfaccia WEB
- Setup wizard per configurazione iniziale
- Remote web-based administration
- Dashboard completamente personalizzabile
- Semplice Backup/restore della configurazione mediante inrfaccia grafica
- Export/import della configurazione mediante inrfaccia grafica
- Encrypted automatic backup to remote server
- Variable level administrative rights
- Supporto multi lingua
- Aggiornamento firmware semplificato mediante interfaccia grafica
- Forward-compatible configuration
- Serial console for shell access and recovery options

System Security:
- Web interface security protection
- CSRF protection
- HTTP Referer enforcement
- DNS Rebinding protection
- HTTP Strict Transport Security
- Frame protection
- Optional key-based SSH access

Log, audit e monitoraggio:
- Dashboard with configurable widgets
- Local logging
- Remote logging
- Local monitoring graphs
- Real-time interface traffic graphs
- SNMP monitoring
- Notifications via web interface, SMTP, or Growl
- Hardware monitoring: temperature, carichi di lavoro, Raid Status, Salute dei dischi, Occupazione della RAM, ecc...
- Networking diagnostic tools