MENU

OpenWISP, la soluzione open source per la diffusione di servizi WiFi

Open Wireless Project è una soluzione sviluppata per permettere in modo semplice e versatile la diffusione di reti di accesso WiFi, anche tecnologicamente complesse, su connettività non dedicata ed eterogenea. Gli strumenti e le strategie utilizzate hanno permesso di implementare alcuni importanti progetti di diffusione di reti WiFi per il pubblico, principalmente promossi da Pubbliche Amministrazioni italiane.

Introduzione

La collaborazione tra la Città metropolitana di Roma Capitale e il Consorzio Interuniversitario Cineca per il progetto WiFimetropolitano ha permesso di implementare la più grande rete WiFi gratuita e aperta al pubblico mai realizzata in Italia e probabilmente la più grande d’Europa, con l’installazione di punti di accesso nei comuni del territorio provinciale di Roma. Le tecniche e gli strumenti utilizzati in questo contesto hanno mostrato il chiaro vantaggio di permettere la semplice e veloce diffusione di servizi di connettività pubblica su infrastrutture di rete che, per differenti ragioni di natura tecnica e legale, non avrebbero altrimenti potuto essere utilizzate per tale scopo. Inoltre questo approccio, abbracciando la filosofia della condivisione delle risorse tipica dei progetti open, permette a chiunque di contribuire alla crescita della rete, ospitando, senza alcun onere amministrativo e tecnologico, un punto di accesso.

Dall’esperienza acquisita sul campo, a seguito di un processo di reingegnerizzazione degli strumenti software utilizzati, è nata la suite software OpenWISP che include quanto necessario per realizzare un servizio di connettività pubblica WiFi del tutto equivalente a quello utilizzato da WiFimetropolitano. Il Kit con i software, i manuali e le architetture messe a punto sono a disposizione di tutte le amministrazioni ed enti locali interessate che desiderano realizzare una rete WiFi pubblica.

Con questa iniziativa, la Città metropolitana di Roma Capitale intende promuovere la diffusione del WiFi gratuito e creare un ecosistema di pubbliche amministrazioni, università e centri di ricerca per favorire la condivisione di conoscenze e progettualità sul WiFi e avviare una collaborazione tra le amministrazioni pubbliche favorendo la convergenza fra sistemi ed enti.

È previsto soltanto l’utilizzo di applicativi open source. Questa scelta è motivata dai numerosi vantaggi di cui godono queste soluzioni: l’uso di formati aperti, l’interoperabilità, la sicurezza dei dati garantiti dalla verificabilità del codice sorgente, sono fattori che si coniugano bene con un modello basato su una comunità, dove la Città metropolitana di Roma Capitale svolge non solo il ruolo di utente, ma coopera anche allo sviluppo del software.

Le amministrazioni interessate potranno decidere di adottare tutto il Kit OpenWISP (o anche solo delle parti), mediante licenze open source e Creative Commons e, allo stesso tempo, dare il proprio contributo per migliorarlo e renderlo nuovamente disponibile. Infatti, il contributo di altre amministrazioni è utile nel favorire la nascita di nuovi sistemi, suggerire nuove modalità di approccio ai problemi comuni e contribuire al processo di sviluppo e implementazione dei servizi, garantendo una maggiore ottimizzazione degli investimenti e una razionalizzazione delle risorse.

  1. La suite di applicazioni OpenWISP

La suite OpenWISP comprende cinque applicazioni open source rilasciate con licenza GPLv3, utilizzabili congiuntamente o integrandone solo alcune con applicativi di terze parti, per realizzare e gestire l’infrastruttura tecnologica di un generico Wireless Internet Service Provider. OpenWISP, infatti, comprende quanto necessario per la gestione degli apparati di accesso WiFi e per la registrazione, identificazione, controllo degli accessi e accounting degli utenti finali del servizio.

2.1 OpenWISP User Management System

L’OpenWISP User Management System (OWUMS) è una delle applicazioni principali della suite poiché costituisce il punto di contatto degli utenti finali del servizio, che la utilizzano per auto-registrarsi, per gestire il proprio account e per consultarne le statistiche.  L’applicazione, sviluppata su framework Ruby on Rails, è strutturata in due sezioni principali: un front-office, che tipicamente viene reso accessibile anche dall’esterno della rete WiFi al quale è destinato, e un back-office utilizzabile dal personale tecnico per gestire il servizio ed espletare le procedure di help desk. Il front-office espone una ricca interfaccia web 2.0, in versione desktop e mobile che utilizza            esclusivamente javascript al fine di garantire la massima compatibilità con tutti i recenti dispositivi mobili. Le operazioni effettuate sul front-office agiscono sulle tabelle di un DBMS relazionale, create e mantenute dal framework Ruby on Rails. Tali relazioni sono rese disponibili anche a un server RADIUS mediante opportune viste. Quest’ultimo servizio, interagendo con un Network Access Server (NAS) quale captive portal, implementerà l’autenticazione, l’autorizzazione e l’accounting (AAA) per il servizio WiFi.  L’identificazione degli utenti costituisce uno strumento estremamente utile per la gestione di un servizio WiFi, anche dal punto di vista della sicurezza, permettendo il corretto utilizzo delle risorse. Su OWUMS la registrazione iniziale degli utenti può avvenire mediante tre differenti meccanismi, di seguito esposti.

