Installazione e Configurazione di pfSense
Introduzione a pfSense
pfSense è un sistema operativo open source basato su FreeBSD progettato per fungere da firewall, router e piattaforma di sicurezza di rete. È ampiamente utilizzato sia in ambienti domestici sia aziendali per proteggere le reti, gestire traffico e configurare regole avanzate di sicurezza.
Installazione di pfSense
L’installazione di pfSense può essere fatta su hardware dedicato, macchine virtuali o appliance. Ecco i passi principali:
- Scarica l’immagine ISO di pfSense dal sito ufficiale https://www.pfsense.org/download/
- Crea un supporto di installazione (USB/DVD) con l’immagine ISO
- Avvia il sistema dal supporto e segui la procedura guidata di installazione
- Configura le interfacce di rete (WAN, LAN)
- Accedi all’interfaccia web per completare la configurazione iniziale (default https://192.168.1.1)
Durante l’installazione puoi scegliere la modalità e le impostazioni base, quindi configurare tutte le funzionalità avanzate tramite l’interfaccia web.
Configurazione del Firewall NAT su pfSense
Il NAT (Network Address Translation) consente di tradurre gli indirizzi IP tra la rete interna e quella esterna. Ecco come configurare il NAT:
- Accedi all’interfaccia web di pfSense
- Vai su Firewall > NAT
- Seleziona la scheda Port Forward per creare regole di port forwarding
- Clicca su Add per aggiungere una nuova regola
- Configura le opzioni richieste, ad esempio:
- Interfaccia di origine (es. WAN)
- Porta pubblica (es. 8080)
- Indirizzo IP e porta interna della macchina a cui inoltrare
- Salva e applica le modifiche
Puoi anche configurare il NAT Outbound per regolare il traffico uscente dal firewall.
Configurazione di HAProxy su pfSense
HAProxy è un software per il bilanciamento del carico (load balancing) e proxy TCP/HTTP ad alte prestazioni. Per configurarlo su pfSense:
- Installa il pacchetto HAProxy dal menu System > Package Manager > Available Packages
- Vai su Services > HAProxy dopo l’installazione
- Crea uno o più backend definendo i server reali (es. VM o server interni)
- Configura uno o più frontend che definiscono come HAProxy riceve il traffico in ingresso
- Imposta regole di bilanciamento, health checks e opzioni SSL se necessario
- Salva e applica le impostazioni
Configurazione di pfBlockerNG su pfSense
pfBlockerNG è un pacchetto che estende le funzionalità di pfSense permettendo di bloccare traffico in base a geolocalizzazione, liste di blocco IP, DNS filtering e altro.
- Installa pfBlockerNG dal Package Manager di pfSense
- Vai su Firewall > pfBlockerNG
- Configura le liste IP, domini e altre regole da bloccare o permettere
- Configura aggiornamenti automatici e reporting
- Salva e applica la configurazione
Nota: pfBlockerNG è disponibile solo su pfSense, non è disponibile come pacchetto separato su Debian.
File di Configurazione di pfSense
I file di configurazione più importanti di pfSense sono:
/cf/conf/config.xml
: file principale con tutta la configurazione del sistema
/tmp/rules.debug
: regole del firewall attive
/var/dhcpd/etc/dhcpd.conf
: configurazione DHCP
/var/etc/openvpn/
: configurazioni OpenVPN
/var/unbound/unbound.conf
: configurazione DNS Resolver (unbound)
Per sicurezza, modificare la configurazione direttamente è sconsigliato, meglio utilizzare l’interfaccia web. Puoi fare backup e ripristino da Diagnostics > Backup & Restore.
1. Accesso al Terminale
Collegarsi via SSH o tramite la console fisica. Se viene mostrato un menu numerico, premere
pkg update && pkg upgrade">8
per accedere alla shell.
2. Controllo e aggiornamento pacchetti
pkg update && pkg upgrade">
Questo aggiorna solo i pacchetti FreeBSD. Non aggiorna il sistema pfSense.
3. Aggiornamento completo di pfSense
pkg update && pkg upgrade">pfSense-upgrade
Questo comando aggiorna tutto il sistema, inclusi kernel, PHP e interfaccia web.
4. Problemi comuni durante l'aggiornamento
File man mancanti: possono apparire errori come "missing file /usr/local/man/man3/..." durante l'upgrade. Non sono critici, si riferiscono solo alla documentazione.
Errore: Cannot delete vital package: php82
Significa che pfSense impedisce la rimozione di PHP perché è essenziale per il funzionamento. Non forzare la rimozione.
5. Avviso PHP e repository
Se compare questo messaggio:
pkg update && pkg upgrade">WARNING: Current pkg repository has a new PHP major version...
Significa che i repository sono passati a PHP 8.3, mentre la tua versione di pfSense (2.7.2) usa ancora PHP 8.2.
Soluzioni:
6. Verifica della versione corrente
pkg update && pkg upgrade">cat /etc/version
cat /etc/platform
cat /etc/version.buildtime
La tua versione corrente: 2.7.2-RELEASE (CE)
7. Riepilogo comandi utili
- Accedere alla shell: premere
pkg update && pkg upgrade">8
- Aggiornare pacchetti:
pkg update && pkg upgrade
- Aggiornare pfSense:
pfSense-upgrade
- Controllare versione:
cat /etc/version
8. Fonti e supporto
Per aggiornamenti e annunci ufficiali:
Monitorare la Porta 5060 del Traffico VoIP in pfSense
Questo manuale spiega come monitorare il traffico VoIP sulla porta 5060 utilizzando gli strumenti disponibili in pfSense.
1. Logging del Firewall
- Accedi all'interfaccia web di pfSense.
- Vai su Firewall > Rules.
- Seleziona l'interfaccia (es. WAN o LAN).
- Aggiungi una nuova regola con i seguenti parametri:
- Protocollo: TCP/UDP
- Porta di destinazione: 5060
- Azione: Pass
- Log: Abilita la registrazione della regola
- Salva e applica le modifiche.
2. Grafici del Traffico in Tempo Reale
Vai su Status > Traffic Graph per visualizzare il traffico in tempo reale su un'interfaccia. Questo strumento non mostra la porta specifica, ma consente di avere una panoramica generale.
3. Packet Capture
- Vai su Diagnostics > Packet Capture.
- Configura i seguenti parametri:
- Interfaccia: WAN o LAN
- Porta: 5060
- Count: Vuoto (per catturare tutto)
- Clicca su Start.
- Scarica il file .pcap per analizzarlo con Wireshark.
4. Monitoraggio con Snort o Suricata (opzionale)
- Vai su System > Package Manager.
- Installa Snort o Suricata.
- Configura un'interfaccia da monitorare.
- Aggiungi regole per ispezionare il traffico SIP sulla porta 5060.
- Consulta i log degli allarmi generati in Services > Snort / Suricata.
5. Considerazioni Finali
- Assicurati che i permessi e le policy del firewall non blocchino il traffico SIP.
- Puoi anche utilizzare strumenti di monitoraggio esterni come Zabbix o Grafana per integrazioni avanzate.
Nota: la porta 5060 è la porta standard per il protocollo SIP (Session Initiation Protocol), comunemente usato nelle comunicazioni VoIP.
Pulizia e Gestione dello Spazio Disco in pfSense (con pfBlockerNG)
Questo manuale fornisce una guida dettagliata per liberare spazio su un sistema pfSense che utilizza ZFS e ha attivo il pacchetto
pfBlockerNG. Le istruzioni sono pensate per un amministratore che vuole mantenere il sistema pulito, stabile e
performante, evitando inutili accumuli di file di log o snapshot ZFS non necessari.
1. Analisi dello spazio occupato
Per identificare le directory che occupano più spazio, è utile usare il comando du
:
du -sh /*
du -sh /var/*
du -sh /usr/*
Oppure, per vedere le directory più pesanti in assoluto:
du -ah / | sort -rh | head -n 10
Nel caso di ZFS, il comando consigliato è:
zfs list
2. Pulizia dei log di pfBlockerNG
pfBlockerNG può generare molti log. Per liberare spazio:
- Vai in Firewall > pfBlockerNG > Update e clicca su Force Reload - All
- Pulisci i log DNSBL manualmente da terminale se occupano troppo spazio:
rm -rf /var/db/pfblockerng/dnsbl/*
+
3. Pulizia generale dei log di sistema
Puoi rimuovere i log di sistema se non necessari:
rm -rf /var/log/*
rm -rf /var/crash/*
/etc/rc.restart_logging
Controindicazioni: potresti perdere log utili per la diagnostica.
4. Pulizia directory /usr/local/logs/
Questa cartella può contenere log di altri pacchetti come pfBlockerNG, Suricata o Snort.
Visualizza dimensioni cartelle del 2024:
du -sh /usr/local/logs/2024*
Rimuovere directory obsolete dell'anno 2024:
find /usr/local/logs/ -maxdepth 1 -type d \
\( -name '2024' -o -name '2024-*' \) -exec rm -rf {} +
Rimuovere directory specifiche del 2025-01:
find /usr/local/logs/ -maxdepth 1 -type d -name '2025-01*' -exec rm -rf {} +
Nota importante: assicurarsi che nessun servizio stia scrivendo in quelle cartelle prima della rimozione.
5. Snapshot ZFS
Se usi ZFS, verifica la presenza di snapshot che possono occupare spazio:
zfs list -t snapshot
Per rimuovere snapshot:
zfs destroy zroot/ROOT/default@nome_snapshot
6. Pulizia della cache dei pacchetti
Comando per liberare cache inutilizzata:
pkg clean -a
7. Considerazioni finali e automazione
- Evita l’accumulo futuro configurando retention policy nei pacchetti.
- Pianifica eventuali script di pulizia automatica via cron.
- Controlla periodicamente con
du
o zfs list
.
Commenta o chiedi informazioni