| HT blog
pfSense - Firewall con Captive Portal
di Daniele Salvatore Albano
L'apparato doveva essere fornito in tempi brevi perché era parte di una fornitura hardware e software che una ditta con cui lavoro di tanto in tanto stava ultimando. Loro in realtà avevano già cercato tra i propri fornitori qualche prodotto che rispettasse i requisiti minimi, ma purtroppo non erano riusciti a trovare nulla a prezzi contenuti (eh già, purtroppo il risparmio è sempre la prima cosa che si guarda).
Inizialmente avevo pensato di sviluppare io il sistema, utilizzando PHP e una distribuzione linux, Gentoo o Fedora, che sarebbe andato a interfacciarsi con il firewall (iptables) per sbloccare i mac address/ip dopo una corretta autenticazione e che si sarebbe andato a interfacciare con le librerie pcap (Packet Capture) per disconnettere l'utente dopo un tot d'inattività. A causa dei tempi stretti ho dovuto lasciar perdere! Non nego che mi sarebbe piaciuto iniziare un lavoro del genere perché sicuramente si sarebbe rivelato intricato e avrebbe richiesto un'analisi avanzata oltre a una progettazione ben ponderata.
Dopo un po' di ricerche sono venuto a scoprire che quello che volevo fare, come ho detto prima, era conosciuto come Captive Portal, tecnica utilizzata, ad esempio, dagli Hot Spot wireless per abilitare gli utenti, dopo l'inserimento di un codice di accesso, a navigare su internet o reti private.
La cosa che poi mi ha fatto piacere è stato scoprire la distribuzione ZeroShell che, anche se ancora in beta, è un lavoro tutto italiano. Purtroppo la distribuzione si è rivelata un po' complicata da utilizzare e con l'aggiunta che aveva pure qualche piccolo problema di funzionamento riguardo al Captive Portal, sono stato costretto a metterla da parte, ma spero comunque di poterla riprendere in mano di nuovo!
Durante le ricerche ho scoperto anche dell'esistenza della ben più affidabile MonoWall (o m0n0wall) e della sua derivata pfSense, che mi è sembrata robusta e affidabile soprattutto perché basata su FreeBSD 6.2, anche se a breve uscirà la release 1.3 basata su FreeBSD 7.0!
Che dire, mi sono subito innamorato di questo sistema perché è veramente intuitivo, semplice da usare e, lo bisogna dirlo, il frontend web ha una grafica davvero accattivante: nell'arco di venti minuti l'ho installata e configurata su un server IBM per funzionare da firewall con il supporto a DHCP, server DNS collegato al server DHCP, Captive Portal, Proxy con SquidGuardian e una DashBoard interattiva con le statistiche generali della macchina.
La distribuzione la potete trovare all'indirizzo
http://www.pfsense.com/
mentre la documentazione è possibile visionarla sul wiki
http://doc.pfsense.org/index.php/Main_Page
anche se comunque, essendo derivata da m0n0wall, è possibile utilizzare anche la documentazione della distribuzione da cui deriva.
Qui potete vedere qualche screenshot:
Sicuramente è d'interesse il fatto che il sistema d'inizializzazione è stato interamente scritto sfruttando PHP, come la distribuzione da cui deriva, permettendo, ad esempio, di sfruttare i file XML come base dati per la configurazione o un database esterno con facilità. Il sistema è totalmente configurabile ed interfacciabile e permette di caricare file php personalizzati per svolgere specifiche funzioni e/o operazioni che possono essere caricati sulla macchina tramite il servizio Captive Portal per svolgere specifiche operazioni!
Al seguente indirizzo è possibile visionare un bell'articolo che spiega come metter su un Firewall con tanto di DMZ
http://www.pluto.it/files/journal/pj0704/pfsense.html
Se qualcuno dovesse essere interessato, è possibile mettere la distribuzione anche su apparati embedded, infatti, basta una CompactFlash da almeno 128MB, 128MB di memoria e un processore di almeno 100 Mhz, anche se comunque considerando ormai i costi ridotti una CompactFlash da 256MB, 256MB di memoria e almeno un 400 Mhz non guasterebbero! Ovviamente nel caso di un sistema embedded è possibile sfruttare la porta seriale (RS-232) per accedere all'interfaccia interna normalmente disponibile sulla console di sistema.
Nell'indirizzo che segue, è possibile visionare un elenco di rivenditori hardware che trattano sia macchine embedded sia macchine pre-installate con pfSense
http://www.pfsense.org/index.php?option=com_content&task=view&id=44&Itemid=50
L'unica nota dolete è che freebsd ha un supporto all'hardware wireless abbastanza limitato, però se si decide di costruire un bell'hotspot casalingo, economizzando, non dovete far altro che mettere insieme un vecchio computer e istallarci una scheda wireless supportata o collegare il cavo LAN a un normale access point senza abilitare crittografia o altro.
Concludo il mio primo (lungo) post come nuovo editore del blog di HostingTalk.it!
Powered by Disqus