2.1.1 Verifica di possesso di un’utenza di telefonia mobile

Secondo quanto riportato in un parere fornito dal Ministero dell’Interno in risposta ad una specifica richiesta da parte dell’associazione provider indipendenti (AssoProvider), è ammessa un’identificazione indiretta degli utenti di un servizio WiFi, ovvero senza obbligo di acquisizione di un documento d’identità, purché questa sia basata sulla verifica di possesso di un’utenza di telefonia mobile italiana. L’applicazione OWUMS implementa tale verifica tramite acquisizione dell’identificativo chiamante (Caller-ID o CID): le credenziali dell’utente saranno abilitate solo se, entro un periodo di tempo configurabile, quest’ultimo effettuerà una chiamata telefonica ad un numero di rete fissa, associato tramite VoIP all’applicazione, dall’utenza telefonica inserita in fase di registrazione.

2.1.2 Transazione economica tramite carta di credito

L’applicazione OWUMS consente anche l’identificazione affidabile degli utenti che si auto-registrano sul sistema per mezzo della verifica di possesso di una carta di credito  

2.1.3 Acquisizione della copia di un documento d’identità 

Il terzo metodo di identificazione degli utenti del servizio segue pedissequamente quanto era prescritto dalla normativa italiana fino alla fine del 2010: tramite la supervisione di un operatore, opportunamente istruito, l’applicazione OWUMS permette l’upload della scansione di un documento d’identità che rimarrà associato all’account dell’utente.

2.2 OpenWISP Manager e Firmware

Il management dei punti di accesso di un servizio WiFi è un aspetto estremamente delicato della gestione di un Wireless ISP. Il controllo di apparati con hardware eterogeneo ma con configurazione uniforme e potenzialmente mutevole nel tempo è stata una delle criticità riscontrate durante la gestione del progetto WiFimetropolitano. La scelta del firmware per gli apparati di accesso è caduta inevitabilmente su openWRT, open source e leader nel settore delle distribuzioni specifiche per wireless router. Il grande vantaggio di utilizzare openWRT in un contesto quale quello presentato è stato individuato anche nella presenza di un sistema integrato di configurazione in grado di agire su ogni aspetto fondamentale del sistema, lo Unified Configuration Interface (UCI). Tale sistema, pur essendo limitato alla configurazione locale, permette un buon livello di astrazione dallo specifico hardware utilizzato e consente l’utilizzo di molteplici funzionalità avanzate, quali Bridging Linux 802.1d, Virtual Local Access Network (VLAN) tagging 802.1Q, Virtual Access Point (VAP) multipli su singola scheda radio, Virtual Private Network (VPN) ed il Port Based Network Access Control basato su 802.1X con, ad esempio, WPA o WPA2 in modalità enterprise.  Per remotizzare il funzionamento di UCI e permettere l’amministrazione centralizzata di una moltitudine di apparati d’accesso, installati anche su reti con connettività eterogenea e su un’importante estensione territoriale, è stato sviluppato un sistema di configuration management che potesse controllare senza sforzo e tramite una comoda interfaccia grafica migliaia di access point, anche contemporaneamente.  L’applicazione Ruby on Rails denominata OpenWISP Manager (in breve OWM) implementa proprio un sistema di configuration management UCI-oriented, in grado di modellare la configurazione degli access point mediante template che ne descrivono le caratteristiche essenziali. Ogni access point è dunque istanza di un template e rimane ad esso collegato: qualunque modifica effettuata sul template sarà applicata anche alle sue istanze, ma rimarrà possibile la personalizzazione di alcune delle caratteristiche di ogni singola istanza, finalizzata al finetune dell’access point ad essa associato.  La gerarchia di oggetti che descrive ogni access point, modellata tramite OWM, è tradotta in una configurazione UCI, scaricata ed eseguita dagli apparati di accesso. Periodicamente, ogni access point verifica lo stato di aggiornamento delle informazioni ricevute dal server OWM e, se necessario, provvede a scaricare nuovamente la sua configurazione.  L’insieme delle applicazioni che risiedono sugli access point, che realizzano i meccanismi sopra riportati, è denominato OpenWISP Firmware (OWF). L’OWF si occupa anche di realizzare e curare la disponibilità di un canale di comunicazione sicuro, mediante una VPN realizzata con il software openVPN tra l’access point e il server OWM. Tale canale, denominato setup-VPN, è utilizzato dagli apparati di accesso per richiedere la propria configurazione e consente il monitoraggio e la gestione dell’apparato da parte degli operatori.  Infine, per semplificare l’installazione degli access point, l’OWF espone un’interfaccia web minimale attraverso la quale è possibile inserire alcune informazioni essenziali per la configurazione di rete, in funzione di quanto richiesto dal sito ospitante e per effettuare il troubleshooting delle più comuni problematiche in fase di deployment dell’apparato.

