Si chiama captive portal quella speciale pagina che accoglie l’utente e richiede di specificare, ad esempio, un username ed una password in fase di connessione ad una rete WiFi. Se si è gestori di un hotel, di un bar o, più in generale, di un pubblico esercizio, è frequente la necessità di creare un hotspot WiFi protetto, appunto, da un captive portal.
Per poter accedere alla rete WiFi, gli utenti dovranno autenticarsi e, comunque, accettare le condizioni d’uso del servizio wireless.
Molteplici sono le soluzioni software per raggiungere l’obiettivo: un primo approccio potrebbe essere l’utilizzo di un router WiFi che possa essere aggiornato a DD-WRT, uno speciale firmware che ne modifica e ne estende enormemente le funzionalità.
In alternativa, è possibile servirsi di un sistema, connesso alla propria rete locale, che provveda a gestire autonomamente la procedura di autenticazione degli utenti della WiFi.
Hotspot DD-WRT e HotSpotSystem
Il firmware di un dispositivo qual è un router può essere pensato come un “programma” integrato capace di interagire con i vari componenti hardware. In apparati di media complessità quali sono i router, il termine firmware ha un significato più ampio stando ad indicare anche il vero e proprio sistema operativo preinstallato nel dispositivo. Tutti i moderni router dispongono di una comoda interfaccia web che, accessibile semplicemente ricorrendo al browser, permette di gestire in modo agevole la configurazione del device e regolare in profondità il suo comportamento.
Quando si acquista un router, di qualunque marca, questo utilizza di default un firmware (da mantenere possibilmente aggiornato nel corso del tempo attraverso l’applicazione degli update ufficiali) sviluppato dai tecnici dell’azienda produttrice.
Talvolta, però, alcune interessanti funzionalità non sono implementate direttamente all’interno del firmware ufficiale: un prodotto a costo zero quale DD-WRT consente di abilitare caratteristiche di grande interesse per gli utenti più esperti (routing statico, gestione di reti VPN, esecuzione di operazione su base programmatica e così via).
Se si dispone di un router ormai fuori garanzia e si volessero saggiare i vantaggi derivanti dall’impiego di DD-WRT, è sufficiente fare riferimento al sito web ufficiale del progetto per ottenere tutte le informazioni del caso.
In particolare, la prima operazione da effettuare, consiste nel cercare il modello del proprio router all’interno del database di DD-WRT (ved. questa pagina). Digitando il modello del dispositivo di cui si è in possesso, è possibile stabilire immediatamente se tale router sia o meno supportato da DD-WRT. Alcuni router, ad esempio quelli equipaggiati con il chipset Marvell, non supportano in nessun modo l’installazione del firmware DD-WRT.
– Prima di installare il firmware DD-WRT è sempre necessario effettuare un hard reset del router. Così facendo si perderanno tutte le configurazioni personalizzate precedentemente applicate al dispositivo. L’operazione di hard reset si concretizza nella cosiddetta procedura 30/30/30.
Illustrata dettagliatamente a questo indirizzo, può essere riassunta in tre passi: il primo, consiste nella pressione del pulsante “reset” del router per un periodo di tempo pari a 30 secondi; in seconda battuta – sempre tendendo premuto il pulsante “reset” del router – si dovrà scollegare il dispositivo per 30 secondi; infine, come ultimo passo, si dovrà ricollegare il device alla rete elettrica continuando a mantenere premuto il tasto di “reset” per ulteriori 30 secondi. La medesima prassi deve essere applicata prima e dopo qualunque upgrade o downgrade del firmware. Infine, non si debbono mai usare file di backup della configurazione che siano stati generati con differenti versioni del firmware adottato.
Prima di procedere, suggeriamo di controllare le pagine di supporto che sono state create dagli autori di DD-WRT sul sito web del progetto (ved. il Wiki ufficiale).
Per installare DD-WRT sul proprio router sovrascrivendo il firmware preinstallato, si dovrà accedere al pannello di controllo web (esempio: http://192.168.1.1
o http://192.168.0.1
), digitare le credenziali d’accesso corrette, portarsi nella sezione Amministrazione (l’esatta denominazione potrebbe differire da un modello di router all’altro), selezionare Aggiornamento software od Aggiornamento firmware e selezionare il file .bin
di DD-WRT scaricato dal sito ufficiale del progetto.
L’operazione di caricamento del firmware di DD-WRT potrebbe durare diversi minuti. E’ importante non interrompere per nessun motivo l’operazione ed assicurarsi, prima di effettuarla, ancora una volta, di aver seguito tutti i suggerimenti pubblicati sul sito web di DD-WRT.
Al termine dell’aggiornamento, non appena verrà confermata l’avvenuta operazione, si dovrà effettuare nuovamente la procedura di hard reset 30/30/30 precedentemente riassunta.
A questo punto, si potrà accedere al pannello di amministrazione di DD-WRT digitando, tipicamente, l’indirizzo http://192.168.1.1
nel browser web.
Al primo accesso in DD-WRT verrà richiesto di modificare le credenziali d’accesso usate per l’ingresso nel nuovo pannello di amministrazione del router:
Nei campi Router Username e Router Password si dovranno specificare, rispettivamente, un nome utente ed una password, sufficientemente lunga e complessa, per accedere all’interfaccia di amministrazione di DD-WRT. La medesima password dovrà essere ovviamente ripetuta nel campo Re-enter to confirm.
Una volta installato DD-WRT sul proprio router WiFi, si dovrà fare clic sulla scheda Services quindi selezionare Hotspot.
Attivando la funzionalità di hotspot sul router ed usufruendo del servizio HotSpotSystem, ad ogni utente che si collegherà alla WiFi verrà visualizzata la pagina captive portal con le indicazioni e la richiesta di login.
Le pagine ottenibili, tra le quali è possibile scegliere, sono pubblicate a questo indirizzo.
I vari campi visualizzati nella sezione relativi ad HotSpotSystem dovranno essere opportunamente compilati.
In particolare, nel campo Operator username va specificato il nome utente del proprio account, creabile facendo riferimento a questa pagina (suggeriamo di selezionare, dapprima, il profilo Free, BASIC perché gli altri prevedono il versamento di un canone di abbonamento mensile):
Nel campo Location ID si dovrà digitare 1, a conferma che si tratta della prima location presso la quale si sta utilizzando il servizio HotSpotSystem.
In corrispondenza di DHCP Interface, invece, va selezionata l’interfaccia sulla quale si desidera porre in essere il captive portal.
Le opzioni Special settings e Login on splash page dovranno essere poste su Enable.
Dopo aver salvato le impostazioni, il captive portal dovrebbe essere già attivo e funzionante sulla propria connessione WiFi. L’account sarà sempre liberamente gestibile effettuando il login sul sito di HotSpotSystem.
Già in fase di registrazione, HotSpotSystem consente di specificare una limitazione per la banda da destinare agli utenti che sfrutteranno la rete wireless:
Maggiori informazioni sono reperibili nella guida ufficiale di HotSpotSystem.
Un hotspot WiFi più completo e versatile (a costo zero) con Zeroshell e Zerotruth
Chi avesse necessità più particolari e preferisse gestire in proprio, a costo zero, tutte le connessioni degli utenti svolgendo autonomamente la procedura di autenticazione, può orientarsi su Zeroshell e Zerotruth.
Zeroshell è una distribuzione Linux molto compatta che può essere installata su macchine anche piuttosto datate (a patto che siano dotate di più schede di rete: una potrà essere connessa al dispositivo sul quale si attesteranno gli utenti ospiti; una seconda potrà essere usata per la connessione alla rete Internet; una terza per la gestione e la configurazione diretta della macchina).
Estremamente versatile, le funzionalità offerte da Zeroshell sono moltissime (vedere questa pagina per conoscerle nel dettaglio). Basti evidenziare che Zeroshell è firewall, server RADIUS, server VPN, load balancer, strumento per la gestione del QoS (Quality of Service), server DNS, DNS-forwarder, server DHCP, transparent proxy, filtro web, IDS ed altro ancora oltre, naturalmente, a fungere da captive portal.
Zerotruth è invece un pacchetto aggiuntivo, interamente sviluppato da programmatori italiani, che migliora notevolmente la gestione dei captive portal da parte di Zeroshell.
Il grande vantaggio, con Zerotruth, consiste nella possibilità non soltanto di gestire la procedura di autenticazione degli utenti in locale ma anche di tenere traccia dei login e delle sessioni di lavoro.
In altre parole, il software permette di registrare gli accessi alla rete WiFi trascrivendo data di inizio e di fine delle connessioni, quantitativo di dati scambiati e così via.
Il Codice delle comunicazioni elettroniche (D.Lgs 259/2003) distingue tra due diverse tipologie di utilizzo delle reti Wi-Fi: per “uso privato” e per “uso pubblico”.
Per uso privato si intende che la rete deve essere utilizzata soltanto per trasmissioni riguardanti attività di propria pertinenza, con divieto di effettuare traffico per conto terzi.
L’uso pubblico, invece, prevede la fornitura a terzi dell’accesso wireless: è il caso in cui si intenda installare uno o più access point WiFi in uno spazio aperto al pubblico per fornire, ad esempio, il servizio di accesso alla rete Internet (è il caso trattato nel nostro articolo).
Per quanto concerne l’uso pubblico, se l’impresa o l’esercizio commerciale che mette a disposizione l’accesso wireless ai suoi clienti non ha come attività principale la fornitura di servizi di telecomunicazione, secondo quanto disposto dall’art. 10 del D.L. 69/2013 (cosiddetto Decreto Fare) convertito con legge 9 agosto 2013, n. 98, l’offerta di accesso alla rete Internet al pubblico tramite tecnologia WiFi non richiede alcuna autorizzazione e non prevede l’identificazione dell’utilizzatore.
Permangono comunque i problemi legali connessi all’utilizzo della WiFi da parte di terzi. Se è vero che l’identificazione degli utenti che usano la WiFi non è più obbligatoria (si pensi al vituperato Decreto Pisanu), tuttavia, come dimostrare – in caso di eventuali contestazioni – che un reato (nella remota situazione in cui ciò accadesse) è stato commesso da parte di un utente terzo usando la WiFi messa a disposizione della clientela?
La risposta all’ultima domanda contenuta nel riquadro Normativa WiFi in Italia, è offerta appunto da Zerotruth che non soltanto permette di attivare, in pochi minuti, un captive portal ma consente, ad esempio, di attivare l’autenticazione basata sull’invio di codice via SMS.
Chi vorrà sfruttare la connessione WiFi (messa a disposizione gratuitamente o a pagamento) dovrà insomma digitare un numero di cellulare valido al quale Zerotruth provvederà ad inviare automaticamente un codice d’accesso.
È interessante notare come Zerotruth supporti di default alcuni tra i principali e migliori servizi per l’invio di SMS da web: Skebby, Aimon, Smsbiz, Mobit e Smsglobal.
Addirittura, si può connettere alla macchina – attraverso il software Gammu – un telefono cellulare od uno smartphone (via USB) che potrà essere usato per l’invio di SMS. Attivando un’offerta che prevede ad esempio l’invio di SMS in numero pressoché illimitato, si potrà far fronte anche alle esigenze delle strutture più frequentate.
Dopo aver installato Zeroshell in una macchina “fisica”, in una macchina virtuale oppure in una board come ALIX (da qui è possibile effettuare il download di Zeroshell in formato ISO), si dovrà provvedere a configurare le interfacce di rete.
Digitando “I” (IP Manager) quindi “H” (Dynamic IP configuration) si può far assegnare dinamicamente un IP alle varie interfacce, ove necessario.
La configurazione di Zeroshell può essere poi effettuata da browser digitando l’IP della macchina ed aiutandosi con questa ottima guida di Renato Morano che si applica a chi volesse dapprima provare Zeroshell in una macchina virtuale Virtualbox ma che contiene importanti suggerimenti di carattere generale.
Ad ogni modo, per installare Zerotruth all’interno di Zeroshell, si dovrà premere “S” (Shell prompt) nella schermata principale oppure collegarsi alla macchina Zeroshell via SSH (porta 22; utilizzando ad esempio il software PuTTY). In quest’ultimo caso, bisognerà comunque accertarsi di aver abilitato l’accesso SSH dall’interfaccia di Zeroshell.
Inoltre, prima di procedere, bisognerà abilitare la funzionalità Captive portal dall’interfaccia web di Zeroshell:
A questo punto, dalla shell di Zeroshell, si dovranno digitare i seguenti comandi:
cd /DB
wget http://www.zerotruth.net/controldlweb.php?file=zerotruth-2.0.tar.gz
tar zxvf zerotruth-2.0.tar.gz
cd zerotruth-2.0
./install.sh
Ad installazione completata, ci si potrà connettere al pannello di amministrazione di Zerotruth utilizzando un qualunque browser web. L’indirizzo IP da digitare è lo stesso precedentemente digitato per accedere all’interfaccia web di Zeroshell.
Digitando admin
e zerotruth
, rispettivamente, come nome utente e password, si accederà all’interfaccia di configurazione del software.
Cliccando sul pulsante Config, si accederà a tutte le opzioni di configurazione che il pacchetto Zerotruth mette a disposizione.
Scegliendo Config, Zerotruth, Admin, si potranno innanzi tutto modificare le credenziali d’accesso dell’amministratore mentre gli altri pulsanti permetteranno di personalizzare quanto esposto nella pagina di login (captive portal): immagine, logo,…
Con un clic su Captive portal, invece, si può stabilire in che modo saranno gestite le connessioni degli utenti (compresa la registrazione autonoma al servizio).
Utilizzando il pulsante SMS, invece, si potrà configurare lo strumento da usare per l’invio dei messaggi contenenti i codici di autenticazione mentre Email consente di impostare la spedizione delle notifiche via mail.
Per maggiori informazioni sulle possibilità offerte da Zerotruth, suggeriamo di fare riferimento al sito ufficiale del progetto (vedere questa pagina).
È importante rimarcare come Zerotruth sia un progetto continuamente aggiornato e migliorato. L’ultima release, la 2.0, è stata rilasciata appena qualche settimana fa, a fine luglio 2014.