In questa guida si descrive la configurazione del Captive Portal per far accedere gli utenti alla rete autenticandoli su di un Identity Provider SAML 2.0 appartenente ad una AAI (Authentication Authorization Infrastructure) singola o Federata.
Si noti che questo documento è ancora nello stato di bozza ed è per lo più una raccoltà di screenshot.
La trattazione è suddivisa nelle seguenti sezioni:
- Attivazione dell’Autenticazione Shibboleth
- Interfaccia di configurazione del modulo Shibboleth per Apache
- Configurazione del modulo Shibboleth mediante web File Editor
- Controllo della configurazione
- Permessi di accesso mediante condizione sulle variabili d’ambiente dell’IdP
- Sblocco automatico o manuale del Captive Portal per gli URL degli IdP e del WAYF
- Pagina di autenticazione del Captive Portal con Shibboleth in modalità On-Demand
Attivazione dell’Autenticazione Shibboleth
Dalla form [Web Login Authentication Server] si effettua l’attivazione dell’autenticazione tramite Shibboleth. Peraltro, si può scegliere tra la modalità [On Demand]”, in cui appare la classica schermata di inserimento di username e password da cui poi premendo il tasto [AAI] si viene rediretti verso l’URL dell’IdP o WAYF, oppure la modalità [Auto] con cui l’utente viene rediretto direttamente verso l’Identity Provider escludendo l’autenticazione RADIUS/Kerberos 5 native del Captive Portal.
Il campo [SP EntityID] rappresenta il valore dell’entityID con cui il Service Provider Shibboleth viene registrato nei metadati dell’IdP o della federazione. Impostare tale valore prima di generare i metadati da inviare al gestore della Federazione AAI a cui si vuole registrare il Service Provider.
Interfaccia di configurazione del modulo Shibboleth per Apache
Dal pannello mostrato sotto si accede più in dettaglio alla configurazione del modulo Shibboleth per Apache. Peraltro, da questo pannello è possibile effettuare l’upgrade del software che implementa il Service Provider. Gli aggiornamenti verrano rilasciati nella forma di un unico packace che include:
- log4shib
- opensaml 2
- shibboleth-sp 2
- xml-security-c
- xmltooling
Gli aggiornamenti saranno disponili all’URL https://www.zeroshell.org/shibboleth in cui si descrive anche la procedura su come costruire i package di aggiornamento partendo dai sorgenti.
Configurazione del modulo Shibboleth mediante web File Editor
Vista l’elevata configurabilità del modulo Shibboleth SP si è scelto di gestire la configurazione manualmente mediante il web file editor. Tuttavia, Zeroshell interviene in parte, preconfigurando alcuni parametri.
Controllo della configurazione
Prima del riavvio di Shibboleth, in seguito ad una variazione della configurazione, conviene sempre fare un check della coerenza dei file in /etc/shibboleth mediante il tasto [Verify] che evidenzierà i problemi suddividendoli in warning, error, critical e fatal in base alla gravità.
Permessi di accesso mediante condizione sulle variabili d’ambiente dell’IdP
Generalmente l’accesso alla rete non si concede semplicemente se l’utente supera il processo di autenticazione, ma deve inoltre sottostare ad un processo di autorizzazione che si effettua impostando delle condizioni sulle variabili d’ambiente valorizzate dal Sevice Provider in base agli attributi restituiti dall’IdP dopo che l’autenticazione va a a buon fine. Uno degli attributi spesso controllati per consentire l’accesso è l’attributo affiliation che indica l’appartenenza di un utente ad una categoria di utenti
Sblocco automatico o manuale del Captive Portal per gli URL degli IdP e del WAYF
Nel configurare un Captive Portal come Service Provider Shibboleth, ci si accorge subito del problema che l’utente per potersi autenticare deve accedere ad un IdP che in genere si trova all’esterno ed è quindi bloccato dal Captive Portal stesso, generando così una situazione di stallo. Bisogna pertanto avere una Whitelist degli IdP/WAYF facenti parte della Federazione. In caso di singolo IdP ciò è immediato, mentre nel caso di una Federazione di AAI, in cui tali Identity Provider variano dinamicamente ciò risulta oneroso per l’amministratore del Captive Portal. Per questo motivo Zeroshell implementa l’auto-discovery degli URL degli Identity Provider e dei WAYF.
Si noti che Zeroshell non individua tali URL tramite i Metadati della Federazione, poiché questi potrebbero convergere lentamente alla situazione reale, ma interpretando i redirect del SP verso gli IdP/WAYF. Ciò favorisce la formazione automatica di una whitelist sempre istantaneamente aggiornata.
Pagina di autenticazione del Captive Portal con Shibboleth in modalità On-Demand
Ecco come appare la pagina di login del Captive Portal quando l’autenticazione Shibboleth viene configurata On-Demand, cioè permettendo anche l’autenticazione RADIUS e Kerberos5 multi-dominio.
La struttura di questa pagina può essere personalizzata premendo il tasto [Template], da cui si accede direttamente al codice HTML che la costituisce. Come già detto se si usa la modalità [Auto], appare direttamente la pagina di autenticazione del Idp o WAYF.