Poiché la setup-VPN è originata dall’access point, lo svolgimento dei processi legati al configuration management è garantito anche se l’apparato viene installato dietro ad un firewall o ad un dispositivo che implementa il NAT, a patto che le comunicazioni originate dall’access point possano raggiungere il server OWM.  La configurazione runtime tipica di un access point consiste

nel veicolare all’interno di una VPN più VLAN 802.1Q. Ogni VLAN sarà poi opportunamente collegata ad un VAP tramite un bridge 802.1d. Poiché tutte le VPN sono realizzate con flussi UDP o TCP, tale configurazione permette la propagazione di reti WiFi multiple (ad esempio dedicate rispettivamente a servizi di connettività pubblica e a servizi municipali) su connettività preesistente, quale una semplice ADSL, anche in presenza di firewall o NAT.

2.3 OpenWISP Geographic Monitoring

 Per assicurare l’opportuno livello di qualità e disponibilità di un servizio WiFi è necessario avere un adeguato strumento di monitoraggio. L’OpenWISP Geographic Monitoring (OWGM) è stato sviluppato per rispondere alle esigenze maturate nel corso della gestione di numeri molto elevati di apparati di accesso. OWGM permette la visualizzazione dello stato della rete tramite differenti livelli di dettaglio: ad alto livello, con una mappa realizzata mediante la terza versione delle API di Google Maps, mostrando lo stato degli access point anche suddividendoli in cluster ove necessario; a livello intermedio, attraverso statistiche di disponibilità percentuale dei singoli apparati di acceso rispetto ad un arbitrario periodo di osservazione; e a basso livello, permettendo l’analisi dettagliata dei singoli apparati in termini di disponibilità e numero di utenti collegati.  Per consentire l’esportazione dell’elenco geo-referenziato degli access point, utilizzabile ad esempio per mostrare agli utenti finali la posizione dei punti di accesso al servizio, OWGM consente l’emissione di un feed di tipo Geographic Really Simple Syndication (GeoRSS), personalizzabile nei contenuti descrittivi mediante l’interfaccia web dell’applicazione.

2.4 OpenWISP Captive Portals Manager

Attualmente, è tipico che le reti WiFi aperte al pubblico presentino un controllo degli accessi basato su captive portal. Le motivazioni di questa scelta, in contrapposizione a quanto offerto dallo stato dell’arte dei protocolli, dagli algoritmi e dai meccanismi crittografici implementati da 802.1X quando utilizzato da WPA/WPA2 in modalità enterprise, va ricercata nella semplificazione delle procedure e delle competenze necessarie per il grande pubblico ad utilizzare il servizio. Benché le applicazioni della suite OpenWISP permettano l’utilizzo di standard con alti livelli di sicurezza, tutte le installazioni effettuate sono state dotate di un portale di accesso web verso il quale avviene la redirezione forzata del protocollo HTTP fino all’avvenuta autenticazione.  Il panorama open source presenta alcune interessanti soluzioni per la realizzazione di captive portal, tuttavia, fondamentalmente per esigenze di personalizzazione e integrazione, si è scelto di realizzare un’implementazione ad hoc: l’OpenWISP Captive Portals Manager (OWCPM).

OWCPM supporta, tra le altre funzionalità, la gestione di captive portal multipli, l’utilizzo di un server RADIUS per autenticare gli utenti del servizio e per autorizzarli in modo differente nell’utilizzo della rete e per implementare l’accounting.

2.5 OpenWISP MiddleWare

L’ultima applicazione è l’OpenWISP MiddleWare (OWMW), che costituisce il collante tra le applicazioni della suite, mediante un livello d’astrazione che espone un’interfaccia di tipo RESTful. Mediante OWMW, è inoltre possibile esportare verso applicazioni di terze parti alcune informazioni, come ad esempio quelle sulla posizione geografica degli access point o degli utenti attivi.3. Risultati

3.1 Le reti WiFi gestite da OpenWISP

La suite OpenWISP è oggi utilizzata per gestire alcune delle principali reti wireless italiane. Oltre a WiFimetropolitano, che può essere considerata come il motore di tutti i progetti esposti nel presente articolo, alla fine del 2011 OpenWISP è alla base dei servizi WiFi delle città di Genova e Torino e delle Province di Grosseto, Prato, Pistoia e Gorizia.

  1. Nuovi Sviluppi

OpenWISP2 è una semplice applicazione web composta da diverse librerie python e applicazioni django. Avendo imparato dall’esperienza con OpenWISP1, la nuova versione del controller è stata ridisegnata per essere più flessibile, riutilizzabile, modulare e facile da implementare.

Il suo obiettivo è facilitare la manutenzione di una rete di dispositivi basata su OpenWRT / LEDE.

Per approfondimenti:

http://openwisp.org
http://openwisp.org/docs/