Captive portal

Da Wikipedia, l'enciclopedia libera.

Un Captive portal è una pagina web che viene mostrata agli utenti di una rete di telecomunicazioni quando tentano di connettersi ad Internet mediante una richiesta http del loro browser.[1] Questo meccanismo forza la visualizzazione di tale pagina (usualmente finalizzata all'autenticazione degli utenti) prima di poter accedere alle risorse internet, tipicamente la fruizione del web.

Funzionamento[modifica | modifica wikitesto]

Il termine "captive" (bloccato, chiuso), deriva dal fatto che la navigazione libera è disabilitata finché non si accettano determinate condizioni. Ciò si ottiene intercettando tutti i pacchetti, relativi a indirizzi e porte, fin dal momento in cui l'utente apre il proprio browser e tenta l'accesso alla rete. Il captive portal è presentato all'utente e solitamente allocato sul gateway della rete o sul Server web che ospita la pagina che ha richiesto l'utente. A seconda delle specifiche settate nel gateway, le porte TCP (Transmission Control Protocol) o i siti web, possono essere inseriti in whitelist in modo che quando l'utente tenta l'accesso, venga reindirizzato al captive portal relativo. L'Indirizzo MAC di un utente autenticato, può essere usato per bypassare il processo di login.

Uso[modifica | modifica wikitesto]

I captive portal sono comunemente utilizzati per presentare una pagina di login che può richiedere l'inserimento di password, pagamenti, accettazione di EULA/policy, o altre credenziali dell'utente che intende accedere. I captive portal sono impiegati per un ampio set di servizi, inclusi esercizi commerciali o hotspot domestici wifi o cablati. Un captive portal può anche essere usato per fornire l'accesso per reti cablate aziendali o residenziali (appartamenti, centri commerciali, hotel). I captive portal sono ampiamente adottati anche in reti wireless aperte dove agli utenti è mostrato un messaggio di benvenuto, che li informa delle condizioni di accesso (porte consentite, responsabilità, etc.). Gli amministratori tendono ad adottare questa politica in modo che gli utenti che si connettono alla rete si assumano le responsabilità delle loro azioni al fine di evitare qualche problema maggiore.

I captive portal hanno avuto un incremento presso i free open wireless network dove al posto dell'autenticazione degli utenti viene semplicemente mostrata una pagina di accettazione delle condizioni d'uso. Anche se la legge al riguardo è ancora poco chiara (specialmente negli USA) è pensiero comune che forzare gli utenti ad accettare le condizioni d'uso del provider sollevi quest'ultimo da particolari obblighi di legge.[2][3]

Impiego in marketing ed analytics[modifica | modifica wikitesto]

Spesso i captive portal sono utilizzati per la comunicazione commerciale e di marketing. In questo caso, l'accesso a internet tramite wifi aperto è proibito sino a quando l'utente non fornisce i propri dati, riempiendo il form di registrazione. Il form online si apre automaticamente nel broswer del dispositivo o appare quando l'utente prova a visitare una pagina web tramite il suo broswer.

Il captive portal è anche uno strumento per segmentare gli utenti. Oltre a fornire i dati necessari all'autenticazione, i captive portal possono essere predisposti ad ottenere anche altre informazioni (anagrafiche, geografiche, ecc.). Questo consente di generare statistiche per chi gestisce la rete. Il meccanismo del captive portal consente inoltre al provider del servizio di far visualizzare o inviare pubblicità agli utenti che sono connessi.

Implementazione[modifica | modifica wikitesto]

Ci sono diversi modi per implementare captive portal:

Ridirezione HTTP[modifica | modifica wikitesto]

Si tratta del metodo più comune: direzionare tutto il traffico web su un server, che restituisce una ridirezione http ad un captive portal.[4] Per rendere attivo un captive portal, si fa ricorso all'utilizzo di un gateway che funge da router di default per la rete. Quando un dispositivo, abilitato per la navigazione internet si connette per la prima volta ad una rete, esso invia una request http (well known host + URI) e, in condizioni normali, riceve un http status code di 204. Questo gateway ha il compito di bloccare il traffico IP verso l'esterno e catturare ogni request http o https verso le porte TCP 80 e 443, che ridireziona ad un web server. Questo server fa quindi visualizzare ai client il captive portal, con codice di ritorno http di 302. Se l'utente accede con le sue credenziali, il web server riferisce al gateway che il client ha l'autorizzazione alla navigazione e sono inibiti i filtri per il traffico per quell'utente.[5][6]

Ridirezione ICMP[modifica | modifica wikitesto]

Il traffico del client può anche essere ridirezionato utilizzando un reindirizzamento ICMP sul terzo livello di layer.

Ridirezione del DNS[modifica | modifica wikitesto]

Quando un client richiede una pagina web, il DNS è interrogato dal broswer. In un setup che prevede l'utilizzo di un captive portal, il firewall assicurerà che solo il server DNS fornito dal DHCP della rete, potrà essere usato da un client non autenticato (o in alternativa, esso ridirezionerà tutte le request dei client non autenticati verso quel server DNS). Il server DNS restituirà' l'indirizzo IP della pagina del captive portal come un risultato del lookup di tutti i DNS, fintanto che i client non sono autorizzati all'accesso.

Il captive portal usa una tecnica analoga al DNS hijacking per effettuare un'azione simile ad un attacco man in the middle nei confronti degli utenti non autenticati. Per limitare l'impatto della manomissione del DNS è utilizzato un TTL di 0.

Software captive portal[modifica | modifica wikitesto]

Esempi di captive portal software per piattaforma PC:

Per FreeBSD/OpenBSD

Per Linux

Gateway / Soluzioni server centralizzati

  • talweg (più sicuro dello standard di autenticazione MAC/IP)
  • Untangle gratis/standard/premium sono le tre versioni di un software standalone funzionale e completo per la gestione di Captive Portal, content filter anche in transparent mode.
  • Wilmagate
  • ZeroShell piccola distribuzione Linux disponibile come LiveCD o immagine per CompactFlash che include un multi-gateway Captive Portal. I sistemi di autenticazione sono: Kerberos 5 KDC integrato, un KDC esterno come quello usato da Windows Active Directory oppure di tipo cross-authenticated realm.
  • Endian Hotspot (Captive Portal presente solo nella versione commerciale) distribuzione Linux per Gateway UTM OpenSurce disponibile anche in versione Community

Per Windows

Altri

Hardware captive portals[modifica | modifica wikitesto]

Esempi di router hardware che nel firmware includono un captive portal:

Sicurezza[modifica | modifica wikitesto]

Attacchi di spoofing[modifica | modifica wikitesto]

La maggior parte delle implementazioni di captive portal richiede agli utenti di superare una pagina SSL di login criptata, dopo la quale il loro indirizzo IP e MAC sono abilitati a passare attraverso il gateway. È stato dimostrato che questo tipo di accesso è facilmente attaccabile tramite un semplice packet sniffer. Una volta ottenuti IP e indirizzi MAC di altri dispositivi già autenticati e connessi, chiunque dotato di mezzi e conoscenza tecnica può superare i controlli falsificando le proprie credenziali (spoofing) con quelle degli utenti autorizzati e attraversare indisturbato il gateway. Per questa ragione sono state create alcune soluzioni di autenticazione estesa per limitare i rischi di usurpazione di captive portal. Una possibile soluzione a questo problema consiste nell'utilizzare una finestra di controllo che continuamente rinnova l'autenticazione mandando al gateway un pacchetto criptato. Tale tecnica è implementata per esempio nel captive portal di Zeroshell.

Attacchi DNS[modifica | modifica wikitesto]

I captive portal sono noti per avere il set di regole del firewall incompleto.[7] In alcune configurazioni, il set di regole instrada le richieste al DNS, dai client ad internet oppure il DNS individuato fornisce un DNS arbitrario al client. In questo caso un client può bypassare un captive portal ed avere accesso libero ad internet, con un traffico di tunneling arbitrario dentro ai pacchetti del DNS (porta 53).

L'amministratore, non può bloccare tale porta poiché il client deve poter risolvere nomi di dominio; può optare per le restrizione delle regole di accesso al DNS. In modo tale da permettere solo al server stesso di accedervi, poi, il server distribuisce gli IP ricavati dalle interrogazioni di quel DNS, connettendosi ai client mediante DHCP.

Attacchi tramite clonaggio di MAC addess[modifica | modifica wikitesto]

Un captive portal che usa indirizzi MAC per tracciare i dispositivi connessi può spesso essere aggirato connettendo un router che consente l'impostazione degli indirizzi MAC. Una volta che un dispositivo è stato autenticato al captive portal, il suo indirizzo MAC può essere immesso nel router, che verrà in questo modo, autorizzato alla navigazione.

Attacchi agli account[modifica | modifica wikitesto]

Alcuni captive portal possono essere configurati per consentire agli utenti appropriatamente equipaggiati, di autenticarsi automaticamente (ad esempio un computer aziendale nella rete dell'azienda). User agent e applicazioni supplementari (come Apple Captive Portal Assistant), possono, a volte bypassare la visualizzazione di un captive portal contro la volontà dell’operatore di servizio, per il tempo in cui si hanno le credenziali corrette. L'autenticazione avviene anche quando questi utenti provano ad autenticarsi con credenziali scorrette, con comportamenti risultanti come la conseguenza di una chiusura incondizionata dell'account associato a tali credenziali.

Attacchi al proxy[modifica | modifica wikitesto]

Se è aperta la porta 22 (ssh), molti server consentono la creazione di un tunnel cifrato tra due host. Questo tunnel può essere utilizzato per configurare le opzioni del proxy del server. Si può quindi settare questo proxy con richieste dirottate su un server esterno, bypassando le restrizioni delle porte http ed https. Allo stesso modo se è aperta la porta 3128 (proxy).[8]

In definitiva, per effettuare un attacco volto ad aggirare un captive portal, può semplificare di molto le cose, fare uno scanning delle porte aperte.

Protezione[modifica | modifica wikitesto]

Talvolta, l'utilizzo di tecniche di protezione del Layer 2, come WPA e WPA2 non sono adottabili per via del loro processo di setup oneroso per l'utente.[9] Ad ogni modo, la loro adottabilità dipende dall'utilizzo di hardware (schede di rete ed access point) e di sistemi operativi che siano in grado di supportare i suddetti protocolli. Sovente, è comunque necessario un sistema di sicurezza svincolato dal canale di comunicazione sia esso wireless o via cavo. Spostare il controllo degli accessi dal livello 2 al livello 3 (stack ISO/OSI), si può rivelare una politica vincente.

Limiti[modifica | modifica wikitesto]

I captive portal richiedono l'utilizzo di un broswer; questa è solitamente la prima applicazione che gli utenti utilizzano quando si interfacciano alla rete internet, ma gli utenti che utilizzano per prime applicazioni di email client o di altro tipo. Questi utenti possono riscontrare che queste non funzionino a causa della connessione inspiegabilmente assente; ed hanno bisogno che venga aperto il broswer per essere validate, tramite il "passaggio" per il captive portal. È comunque possibile usare email e altre facilities che non fanno affidamento al DNS (ad esempio se l'applicazione specifica la connessione IP prima dell'accesso al web). Un problema simile può manifestarsi se il client usa AJAX o raggiunge il network con pagine già caricate nel suo broswer, causando un comportamento non definito, quando una pagina prova una richiesta HTTP al suo server di origine.

Dispositivi che non possono utilizzarlo[modifica | modifica wikitesto]

I dispositivi che possiedono connettività Wi-Fi e TCP/IP ma non sono dotati di browser web che supporti https non possono usare i captive portals. Tali dispositivi includono ad esempio Nintendo DS con giochi che usino Nintendo Wi-Fi Connection.[10] Esistono comunque dei produttori di dispositivi che grazie ad accordi per servizi di connettività gratuiti o scontati permettono l'accesso alla rete. Per esempio, le porte VOIP SIP possono essere liberamente abilitate al traffico verso il gateway per permettere ai telefoni di connettersi.

Note[modifica | modifica wikitesto]

  1. ^ Captive Portal
  2. ^ (EN) Wi-Fi Hotspots and Liability Concerns - Maiello Brungo & Maiello, in Maiello Brungo & Maiello, 9 aprile 2007. URL consultato il 18 maggio 2017.
  3. ^ (EN) Myths and Facts: Running Open Wireless and liability for what others do, in Open Wireless Movement, 7 agosto 2012. URL consultato il 18 maggio 2017.
  4. ^ Andrew J. Wippler, Captive Portal Overview, su Andrew Wippler's Sketchpad, 7 aprile 2017. URL consultato il 18 maggio 2017.
  5. ^ Andrew J. Wippler, WiFi Captive Portal, su Andrew Wippler's Sketchpad, 11 marzo 2016. URL consultato il 18 maggio 2017.
  6. ^ Network Portal Detection - The Chromium Projects, su www.chromium.org. URL consultato il 18 maggio 2017.
  7. ^ Lessons from DEFCON 2016 – Bypassing Captive Portals, su Secplicity - Security Simplified, 26 agosto 2016. URL consultato il 18 maggio 2017.
  8. ^ paolo.pavan.name, website=Paolo PAVAN http://www.paolo.pavan.name/pdf/zeroshell_SI.pdf website=Paolo PAVAN. URL consultato il 3 novembre 2017.
  9. ^ paolo.pavan.name, website=Paolo PAVAN http://www.paolo.pavan.name/pdf/zeroshell_SI.pdf website=Paolo PAVAN. URL consultato il 3 novembre 2017.
  10. ^ Nintendo And Wayport Join Forces To Bring Free U.S. Wi-Fi Access To Nintendo DS Users, su gamesindustry.biz. URL consultato il 24 novembre 2015.

Voci correlate[modifica | modifica wikitesto]

Telematica Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete