http://www.zerotruth.net
Spesso gli amici mi chiedono
come faccio a far scuola.
Sbagliano la domanda,
non dovrebbero preoccuparsi
di come bisogna fare scuola,
ma solo di come bisogna essere
per poter fare scuola.
— Lorenzo Milani
La scuola
è divenuta la religione universale
di un proletariato modernizzato
e fa vuote promesse di salvezza
ai poveri dell’era tecnologica.
— Ivan Illich
.
ZeroTruth 4.0
c
2012-2017
N OTE L EGALI
L’autore dei contenuti di questo manuale, ad esclusione del capitolo 2, è Nello Dalla Costa.
I contenuti hanno valore solo didattico e vengono forniti gratuitamente.
L’autore non può essere ritenuto responsabile per qualsiasi danno o perdita di dati causato da
errori e inesattezze di qualsiasi tipo presenti.
Zerotruth è distribuito gratuitamente ed è fornito cosı̀ come è senza nessuna garanzia di corretto
funzionamento.
In nessun caso l’autore può essere ritenuto responsabile per qualsiasi danno, perdita di dati o
mancato guadagno causato dal suo utilizzo.
I nomi commerciali, i loghi e i marchi registrati menzionati nel manuale appartengono ai rispettivi
proprietari.
I contenuti di questo manuale non possono essere copiati o riprodotti neanche in parte sen-
za l’autorizzazione dell’autore. È invece cosa gradita il riferimento tramite hyperlink da altri siti
utilizzando l’indirizzo “http://www.zerotruth.net/controldl.php?file=ZEROTRUTH.4.0.pdf ”.
Indice
1 Z EROTRUTH E Z EROSHELL 1
2 CAPTIVE P OR TAL 2
2.1 H OTSPOT ROUTER PER L’ ACCESSO ALLA RETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 I NEMICI DEL CAPTIVE P ORTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 FALSIFICAZIONE (S POOFING ) DI IP E MAC ADDRESS . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 D ENIAL OF S ERVICE (D O S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 R OUTER O B RIDGE ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 AUTENTICAZIONE DEGLI UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.7 RADIUS (PAP, EAP-TTLS E PEAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.8 C ERTIFICATI D IGITALI X.509 (S MART CARD ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.9 S HIBBOLETH (I D P SAML 2.0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.10 C ONTABILIZZAZIONE DEL TEMPO, DEL TRAFFICO E DEL COSTO DI CONNESSIONE . . . . . . . . . 9
2.11 L IMITI DI ACCESSO ALLA RETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.12 R EGISTRAZIONE DEGLI ACCESSI E DELLE CONNESSIONI TCP/UDP NEI LOG . . . . . . . . . . . . 11
4 C ONFIGURAZIONE 16
4.1 Z EROTRUTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 A DMIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 U SERS ( UTENTI GESTORI ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 I MMAGINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.5 A STERISK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.6 LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.7 MUDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8 C ONTROLLO LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.9 VSBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.10 E XPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.11 L INGUA /F ONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.12 T EST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.13 CAPTIVE P ORTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.14 AUTO R EGISTRAZIONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.14.1 R EGISTRAZIONE CON A STERISK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.14.2 R EGISTRAZIONE CON SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.14.3 R EGISTRAZIONE CON T ICKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.15 AVVISI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.16 B IGLIETTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.17 PAY PAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.17.1 C ONFIGURAZIONE Z EROTRUTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.17.2 C ONFIGURAZIONE PAYPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.18 PAGAMENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.19 L IBERI / BLOCCATI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.20 WALLED G ARDEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.20.1 WALLED G ARDEN I NTERNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.20.2 WALLED G ARDEN R EMOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.21 P OPUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.22 I MMAGINE L OGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
i
4.23 FACEBOOK L IKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.24 P ROXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.24.1 S QUID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.24.2 DANSGUARDIAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.24.3 H AVP +C LAMAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.25 S HAPER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.26 B LOCKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.26.1 IP B LOCKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.26.2 AD B LOCKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.27 E MAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.28 SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.28.1 MY SMS SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.28.2 G AMMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.29 M ULTI CP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.30 B ACKUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.30.1 B ACKUP CON EMAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.30.2 B ACKUP CON FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.30.3 B ACKUP CON D ROP B OX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.30.4 B ACKUP CON SCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.30.5 R IPRISTINO B ACKUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.31 C ONTROLLO CAPACIT À DISCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.32 G RAFICI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.33 AGGIORNAMENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.34 U PGRADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5 G ESTIONE U TENTI 67
5.1 AGGIUNGERE UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.1.1 AGGIUNGERE UN UTENTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.1.2 AGGIUNGERE DIVERSI UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1.3 AGGIUNGERE UTENTI DA FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.4 AGGIUNGERE UTENTI VINCOLATI AL BIGLIETTO . . . . . . . . . . . . . . . . . . . . . . . 70
5.2 L ISTA UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.1 TABELLA STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.2 L ISTA UTENTI PER AUTOREGISTRAZIONE DA BIGLIETTO . . . . . . . . . . . . . . . . . . . . 73
5.2.3 R ICERCA UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.4 TABELLA VELOCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6 P ROFILI 76
6.1 TABELLE P ROFILI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2 AGGIUNGI P ROFILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3 P ROFILO A PAGAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.4 P ROFILO CON LIMITE DI BANDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.5 P ROFILO CON IMPOSTAZIONE INTERFACCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7 E MAIL 79
7.1 I NVIO EMAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8 SMS 80
8.1 I NVIO SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
ii
9.2 CAMBIO PASSWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.3 D ETTAGLI CONNESSIONI UTENTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.4 AUTOREGISTRAZIONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.4.1 AUTOREGISTRAZIONE S TANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.4.2 AUTOREGISTRAZIONE CON S OCIAL N ETWORK . . . . . . . . . . . . . . . . . . . . . . . 88
9.4.3 AUTOREGISTRAZIONE CON A STERISK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.4.4 AUTOREGISTRAZIONE CON SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.4.5 AUTOREGISTRAZIONE DA T ICKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.5 R ECUPERO PASSWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.5.1 R ECUPERO PASSWORD STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.5.2 R ECUPERO PASSWORD CON A STERISK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
9.6 B LOCCO CAPTIVE P ORTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
D Scripts 108
D.1 Scripts per keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
iii
1 Z EROTRUTH E Z EROSHELL
I NTRODUZIONE
Mi sono avvicinato a Zeroshell cercando un applicativo per il Captive Portal del laboratorio di
informatica di una piccola scuola e mi ha piacevolmente stupito per la semplicità del suo utilizzo.
installandolo su una Alix in 10 minuti tutto andava a meraviglia.
Il limite, se cosı̀ si può chiamare, era poi farlo gestire ad una persona con poche competenze
che, dall’interfaccia di Zeroshell, potesse aver accesso a tutte le caratteristiche.
Dopo una prima esperienza con un applicativo scritto in PHP, installato su una postazione colle-
gata al server Zeroshell, che ha mostrato molti limiti in fatto di velocità e non solo, ho deciso di
realizzare un’interfaccia da installare direttamente su Zeroshell, per poter aumentare la velocità
di elaborazione e accedere ad altre funzioni in quel modo non possibili.
La scelta è stata di utilizzare delle cgi-bin in bash scripts incontrando non poche difficoltà, soprat-
tutto per capire come lavorasse lo straordinario lavoro di Fulvio Ricciardi dal quale ho imparato
molto e copiato a piene mani.
Zeroshell dispone, tra le moltissime caratteristiche che offre, di un ottimo Captive Portal, compren-
sivo del modulo di accounting, sul quale Zerotruth si appoggia completamente integrando delle
funzioni aggiuntive anche attraverso l’inserimento di altri programmi compilati appositamente.
Il tentativo è stato quello di offrire un modo semplice, ma il più completo possibile, di gestire un
Captive Portal sia per installazioni destinate a pochi utenti che per quelle che devono offrire il
servizio a migliaia di persone.
Zerotruth è utilizzato in diversi centri sociali, biblioteche, scuole e, visto che è nato inizialmente
proprio per questo, la cosa mi rende molto contento, ma anche in hotspot cittadini per coprire
vaste aree in diversi paesi europei e in altri continenti.
Senza avere alle spalle Zeroshell, con la sua solidità ma anche la sua pubblicità, Zerotruth non
sarebbe certamente arrivato a questo punto e non avrebbe ottenuto il consenso di cosı̀ tante
persone, tecnici e aziende. Neppure senza l’aiuto degli amici del forum italiano di Zeroshell,
che mi hanno sollecitato ad inserire nuove funzioni, sarebbe stato possibile avere lo stimolo per
continuare a sviluppare il “giocattolo” inserendo molte features che probabilmente non userò
mai nelle mie modeste installazioni.
Lo chiamo “giocattolo” perchè per me Zerotruth è, e rimarrà, un semplice passatempo che con
piacere condivido con le persone che lo possono trovare utile.
Un ringraziamento quindi a tutti gli utilizzatori, agli utenti del forum di Zeroshell per i loro test, i
consigli e lo sviluppo diretto e un ringraziamento particolare a Fulvio Ricciardi per la disponibilità
e la fiducia che mi ha dato.
La versione 4.0 di Zerotruth ha integrato un utile programma di blocco dei tentativi di intrusione
come fail2ban1 e soprattutto il modulo MUDC2 che permette una gestione domotica di centri
multi utente, centri per i quali come le scuole, in fondo, Zerotruth è stato sviluppato. Un altro
piccolo passo in avanti in questo gioco che continua a piacermi.
1
http://www.fail2ban.org/
2
http://www.zerotruth.net/controldl.php?file=MUDC.tar.gz
1
2 CAPTIVE P OR TAL
I testi e le immagini del capitolo sono presi, con il permesso dell’autore, dal documento “Hotspot
router per l’accesso alla rete” di Fulvio Ricciardi.
Il fine di questo documento è la descrizione della realizzazione di un gateway per Hotspot Wi-Fi
mediante l’uso di Zeroshell. Ci si soffermerà in particolar modo sulle modalità di autenticazione
degli utenti (RADIUS, Kerberos 5 e con certificati digitali X.509) e sull’accounting RADIUS del traffico
e del tempo di connessione. Si darà uno sguardo anche alla possibilità di ottenere un router Multi-
WAN con bilanciamento e failover dei collegamenti Internet con funzionalità di Captive Portal.
Negli Hotspot, ovvero nei luoghi pubblici in cui si dà accesso ad Internet a utenti occasionali, è
necessario per il gestore disporre di almeno alcune delle seguenti funzionalità:
1. Autenticazione;
L’autenticazione, ovvero la capacità di poter identificare univocamente l’utente per poi auto-
rizzarlo all’accesso alla rete, può avvenire mediante username e password o tramite certificato
digitale X.509 eventualmente memorizzato su Smart Card.
Il log degli accessi è talvolta richiesto per legge, poiché permette di risalire agli autori di attività
illecite. Si badi bene che per logging degli accessi non si intende la registrazione degli URL o peg-
gio dei contenuti a cui l’utente ha avuto accesso, ma semplicemente l’annotazione della data
e l’orario di inizio e di fine delle connessioni a Internet di ogni utente e dell’indirizzo IP associato al
client (generalmente un PC portatile) da cui avviene il collegamento. L’accounting invece, oltre
a tenere traccia dell’inizio e della fine del collegamento, contabilizza il tempo e il traffico di con-
nessione relativo ad un utente. Spesso il fine dell’accounting è quello di permettere la tariffazione
del traffico con costi per Megabyte di traffico generato o per minuto di collegamento.
Inoltre, tramite l’accounting, si possono impostare dei limiti al traffico e al tempo oltre i quali l’u-
tente viene disconnesso dalla rete. In particolare, l’accounting può permettere la gestione di
connessioni prepagate in cui l’utente per poter essere in linea deve disporre di un credito.
2
Per ottenere tali funzionalità si utilizzano una o entrambi le seguenti modalità di accesso:
• Captive Portal
WPA/WPA2 Enterprise prevede che gli Access Point Wi-Fi associno un client solo se l’utente ha
delle credenziali valide verificate mediante un server RADIUS con protocollo 802.1x. Oltre all’au-
tenticazione, è garantita anche la cifratura del traffico tra client ed Access Point.
Nel caso di accesso mediante Captive Portal invece, gli Access Point vengono programmati in
modalità aperta, cioè senza alcuna autenticazione e cifratura. Il client si può associare libera-
mente e riceve immediatamente un indirizzo IP dal server DHCP. Tuttavia, il Gateway di Accesso
a Internet blocca la comunicazione con l’esterno e redirige qualsiasi richiesta Web (http e https)
verso un portale di autenticazione.
Appare subito evidente che WPA/WPA2 Enterprise è un sistema più robusto dal punto di vista
della sicurezza rispetto al Captive Portal, ma d’altra parte, richiede che l’utente configuri il suo
client (supplicant) per autenticarsi via 802.1x. Tale configurazione non è facile per gli utenti occa-
sionali di un Hotspot ed è per questo, che nella maggior parte dei casi, si preferisce dare accesso
mediante Captive Portal che non richiede alcuna configurazione sul dispositivo portatile.
Alcuni Access Point Wireless implementano internamente un Captive Portal, ma spesso questo è
poco configurabile ed adattabile all’esigenze di un Hotspot. Risulta invece più flessibile e con-
veniente utilizzare degli Access Point economici, senza alcuna caratteristica avanzata e deman-
dare la funzione di Captive Portal ad un router che funge da gateway verso Internet cosı̀ come
illustrato nella figura 1.
3
2.3 FALSIFICAZIONE (S POOFING ) DI IP E MAC ADDRESS
Il problema di sicurezza più sentito quando si parla di Captive Portal è lo spoofing dell’indirizzo
IP e del MAC address della scheda di rete. Infatti, il firewall del Captive Portal sblocca i client
autenticati identificandoli tramite l’indirizzo IP e il MAC address (quest’ultimo solo nel caso che il
captive portal sia direttamente connesso a livello 2 alla rete da proteggere, cioè senza che ci sia-
no router in mezzo). Purtroppo questi 2 parametri possono essere impostati con estrema facilità su
qualsiasi Sistema Operativo e perciò, esiste il rischio che qualcuno catturi il traffico con uno sniffer
alla ricerca di un client già autenticato e si imposti gli stessi IP e MAC address. Ciò perturberebbe
la comunicazione del client legittimamente autenticato che, notando una bassa qualità della
connessione, rinuncerebbe all’uso della rete lasciando campo libero all’impostore.
Il problema è aggravato dal fatto che la maggior parte delle implementazioni di Captive Portal,
mantengono un client autenticato e quindi connesso finché questo è visibile in rete senza che il
client partecipi attivamente al rinnovo dell’autenticazione. Alcune implementazioni controllano
l’ARP table per vedere se il client ha effettuato traffico di recente oppure effettuano un ARP Re-
quest per verificare la presenza in rete dell’IP. Altre utilizzano la tabella dei leases del DHCP server,
controllando se il client ha richiesto il rinnovo di recente. Tali soluzioni sono chiaramente insicure,
poiché il client ha un ruolo passivo nel riaccreditamento dell’autenticazione.
La soluzione adottata da Zeroshell è invece quella di far si che sia il client stesso a richiedere al
Captive Portal gateway il rinnovo dell’autenticazione, presentandogli un pacchetto criptato con
AES256, denominato Authenticator. Quest’ultimo è un segreto condiviso soltanto dal client e dal
Captive Portal (viaggia infatti in tunnel SSL e perciò non può essere catturato con uno sniffer) e
pertanto anche se qualcuno imposta l’IP e il MAC address di un utente autenticato, non disporrà
dell’Authenticator con cui richiedere al Captive Portal il rinnovo dell’autenticazione. L’Authenti-
cator viene memorizzato dal client all’interno di una finestra popup denominata Network Access
che si occupa mediante Java Script di spedirlo al Captive Portal per il rinnovo.
La finestra di Popup svolge anche altre funzioni come quella di permettere all’utente di disconne-
tersi e di visualizzare utili informazioni di accounting come il tempo, il traffico e il costo di connes-
sione. È da notare che tale finestra non viene bloccata dai sistemi anti-popup di cui quasi ogni
browser web è dotato poiché viene aperta in maniera sincrona alla richiesta di autenticazione
dell’utente. D’altra parte però, la finestra di Popup ha causato diversi problemi con l’avvento
dei dispositivi Mobile quali gli IPhone, gli iPad e altri cellulari e palmari (Android e Windows Mobile
inclusi) che non avendo un sistema multitasking effettivo dimenticavano di rinnovare l’autenti-
cazione causando la chiusura della connessione. Per ovviare a tale problema, a partire dalla
release 1.0.beta15 di Zeroshell i dispositivi Mobile vengono riconosciuti dal Captive Portal che non
gli impone il rinnovo dell’autenticazione mediante l’invio dell’Authenticator, ma semplicemente
verificandone la presenza in rete.
4
Figura 4: Configurazione di Smartphone e dispositivi Mobile
Figura 5: captive-portal-DoS-protection
5
Inoltre, i meccanismi di Auto-Update dei Sistemi Operativi e delle Signature degli Antivirus spesso
utilizzano il protocollo http per comunicare con il repository di aggiornamento e perciò possono
aggravare la situazione, facendo delle richieste che vanno ad aumentare il carico di lavoro del
Captive Portal. Anche in questo caso Zeroshell cerca di arginare il problema intercettando le
richieste verso i piu’ comuni repository di aggiornamento evitandone l’inutile redirect verso la
pagina di autenticazione del Captive Portal.
Il Captive Portal di Zeroshell può utilizzare diverse fonti di autenticazione anche contemporanea-
mente. Per default, autentica gli utenti utilizzando il suo KDC Kerberos 5 interno che contiene
i principal relativi agli utenti archiviati nella Directory LDAP e gestiti mediante l’interfaccia web.
Tuttavia, possono essere utilizzate fonti esterne di autenticazione quali REALM Kerberos 5, server
RADIUS e Identity Provider SAML 2. Inoltre, è disponibile anche il login mediante Certificati Digitali
X.509 che permetterebbe l’accesso tramite Smart Card o Token USB. Nel caso di autenticazio-
ne RADIUS o Kerberos 5 gli utenti possono provenire da domini diversi. In tal caso, l’utente deve
6
selezionare il dominio di autenticazione mediante la casella di selezione presente nella pagi-
na di accesso oppure qualificando il suo username mediante il suffisso @dominio (per esempio
pluto@example.com).
7
Il captive portal può effettuare richieste di autenticazione PAP o 802.1x (EAP-TTLS con PAP e PEAP
con MsCHAPv2). In quest’ultimo caso, il captive portal appare al server RADIUS come il suppli-
cant di un dispositivo Wi-Fi che tenta l’accesso tramite WPA/WPA2 Enterprise. L’utilizzo di 802.1x è
consigliato rispetto al semplice PAP qualora sia necessario un livello di sicurezza maggiore, garan-
tito dal protocollo TLS di cui sia EAP-TTLS che PEAP (Protect EAP) si avvalgono. Kerberos 5 (Active
directory).
L’autenticazione Kerberos 5 permette di interfacciare il Captive Portal ad un dominio Windows
Active Directory. Infatti, ogni Windows Server che sia un controller di dominio ha un KDC Kerberos
5 che autentica gli utenti appartenenti al dominio Active Directory di cui fa parte. Pertanto,
basta aggiungere tra i domini autorizzati all’accesso al captive portal il nome del dominio Active
Directory per permettere agli utenti Windows di accedere alla rete. Si noti che qualora non è
attiva la funzionalità di discovery del REALM e dei KDC tramite i record SRV del DNS è necessario
specificare manualmente gli indirizzi IP (o gli hostname FQDN) dei KDC autoritari per il REALM.
In alcune situazioni è opportuno autorizzare l’accesso tramite Captive Portal soltando ad un grup-
po di utenti. Ciò non è possibile mediante Kerberos 5 poiché quest’ultimo gestisce solo l’auten-
ticazione di Active Directory, mentre l’autorizzazione è demandata ad LDAP. Tuttavia, si può atti-
vare sui controllori di dominio lo IAS (il Servizio RADIUS di Active Directory) e configurare il Captive
Portal per autenticare verso RADIUS. In questo caso, si può configurare IAS per autorizzare solo gli
utenti che appartengano ad un determinato gruppo.
8
privata non può essere estratta con un’operazione di lettura dall’esterno. Le Smart Card sono
perciò dotate di un loro chip che effettua le operazioni di cifratura e decifratura richieste tramite
API. Per sbloccare l’utilizzo della chiave privata da parte del browser la Smart Card richiede la
digitazione di un PIN che contribuisce ad aumentarne la sicurezza qualora la carta sia smarrita.
L’accounting permette di conoscere, per ogni utente, il tempo, il traffico e il costo delle sue con-
nessioni. Il Captive Portal di Zeroshell utilizza RADIUS per trasmettere tali informazioni ed è pertanto
possibile utilizzare un server esterno che supporti l’accounting via RADIUS oppure Zeroshell stesso.
Cosı̀ come per l’autenticazione, anche per l’accounting si può centralizzarne la gestione su di
unico server RADIUS che raccolga le informazioni provenienti da più Hotspot. Si noti peraltro, che
il sistema di accounting di Zeroshell può, proprio perché rispetta lo standard RADIUS, raccoglie-
re sia le informazione dai Captive Portal, sia direttamente dagli Access Point Wi-Fi che utilizzino
WPA/WAP2 Enterprise mediante 802.1x.
9
Figura 11: Dettagli di connessione di un utente
Tramite l’accounting RADIUS è possibile anche impostare dei limiti di connessione per gli utenti.
Per far ciò è sufficiente assegnare gli utenti ad una classe di accounting a cui si attribuiscono i
seguenti parametri:
10
2.12 R EGISTRAZIONE DEGLI ACCESSI E DELLE CONNESSIONI TCP/UDP NEI LOG
Benché già l’accounting mantiene traccia delle connessioni degli utenti alla rete è possibile avere
maggiori dettagli sull’autenticazione degli utenti consultando i messaggi di log del Captive Portal.
Peraltro, soprattutto se i client del Captive Portal utilizzano indirizzi IP privati, può essere utile tenere
traccia delle connessioni TCP e UDP che vengono stabilite con server esterni. Infatti, poiché il
captive portal per far comunicare con la WAN gli indirizzi privati deve eseguire il NAT (Network
Address Translation), tutte le connessioni risultano generate dall’indirizzo IP pubblico del router.
Il Connection Tracking va abilitato esplicitamente ed è raccomandato valutare, prima di abilitar-
lo, quanto il suo utilizzo sia consentito dalle leggi sulla privacy, tenuto conto del fatto che esso non
permette di risalire ai contenuti delle comunicazioni degli utenti, ma soltanto a determinare quali
server sono stati contattati.
11
3 I NSTALLAZIONE E RIMOZIONE DI Z EROTRUTH
Installare Zerotruth è molto semplice ma, come già detto, appoggiandosi completamente a
Zeroshell prima è necessario abilitate su quest’ultimo alcune funzioni.
L’SSH si può abilitare, a seconda delle proprie necessità, per un unico IP address, per una subnet
o per una specifica interfaccia di rete.
Si dovrà inoltre attivare, sempre dalla GUI di Zeroshell, il Captive Portal e il modulo dell’accounting
altrimenti in fase di installazione Zerotruth lo richiederà.
Il Captive Portal si può abilitare, a seconda della propria rete, su una o più interfacce.
12
Il modulo dell’accounting si attiva dalla relativa pagina senza bisogno di scelte particolari.
A questo punto potremo collegarci in SSH a Zeroshell per installare Zerotruth attraverso la bash di
un sistema GNU/Linux 3 o se si utilizza Windows con un programma come Putty. 4
Il chiaro elenco dei comandi che offre Zeroshell indica che per accedere alla Shell Prompt è
necessario digitare “S”.
Al prompt si dovrà ovviamente inserire le proprie credenziali che di default sono “admin” come
username e “zeroshell” come password.
3
Dalla Bash Shell di una qualsiasi distribuzione GNU/Linux ci si può collegare a una postazione Zeroshell appena
installata con il comando “ssh admin@192.168.0.75”.
4
Putty è un programma che permette, tra l’altro, connessioni in SSH ed è liberamente scaricabile.
13
3.2 I NSTALLAZIONE DI Z EROTRUTH
Per installare la versione 4.0 di Zerotruth (zerotruth-4.0.tar.gz), una volta entrati nella shell di Zero-
shell basterà dare i seguenti comandi:
1. cd /DB
2. wget http://www.zerotruth.net/controldl.php?file=zerotruth-4.0.tar.gz
4. cd zerotruth-4.0
5. ./install.sh
5
Se viene messa on-line una nuova versione verrà dato automatico avviso negli aggiornamenti disponili.
14
3.5 ACCESSO ALLA GUI DI AMMINISTRAZIONE
Collegandosi con un browser all’indirizzo IP impostato per Zeroshell viene presentata la pagina di
“scelta” dalla quale si procede verso il login di Zerotruth o verso quello di Zeroshell. Scegliendo Ze-
rotruth viene presentato il form di autenticazione dal quale è possibile accedere con l’username
“admin” e password “zerotruth”.
Dopo l’autenticazione si viene indirizzati alla pagina che mostra l’elenco degli utenti del Captive
Portal per avere immediatamente riscontro dell’utilizzo del sistema.
Al primo accesso si dovrà configurare Zerotruth utilizzando la relativa pagina. Il bottone “Config”
e la pagina di configurazione saranno visibili e accessibili solo all’amministratore del sistema. 6
Si tenga presente che nella testata i bottoni possono variare a seconda della configurazione, dei
servizi attivi e dell’utilizzatore. Ad esempio nella figura 21 non è presente il bottone SMS in quanto
tale servizio non è stato ancora configurato.
6
Agli “utenti gestori” non sarà possibile assegnare il permesso di configurare Zerotruth
15
4 C ONFIGURAZIONE
Nella pagina “Config” sono presenti i link per le varie sezioni.
4.1 Z EROTRUTH
• la lingua dell’interfaccia
Sono attualmente disponibili le seguenti lingue: Italiano, francese, inglese, polacco, portoghe-
se, spagnolo e tedesco 7
• le porte in ascolto
Si può modificare per esigenze particolari la porta per l’HTTP e per HTTPS, in tal caso il sistema
necessità di un riavvio.
Dalla stessa pagina è possibile registrare Zerotruth per poter installare funzionalità extra 8 e ac-
cedere agli aggiornamenti. La registrazione è automatica, dopo aver eseguito una donazione
tramite Paypal o nelle altre modalità previste, 9 si riceverà in breve tempo una email contenente
un codice personale da inserire nel predisposto form.
A seguito della registrazione la pagina mostrerà il codice autorizzato in “chiaro” in quanto non è
possibile utilizzare lo stesso su una postazione diversa.
Il codice sarà valido anche per le versioni successive di Zerotruth se installato sulla stessa posta-
zione. 10
7
Sarebbe molto gradita la traduzione in altre lingue e la correzione, in caso di bisogno, di quelle installate
8
Permesso di personalizzare logo e immagine della testata, installazione di Squid
, R Dansguardian
, R Gammu
, R
modulo MultiCP, modulo MUDC.
9
Oltre alla donazione si può ricevere un codice di attivazione inserendo un link a www.zerotruth.net su un proprio sito
web, scrivendo una semplice recensione o un HOWTO riguardante Zerotruth. Inolte le scuole, centri sociali, biblioteche,
associazioni, Comuni, Enti possono richiedere un codice di registrazione gratuito.
10
Il codice di registrazione verifica il MAC address della scheda di rete vista da Zeroshell come ETH00 e pertanto
anche se viene sostituita tale scheda il codice si invalida.
16
4.2 A DMIN
• L’username
• la password 11
• l’email
che verrà utilizzata come destinatario delle notifiche, nella spedizione del Backup ecc.
• il numero di telefono
per le notifiche via SMS
Si può inoltre scegliere quali notifiche ricevere e attraverso quale canale se i servizi sono attivi. 12
Molto utile a tal propostivo avere la notifica di un riavvio della postazione del Captive Portal per
poter subito controllare se la postazione funziona regolarmente dopo un precedente inatteso
arresto.
Altri avvisi saranno possibili con l’installazione di Gammu (Sez. 4.28.2) che permette, attraverso
una Key o telefono USB, di comunicare anche se la connessione ad Internet non è attiva.
11
L’icona “occhiali” permette la visualizzazione della password.
12
Se il servizio di email o SMS non sono configurati e attivi verrà mostrato l’avviso dell’impossibilità di notificare gli
eventi.
17
4.3 U SERS ( UTENTI GESTORI )
Dalla pagina “Users” si possono inserire e configurare gli utenti gestori del sistema.13
I permessi assegnabili sono molti e auto descrittivi, si precisa il significato dei seguenti:
• Crea Log
Se abilitato tutte le operazioni effettuate dall’utente gestore verranno memorizzare dei Log del
sistema.
13
Dalla versione 3.0 Zerotruth elimina il numero massimo di utenti gestori che nelle precedenti era fissato a 6.
14
L’amministrazione potrà in seguito spostare la “ proprietà” degli utenti da un gestore ad un altro o assegnarli a se
stesso.
18
• Consenti utilizzo dei profili
Si può fissare quali profili utente il gestore potrà assegnare nelle registrazioni del Captive Portal.
• Scadenza
La data oltre la quale il gestore non avrà più accesso al sistema.
Se nel sistema viene installato il modulo “MUDC” sarà anche possibile impostare i permessi per il
suo utiilizzo.
4.4 I MMAGINI
Le prima immagine (Logo) viene visualizzata nella testata di ogni pagina di ammiistrazione, la
seconda in ogni pagina di Zerotruth e nella stampa dei biglietti (Sez. 6.2) mentre la terza in tutte
le pagine di accesso al Captive Portal in base al template scelto.
Le immagini possono essere cambiate, una volta registrato Zerotruth, con una a piacere, rispet-
tando le misure riportate, per personalizzare il sistema.
19
4.5 A STERISK
“Asterisk” può essere utilizzato con Zerotruth per consentire una sicura ed economica autoregi-
strazione (Sez.4.28.2) o, se viene utilizzato anche il modulo “MUDC”(Sez.4.28.2), per consentire agli
utenti alcune operazioni.
Se viene scelto di utilizzare Asterisk installato sul server Zeroshell, da questa pagina è possibile
gestire il suo funzionamento, editare i vari file di configurazione e gli scripts necessari, controllare
l’avvenuta registrazione e il collegamento al provider Voip.
20
4.6 LOG
I log possono essere visualizzati ed eventualmente cancellati da questa pagina.
4.7 MUDC
Dalla versione 4.0 Zerotruth mette a disposizione il modulo MUDC (Multi Users Domotic Control)
che permette di gestire dei centri multiutente per quanto riguarda il riscaldamento, illuminazione,
videocontrollo ed altro.
Se viene attivato nella barra principale di Zerotruth, assieme agli altri “bottoni”, comparirà quello
relativo a MUDC attraverso il quale lo si potrà gestire.
Per la particolarità del modulo MUDC si rimanda per tutte le caratteristiche, la configurazione, i
devices necessari e l’utilizzo al manuale relativo reperibile all’indirizzo
“http://www.zerotruth.net/controldl.php?file=MUDC.pdf ”.
21
4.8 C ONTROLLO LDAP
La pagina permette un controllo sull’integrità del database e segnala eventuali errori; è inoltre
possibile riparare le incongruenze del database attraverso il link “Controlla e ripara”.
4.9 VSBS
Una semplice Shell è disponibile da GUI per controllare o impartire comandi al sistema. Non sono
disponibili tutti i comandi ma per semplici operazioni consente di non dover accedere alla Bash
Shell di Zeroshell.
L’utility può facilitare nei casi di connessione remota al sistema o per problemi con l’accesso a
Zeroshell.
22
4.10 E XPOR T
L’utility consente di esportare gli utenti del Captive Portal in formato testo o CSV.
23
4.11 L INGUA /F ONT
In alcuni casi, quando i dati inseriti nella tabella degli utenti del Captive Portal portano ad una
scorretta impaginazione, si può ridurre, o aumentare, la misura del Font utilizzato.
Inoltre è possibile editare i file di configurazione della lingua di Zerotruth e, se installato, Mudc per
apportare delle modifiche.15
15
In caso di correzioni si prega di inviare il file a truthahn@zerotruth.net.
24
4.12 T EST
Si possono eseguire alcuni test sull’hardware del sistema e sulla velocità di connessione verso
diversi server in internet.
25
4.13 CAPTIVE P OR TAL
Il Captive Portal viene configurato in questa sezione.
Alcune configurazioni sono intuitive, altre meritano una spiegazione più approfondita:
1. Connessioni simultanee
Le connessioni simultanee, vale a dire la possibilità per un utente di collegarsi contempora-
neamente da diversi devices, possono essere proibite, permesse o demandate ai singoli profili.
In questo ultimo caso potranno essere gestite per singolo profilo e configurate nella sezione
apposita.(Sez. 6).
2. Validità autenticatore
Il popup di autenticazione rinnova la richiesta al sistema per il tempo qui impostato.
26
3. Connessioni globali
In alcuni casi è possibile che gli utenti instaurino verso Internet innumerevoli connessioni, ad
esempio usando un client torrent, saturando in tal nodo la banda a disposizione. L’ammini-
stratore può decidere di limitare tale possibilità ad un numero massimo di connessioni dopo le
quali il device relativo viene bloccato dal firewall.
4. Ridirigere con
Il reindirizzamento al Captive Portal viene eseguito di default utilizzando l’Indirizzo IP address
dello stesso. Può essere impostato comunque l’utilizzo del CN, il “Common Name” del cerifica-
to, o uno specifico URL utile per utilizzare un SAN di un certificato SSL (Allegato A).
27
13. Nome Stanza
Per quelle situazioni dove è utile impostare anche l’appartenenza ad un determinato locale,
per esempio una scuola (classe) o un albergo (camera), inserendone il nome nel form sarà poi
possibile utilizzarla nella registrazione degli utenti e comparirà nelle tabelle di visualizzazione
degli stessi e nel form di ricerca.
21. Visualizza MB
Può essere abilitata o disabilitata la visualizzazione, nel popup di autenticazione del Captive
Portal, del traffico generato.
28
25. Avvisa l’utente se Internet è down
Se scelta questa opzione nel caso risultasse non disponibile la connessione ad internet l’utente
verrà avvisato. Nel caso il sistema utilizzi una Key GMS e Gammu (Sez. 4.28.2), si potà anche
impostare la spedizione di un avviso via SMS all’amministratore.
29. Template
Zerotruth mette a disposizione un template, lato utente, di default, è possibile comunque
creare dei propri templates (Allegato B).
1. Abilitazione Servizio
2. Scelta Profilo
Gli utenti che si autoregistreranno prenderanno le impostazioni piu importanti dal profilo scelto
(Sez. 6).
29
3. Registrazione con Asterisk
Zerotruth permette di autoregistrarsi appoggiandosi ad un PBX Asterisk per le varie configura-
zioni fare riferimento alla Sez. 4.14.1.
9. Da Ticket
Si può impostare Zerotruth affinché accetti autoregistrazioni solamente da utenti che hanno
ricevuto un ticket con l’ username già impostato (Sez. 9.4.5).
11. Scadenza
Si può impostare la data dopo la quale l’utente verrà etichettato come “scaduto” e non potrà
più collegarsi. In alternativa è possibile fissare la scadenza in un numero di giorni dalla prima
autenticazione.
14. Giorni
I giorni permessi all’utente per utilizzare il servizio viene visualizzato in base al profilo scelto.
15. Orario
Le due fasce orarie giornaliere nelle quali l’utente potrà utilizzare il servizio vengono visualizzate
in base al profilo scelto.
30
4.14.1 R EGISTRAZIONE CON A STERISK
Zerotruth permette di autoregistrarsi in diversi modi e, per poter avere un controllo dell’identità
dell’utente, utilizza la spedizione tramite SMS delle credenziali. Cosı̀ facendo è possibile verificare
che l’utente autoregistrante abbia inserito dati corretti o, quantomeno, poter risalire allo stesso
tramite il contratto che ha stipulato con la compagnia telefonica in caso di illeciti.
Gli SMS possono essere spediti tramite un servizio da web (già integrati nel sistema), tramite una
key o un telefono, collegati via USB, o un gatewey GSM.
In ogni caso il servizio fa assumere al gestore un costo che puo’ essere anche significativo se
utilizzato da numerosi utenti.
Dalla versione 2.1 Zerotruth permette di avere lo stesso grado di affidabilità nella gestione dell’au-
toregistrazione, e del recupero password, utilizzando un PBX Asterisk per la verifica dell’autenticità
dell’utente senza nessun costo per il gestore del Captive Portal.
C ONFIGURAZIONE Z EROTRUTH
2. scegliere una password, che poi sarà utilizzata da Asterisk per comunicare con Zerotruth in
sicurezza;
3. impostare il limite di tempo concesso per attivare la registrazione dopo il quale, se non attivato,
l’utente sarà rimosso dal sistema;
16
Il numero di telefono per l’attivazione dell’account e per il recupero della password possono essere gli stessi
31
C ONFIGURAZIONE A STERISK
Tra le molteplici funzioni che possiede Asterisk noi andremo a sfruttare la possibilità che offre di
eseguire degli scripts (agi-bin) attraverso i comandi inviati dal chiamante.
Basterà impostare il file di configurazione “extensions.conf ” in modo tale che ricevendo una
chiamata ad un determinato numero esegua il nostro script.
Naturalmente il server Asterisk deve poter comunicare con la postazione Zerotruth che può esse-
re raggiungibile se la stessa è nella medesima LAN, oppure ha un IP pubblico o in VPN o in altri
modi dipendenti dalla configurazione della rete. Utilizzando l’add-on 40600 di Zeroshell (Asterisk
VoIP PBX 13.3.2) si potrà installare Asterisk direttamente sul server Zeroshell rendendo ancora più
semplice ed immediata la configurazione. 17
Se Asterisk interagisce con una sola postazione Zerotruth possiamo fare in modo che esegua il
comando di conferma senza rispondere all’utente e quindi evitando una spesa per lo stesso. In
questo caso sarà necessario impostare l’“extensions.conf ” (che solitamente viene posto in “/et-
c/asterisk/ ” ) e il nostro script (probabilmente in “/var/lib/asterisk/agi-bin/ ”) che andrà a collegarsi
alla postazione Zerotruth, nel seguente modo:
L’utente verrà abilitato, se chiamerà con il numero di telefono inserito al momento della regi-
strazione, senza avere nessun rimando, se non un semplice “ring”, e quindi dovrà essere avvertito
di questo nelle informazioni di post registrazione.
Se si vuole che l’utente abbia una conferma anche telefonica (negli esempi sono state utiliz-
zate le googletts-agi per la lettura dei messaggi) del successo o meno dell’abilitazione si dovrà
impostare la configurazione come segue.
17
Nel caso, consigliato, si utilizzi Asterisk direttamente installato sul server Zeroshell negli scripts sarà sufficiente
modificare “IP ZEROTRUTH” con “localhost” e si troveranno tutti i file di configurazione in “/opt/asterisk/ ”
32
Se Asterisk deve interfacciarsi con più postazioni Zerotruth si procederà come nel seguente esem-
pio:
Assegnando ad ogni postazione Zerotruth un codice (“xxx” ,“yyy”, ...“zzz”) diverso che dovrà
essere inserito dall’utente.
Per il recupero della password da parte dell’utente si utilizzeranno, se vengono configurati numeri
telefonici diversi per l’autoregistrazione e per il recupero password, configurazioni uguali modifi-
cando il comando dello script in:
Oppure se si utilizzerà uno stesso numero si dovrà modificare gli script come nell’esempio seguen-
te:
Se come servizio SMS si utilizza Gammu (Sez. 4.28.2) comparirà nelle possibilità di configurazione
dell’ autoregistrazione “Consenti registrazione completa con invio SMS”.
Se scelta tale opzione l’autoregistrazione risulterà molto veloce per l’utente come descritto nella
Sez. 9.4.4.
33
4.14.3 R EGISTRAZIONE CON T ICKET
Si può optare anche per l’autoregistrazione vincolata alla consegna precedente di un ticket
prestampato.
Se nella configurazione dell’autoregistrazione si sceglie “Da Ticket” l’impostazione verrà poi utiliz-
zata dall’utente come descritto nella Sez. 9.4.5.
4.15 AVVISI
La pagina permette di inserire i vari avvisi agli utenti.
Ogni campo serve semplicemente ad inserire le informazioni relative alla propria “etichetta” che
saranno utilizzate dal sistema nelle varie pagine o funzioni.
34
4.16 B IGLIETTO
La pagina permette di impostare con quali dati verranno stampati i biglietti degli utenti.
In alcune situazioni, come ad esempio dopo una ricerca, nell’inserimento di più utenti con la
funzione “Multi”, o con l’inserimento da file o per per l’autoregistrazione da ticket si può scegliere
quanti biglietti stampare per pagina, in base a come sono configurati, per ottimizzare il consumo
di carta.
35
4.17 PAY PAL
Zerotruth permette di creare dei profili di connessione dove è previsto un pagamento anticipato,
per MB o ore di utilizzo. Il credito registrato consentirà all’utente di utilizzare il servizio e bloc-
cherà lo stesso al suo esaurimento. La funzione di pagamento è stata introdotta in Zerotruth-
1.0.beta2 attraverso PayPal che consente il pagamento tramite carta di credito e l’istantanea
notifica dell’avvenuto accredito (IPN).
Per poter accedere al sito di PayPal durante l’autoregistrazione, dove non si è ancora autenti-
cati, necessita ovviamente di non essere bloccati dal firewall, come avviene prima dell’accesso
tramite Captive Portal. PayPal non ha un range di IP fissi e quindi è impossibile consentire l’ac-
cesso esclusivo agli stessi da parte dell’utente che si sta registrando per cui, come compromesso,
si deve consentire l’accesso al solo registrante, in https per il tempo necessario. Si è scelto di
poter impostare per quante volte e per quanti secondi è consentito ad un utente di completa-
re l’auto-registrazione, prima di venir bloccato definitivamente. La pagina imposta, se il profilo
dell’autoregistrazione è PrePaid i parametri per il pagamento tramite PayPal.
Nel form si deve inserire: - il pulsante che andremo a creare sul sito di PayPal;
- l’avviso di Post pagamento;
- il numero di tentativi possibili per effettuare l’auto-registrazione;
- il numero di secondi che il sistema consente di accedere in https;
- il GMT, in quanto l’IPN di PayPal ritorna l’orario GMT -9.
Se un utente viene bloccato, per l’eccessivo numero di tentativi, l’amministratore può sbloccarlo
scegliendolo dal campo “Libera MAC”.
IMPORTANTE:
PayPal invia l’IPN solamente tramite la porta 80 o 443 quindi si dovrà trovare il modo per ridirigere
la porta scelta sul sito di PayPal sulla porta 8088 di una interfaccia di Zerotruth.
36
4.17.2 C ONFIGURAZIONE PAYPAL
Dopo l’autenticazione sul sito di PayPal, scegliere dal menu “Strumenti vendita” “Preferenze ven-
ditore”.
Si accederà in tal modo al menu dove potremo impostare tutte le opzioni necessarie.
1. PULSANTE PAYPAL
Per prima cosa si dovrà creare il pulsante da incollare nel form riportato precedentemente.
37
Figura 55: PayPal codice pulsante pagamento
2. RITORNO AUTOMATICO
Inserire l’indirizzo “http://yy.yy.yy.yy:8088/cgi-bin/register.sh” dove “yy.yy.yy.yy” rappresenta l’IP del-
l’interfaccia del nostro Captive Portal.
3. IPN
Inserire l’indirizzo “http://yy.yy.yy.yy/cgi-bin/controlpp.sh” dove “yy.yy.yy.yy” rappresenta l’IP pub-
blico che verrà reindirizzato ad un IP della nostra postazione sulla porta 8088.
A questo punto se nella configurazione del Captive Portal in Zerotruth si sceglie per l’autoregistra-
zione un profilo prepaid, o esiste almeno un profilo registrato prepaid, oltre ad essere attivato il
servizio PayPal, nella schermata di autenticazione comparirà il link “Carica Credito” necessario,
nel caso di esaurimento dello stesso, per potersi nuovamente autenticare da parte di un utente
precedentemente registrato.
38
Figura 58: Login con “Carica Credito”
Dopo aver inserito le proprie credenziali sarà possibile scegliere le opzioni di pagamento tramite
il “pulsante” precedentemente inserito.
39
Figura 61: Avviso post pagamento
Se un utente non completa l’auto-registrazione o il “Carica Credito” nei tempi stabiliti verrà
bloccato e avvisato.
40
4.18 PAGAMENTI
La pagina visualizza e gestisce i pagamenti tramite PayPal e alla cassa.
Si possono ordinare i pagamenti in ordine alfabetico per utente, eliminarli e ricercare i pagamenti
di un solo utente cliccando sul nome relativo.
41
4.19 L IBERI / BLOCCATI
Alcune postazioni o servizi possono avere la necessità di non essere intercettati dal Captive Portal
e quindi potersi collegare liberamente alla rete, oppure altre postazioni devono essere bloccate
e non lasciate in alcun caso collegarsi, da questa pagina è possibile gestire tali situazioni.
Una postazione si può “liberare” attraverso l’immissione del suo ip, del MAC address o di entrambi.
Un servizio si può “liberare” attraverso l’immissione del suo ip, della porta ed eventualmente del
protocollo utilizzato.
Una postazione si può “bloccare” attraverso l’immissione del suo MAC address .
42
4.20 WALLED G ARDEN
Un Walled Garden è una pagina web, o delle pagine web, che l’utente può liberamente visua-
lizzare prima di essersi autenticato e verso la quale è automaticamente indirizzato.
Se l’utente cerca di collegarsi ad altri siti verrà rediretto dal sistema alla pagina di autenticazione.
La funzione può essere utile in quelle installazioni dove si vuole permettere all’utente di potersi
collegare a delle pagine informative, per esempio il sito web di un comune o di una scuola, e
solamente se desidera altri servizi obbligarlo ad autenticarsi.
Zerotruth permette di impostare due tipi di Walled Garden: uno interno al sistema ed uno, colle-
gandosi ad una postazione remota di cui si conosca l’ indirizzo IP, esterno.
Il gestore del servizio può comporre la propria pagina importando le immagini tramite GUI.
La pagina è liberamente trasformabile tranne le funzioni in javascript contenute ed è possibile
visualizzarne un’anteprima per un maggiore controllo.
43
4.20.2 WALLED G ARDEN R EMOTO
Per impostare un Walled Garden remoto si dovranno compilare tutti i campi come descritto nella
figura permettendo in tal modo all’utente di poter visualizzare tutte le pagine, e solo quelle, del
sito scelto. Con il link “Controlla” è possibile avere un’anteprima del sito impostato per un controllo
maggiore.
44
4.21 P OPUP
45
4.22 I MMAGINE L OGIN
Si può impostare una o più immagini che compariranno all’utente prima di poter effettuare il
login.
Dopo aver caricato le immagini si può scegliere il tempo di visualizzazione e l’immagine specifica,
o random, da mostrare.
La visualizzazione delle immagini al login è meno invasivo dell’attivazione del popup visto nella
precedente sezione e ai fini informativi probabilmente più utile.
46
4.23 FACEBOOK L IKE
Si può obbligare gli utenti a lasciare un Like su una propria pagina di Facebook per poter utilizzare
il servizio senza essere continuamente disturbati dal popup di richiesta.
Prima di tutto bisogna recuperare un proprio “Plugin Code” dal sito di sviluppo di Facebook
(https://developers.facebook.com) seguendo i seguenti passi:
47
Su Zerotruth è sufficiente cambiare nello script le parti segnate:
1. appId : XXXXXXXXXXXXXX,
sostituendo le X con l’ID assegnato.
3. data-href=ḧttps://developers.facebook.com/docs/plugins
sostituendolo con l’indirizzo della pagina alla quale si vuole assegnare i Like.
48
4.24 P ROXY
Il sistema permette di utilizzare Squid e Havp-ClamAV anche abbinandoli tra loro. Inoltre può
essere attivato il Content Filtering DansGuardian. L’attivazione del proxy può richiedere anche un
minuto pertanto conviene attendere e dare un refresh della pagina per controllare se il proxy è
regolarmente in funzione. Per il corretto funzionamento del sistema le operazioni di configurazione
devono essere effettuata dalla GUI di Zerotruth installando Squid e DansGuardian, se necessitano,
dalla stessa, infatti le versioni dei due programmi non sono compatibili con quelle disponibili da
Zeroshell.
4.24.1 S QUID
Squid è forse il più noto “proxy server” ed è molto utile per ottimizzare i collegamenti ad In-
ternet, infatti memorizza in una cache tutte le richieste HTTP 18 effettuate e le ripropone molto
velocemente alle successive richieste.
18
Squid non può intercettare il protocollo HTTPS.
49
Diventa quindi quasi indispensabile in quelle situazioni, come le scuole, dove le connessioni simul-
tanee agli stessi siti Web sono prevalenti e la banda di collegamento spesso scarsa.
Zerotruth permette da GUI di configurare le caratteristiche essenziali di Squid, tra le numerosissime
presenti nel programma, compresa la memorizzazione nei Log di sistema dei collegamenti effet-
tuati comprensivi dei siti visitati. Va tenuto presente che tale possibilità può essere contraria alle
leggi sulla privacy se non comunicata ed accettata dagli utilizzatori.
4.24.2 DANSGUARDIAN
DansGuardian è un software per filtraggio dei contenuti web e lavora come servizio accessorio
di un proxy.19 Il filtraggio è attuato usando molti metodi, quali l’analisi dell’URL e del dominio,
del contenuto testuale, delle immagini, del contenuto MIME, dell’estensione del file. È in grado
di controllare liste anche molto grandi di domini, URL, parole o frasi correlate alla pornografia e
non solo. Da GUI è possibile configurare le caratteristiche basilari tenendo presente che il “Filter
Level” sarà più selettivo con valori bassi e si dovranno fare delle prove per testare l’adeguatezza
alle norme della struttura che ospita il Captive Portal.
Zerotruth utilizza Havp e ClamAV come antivirus centralizzato sulle pagine web e filtraggio dei
contenuti già disponibile in ogni installazione di Zeroshell. Pe un approfondimento si rimanda alla
documentazione dettagliata presente sul sito di Zeroshell (Web Proxy Trasparente con Antivirus e
Blacklist degli URL).
19
Dansguardian non è attivabile se non insieme, nel nostro caso, a Squid e/o Havp.
50
4.25 S HAPER
Zerotruth dipone di uno “shaper”, uno strumento che permette di limitare il traffico che passa
per una determinata interfaccia. Questa funzione è prevista sui sistemi GNU/Linux dal kernel che
consente di limitare il traffico in ingresso ed in uscita per una o più interfacce di rete.
Per rendere più semplice il traffic shaping Zerotruth utilizza, adattandolo, l’ottimo script CBQ.init.
La pagina consente di attivare lo shaping e una volta inseriti nei Profili (Sez. 6) i limiti di banda
ne visualizza e aggiorna costantemente il funzionamento.
51
4.26 B LOCKER
I sistema permette di attivare e gestire un sistema per bloccare tentativi di intrusione e pubblicità
indesiderata.
4.26.1 IP B LOCKER
Nella sezione Blocker Zerotruth consente di inserire un numero di tentativi falliti di accesso alla GUI
di amministrazione o in SSH dopo i quali un IP viene bloccato.
Viene permesso anche di marcare un IP come fidato che non sarà soggetto al controllo.
4.26.2 AD B LOCKER
La seconda parte della pagina invece offre la possibilità di attivare e aggiornare un AD Blocker di
molti siti solitamente indesiderati. L’aggiornamento dell’elenco dei siti indesiderati può avvenire
manualmente o programmato per giorno, settimana o mese.
52
4.27 E MAIL
Il servizio di invio email messo a disposizione da Zerotruth si deve appoggiare ad un server di posta
elettronica con SMTP per inviare i messaggi. In base al servizio che si vuol utilizzare si dovranno
impostare opportunamente i vari parametri.
Di default Zerotruth è configurato per utilizzare Gmail come Realy Server e, in questo caso, basterà
unicamente inserire il proprio indirizzo di posta elettronica e la propria password lasciando invariati
gli altri dati.
Il Form consente anche di inserire una intestazione e un footer che compariranno in tutte le email
inviate.
Molte comunicazioni con gli utenti avvengono in modo automatico attraverso l’invio di una email,
come al momento della registrazione o di un aggiornamento. Se non si vuole che ciò avvenga
deselezionare “Notifiche utente”.
Il servizio di posta elettronica è inoltre importante per il Backup di sistema e per gli avvisi all’ammi-
nistratore.
53
4.28 SMS
L’ invio di SMS si deve normalmente appoggiare ad un servizio SMS da WEB offerto da numerosi
provider.
Zerotruth è già configurato per utilizzare alcuni dei più noti ed affidabili servizi presenti in rete:
• Skebby
• Mobyt
• SMSglobal
• Aimon
• SubitoSMS
• SMSbiz
Se il servizio scelto lo permette si potrà anche visualizzare il credito residuo e il numero di SMS
ancora disponibili. Zerotruth utilizza la spedizione di SMS in numerose funzioni ed è indispensabile,
se non si utilizza Asterisk (Sez.1), per l’autoregistrazione degli utenti. Oltre all’autoregistrazione il
servizio SMS è utilizzato per:
• Recupero password
• Notifiche all’Amministratore
Esiste anche la possibilità di utilizzare un proprio Gateway GSM, una Key GSM o un telefono USB
per essere completamente autonomi e non sottostare ad eventuali scollegamenti da Internet.
54
4.28.1 MY SMS SCRIPT
Nel caso si volesse disporre di uno script personalizzato per il servizio SMS è possibile utilizzare la
funzione “my SMS script”.
Lo script può essere composto direttamente da GUI utilizzando il Form proposto e utilizzando le
variabili già assegnate visualizzabili nelle righe commentate dello stesso.
55
4.28.2 G AMMU
Per utilizzare una propria Key GSM oun telefono USB Zerotruth si avvale del supporto di “Gammu”.
Gammu è un’utility da riga di comando per gestire molti modelli di device GSM.
Per configurare adeguatamente il device fare riferimento alle tabelle presenti sul sito WEB di
Gammu, in particolare accertarsi di riportare correttamente il parametro di connessione.
Se di ha un solo device USB la porta dovrebbe esere “/dev/ttyUSB0” altrimenti accertarsi tramite
i comandi “lsusb” e/o “dmesg” di come il sistema “mappi” il device.
Se la configurazione va a buon fine la pagina dovrebbe riportare il corretto device e lo status
positivo, e si potrà utilizzare per inviare gli SMS come nelle configurazioni precedenti.
In vantaggio di utilizzare una Key GSM sta nel fatto che, ovviamente, non risente di un eventuale
scollegamento dalla rete Internet e potrà quindi, ad esempio, inviare alert all’amministratore.
Un’altra importante funzione che consente l’utilizzo di Gammu è quella di poter ricevere degli SMS
e quindi essere utilizzato sia per l’autoregistrazione degli utenti, come già descritto nella sezione
dell’autoregistrazione, sia ricevere comandi per il sistema.
Utilizzando il Form proposto nella pagina si può preparare un proprio script che, utilizzando le
variabili già assegnate, esegua dei comandi ed eventualmente invii all’amministratore delle ri-
sposte.
56
4.29 M ULTI CP
Il sistema permette di gestire, in modo centralizzato, dei Captive Portal remoti con tutte le funzioni
di Zerotruth e non solamente per l’autenticazione Radius già disponibile in Zeroshell.
Per realizzare l’infrastruttura è necessario che tutte le postazioni 20 siano dotate di Zeroshell e Zero-
truth. Una volta installato Zerotruth è possibile abilitarne la funzione “server” o “client” dopo aver
permesso il collegamento delle varie postazioni. Per maggior sicurezza si consiglia di collegare i
vari sistemi tramite una VPN a “stella” che risulta essere facilmente implementabile dall’interfac-
cia di Zeroshell. Dalla postazione “server” sarà possibile gestire completamente tutte le postazioni
come se si trattasse di un unico Captive Portal rendendo molto agevole il mantenimento del ser-
vizio offerto, ad esempio, da scuole con sedi distaccate, servizi comunali sul territorio o catene di
esercizi commerciali.
57
4.30 B ACKUP
I backup possono essere scaricati immediatamente o resi automatici con cadenza giornaliera,
settimanale o mensile 21 con modalità diverse anche combinate tra di loro.
Inoltre è possibile cancellare al termine della spedizione dei backup, o dell’immediato download,
i log di sistema e gli utenti eliminati 22 per poter recuperare dello spazio sul disco nel caso si ritenga
opportuno.
Se viene configurato e abilitato il servizio email inviare i backup attraverso questo canale risulta
molto semplice e non necessita di nessun altro tipo di configurazione. I backup verranno inviati
all’Amministratore in formato compresso “tgz”.
21
I backup verranno inviati alle ore 00:01:00 ogni giorno, se viene scelta la cadenza giornaliera, o ogni lunedı̀, se
viene scelta la cadenza settimanale, o il primo giorno del mese se viene scelta quella mensile.
22
Si ricorda che gli utenti eliminati dal database vengono archiviati in una apposita directory per non perdere i loro
dati di accountig.
58
4.30.3 B ACKUP CON D ROP B OX
Una valida alternativa per eseguire i backup consiste nell’utilizzare un canale sicuro, attraverso il
protocollo SSH, con il programma SCP.
Se viene utilizzato questo sistema verrà creata automaticamente la chiave pubblica e privata per
poter consentire la comunicazione tra il sistema e il server remoto senza dover, come nei normali
collegamenti SSH, autenticarsi con una password mantenendo lo stesso grado di sicurezza.
Il sistema consiste nell’inserire una chiave pubblica, generata con quella privata che risiederà su
Zerotruth, all’interno della configurazione del server remoto. In tal modo ad ogni connessione
utilizzando il protocollo SSH verrà controllato se la nostra chiave privata e quella pubblica fanno
parte della stessa coppia e, in caso positivo, l’accesso al sistema sarà consentito senza chiedere
altre autenticazioni. Tale modalità di autenticazione è molto sicura infatti trovare una chiave pri-
vata partendo da una pubblica è praticamente impossibile e certamente molto più complicato
di trovare una password.
Viene mostrata, al termine della configurazione, attraverso il link “SSH Key” la chiave pubblica da
inserire sul server remoto, eventualmente aggiungendola su una nuova riga a quelle già presenti,
nel file “/home/USER REMOTE/.ssh/authorized keys” o “/root/.ssh/authorized keys” se si imposta
un collegamento con le credenziali di “root” .
Se il file “authorized keys” non esiste si dovrà crearlo e successivamente, dalla Shell di Zero-
shell, collegarsi in SSH per la prima volta al server remoto in modo da memorizzarlo tra gli hosts
conosciuti e fidati.
In questa fase, non avendo ancora copiato la chiave pubblica e non avendo ancora effettuato
un primo collegamento in SSH con il server remoto, il sistema segnalerà la mancata connessione
sicura con un “bollino rosso”.
Per copiare la chiave pubblica sul server remoto si può utilizzare un modo più semplice descritto
nella prossima pagina.
59
Per facilitare l’operazione Zerotruth mette a disposizione lo script “ssh-copy-id”, opportunamente
modificato, che si deve eseguire dalla Shell di Zeroshell comprensivo di “path” .
“/DB/apache2/cgi-bin/zerotruth/scripts/ssh-copy-id”
Se il procedimento avrà esito positivo verrà riportato altrimenti verrà segnalato l’errore.
Tornando alla GUI di Zerotruth e ricaricando la pagina della sezione backup verrà ora visualizzato
il collegamento sicuro attivato e la possibilità di controllare i backup effettuati sul server remoto.23
23
Ad ogni apertura, o refresh, della pagina il sistema invia un file al sistema remoto per essere certi dell’effettivo
funzionamento segnalando quindi lo stato reale del collegamento.
60
4.30.5 R IPRISTINO B ACKUP
Inoltre è possibile aggiornare o ripristinare il sistema caricando un backup, della stessa versione at-
tualmente installata 24 , precedentemente salvato o, se utilizzato SCP come canale di trasmissione,
come già visto nella Sez. 4.30.4.
,
Figura 93: Scelta backup da caricare
Dopo aver scelto il backup da caricare si potranno fare ulteriori scelte per ripristinare anche
singole parti dello stesso.
Al termine dell’operazione verrà visualizzato il corretto o meno caricamento di ogni singolo ele-
mento.
24
Per gli importanti cambiamenti strutturali che ogni versione di Zerotruth ha avuto si è scelto di non permettere il
caricamento di backup da versioni precedenti.
61
4.31 C ONTROLLO CAPACIT À DISCO
Soprattutto quando il sistema è installato su device embedded può essere importante tenere
sotto controllo la capacità residua del supporto di memorizzazione dei dati.
Oltre a mostare la capacità e i MB ancora disponibili Zerotruth permette di essere avvisati, tramite
SMS o email se opportunamente configurati, nel caso venga superata una determinata soglia e
anche di eliminare i LOG di sistema che possono occupare notevole spazio.
4.32 G RAFICI
Vengono messi a disposizione diversi grafici per il controllo del sistema, alcuni relativi all’utilizzo
delle risorse, CPU, RAM e rete, altri all’utilizzo del Captive Portal.
62
Il grafico relativo all’utilizzo della RAM viene aggiornato in tempo reale.
I grafici relativi all’utilizzo del Captive Portal vengono aggiornati alle ore 00.01 di ogni giorno e
mostrano l’utilizzo del sistema sia per ore di collegamento che per traffico in MB. Esiste comunque
la possibilità di aggiornarli manualmente dal relativo link presente nella pagina.
63
Figura 101: Grafico utilizzo CP per mesi
64
Figura 104: Grafico top ten utenti
Il grafico “Top Ten” visualizza i 10 utenti che hanno maggiormente utilizzato il Captive Portal sia
per ore di connessione che per MB (RX+TX).
È possibile selezionare i dati impostando una precisa fascia temporale per un controllo più accu-
rato.
65
4.33 AGGIORNAMENTI
La pagina permette di accedere agli aggiornamenti di Zerotruth che vengono visualizzati, se
presenti, con la possibilità di installarli.
Gli aggiornamenti possono essere automatizzati e, se configurato e attivato il servizio email, essere
avvisati quando questi avvengono.
4.34 U PGRADE
La pagina per l’aggiornamento mostrerà, se presente, il possibile “upgrade” ad una versione
successiva con la possibilità di effettuarlo da GUI. 26
25
L’orario casuale è stato scelto per non caricare il server di aggiornamento con numerose chiamate
contemporanee
26
La versione 3.0 di Zerotruth, per le strutturali modifiche inserite nella versione successiva, riporterà solamente l’avviso
e la versione 4.0 dovrà essere installata da “shell”.
66
5 G ESTIONE U TENTI
La visualizzazione e la gestione degli utenti registrati avviene nelle pagina “Lista Utenti” e “Ag-
giungi Utente”.
Abbiamo già visto come Zerotruth permetta l’ autoregistrazione. Esistono altri quattro modi per
inserire gli utenti nel database del sistema da parte del gestore.
3. Il valore del campo “Nome” è obbligatorio a meno che non si sia configurato diversamente
nella sezione Captive Portal alla voce “Consenti Utenti Anonimi”.
4. Il valore del campo “Cognome” è obbligatorio a meno che non si sia configurato diversamen-
te nella sezione Captive Portal alla voce “Consenti Utenti Anonimi”.
6. Il valore del campo “Telefono” non è obbligatorio. Nel caso del suo inserimento dev’essere
senza gli zeri o segni iniziali.
7. Il valore imposta il profilo assegnato. Viene proposto di default il profilo “DEFAULT ” che non ha
nessun limite per l’utente.
8. Il campo riporta su quale interfaccia è atttivo il profilo. Si vedrà nella sezione Profili (Sez. 6)
come sia possibile assegnare agli stessi interfacce diverse.
9. È permesso “nascondere” determinati utenti alla vista, e quindi alla gestione, agli utenti gestori.
Se selezionato “Nascosto” soltanto l’amministratore potrà vedere e gestire l’utente.
67
10. I campi relativi alla “Scadenza” impostano la data oltre la quale l’utente verrà definito “Sca-
duto”. Se non impostato L’utente avrà durata illimitata.
11. Si può impostare una data di scadenza in un numero di giorni dalla prima autenticazione.
12. Se scelto un profilo prepagato si può inserire un credito iniziale.
13. È possibile assegnare all’utente gli unici giorni nei quali può autenticarsi. Se non scelti potrà
autenticarsi ogni giorno.
14. Si può limitare la possibilità di autenticazione all’utente in due fasce orarie giornaliere.
15. Si può bloccare l’utente se supera un certo numero di ore di connessione per giorno o mese.
16. Si può bloccare l’utente se supera un certo numero di MB utilizzati nelle connessioni per giorno
o mese.
17. È possibile visualizzare e stampare il biglietto per l’utente in tutte le lingue installate in Zerotruth
nel formato deciso nella configurazione relativa ai biglietti.
18. Al termine della registrazione il campo consente di inviare all’utente, se inserita l’email e/o il
numero di telefono, i dati di registrazione.
19. Talvolta può essere utile inserire delle note relative all’utente.
La funzione permette, ad esempio, di stampare diversi biglietti per consegnarli alla reception di
un albergo e già caricati di un credito.
68
5.1.3 AGGIUNGERE UTENTI DA FILE
Se si è in possesso di un file con i dati degli utenti, come ad esempio l’anagrafica di una scuola,
si può usare per inserire gli utenti nel database. Il file deve essere in formato puro testo ottenibile
con un editor come gedit, nano o notepad.
La pagina mostra un avviso sul formato accettato e permette il caricamento del file.
Dopo il caricamento verrà visualizzato il form per impostare l’inserimento degli utenti riportandone
il numero trovato nel file.
Al termine del procedimento verranno visualizzati a video, pronti per essere stampati, i biglietti
degli utenti.
69
5.1.4 AGGIUNGERE UTENTI VINCOLATI AL BIGLIETTO
Se nelle impostazioni dell’autoregistrazione viene abilitato “Da Ticket” comparirà anche la possi-
bilità di registrare gli utenti i quali saranno gli unici abilitati ad autoregistrarsi.
70
5.2 L ISTA UTENTI
Il tipo di visualizzazione delle tabelle che elencano gli utenti inseriti nel sistema viene scelto nella
sezione “Captive Portal” (Sez. 4.13) alla voce “Abilita tabella utenti veloce”.
Se tale opazione non viene selezionata la visualizzazione degli utenti avverrà in modalità standard
altrimenti con una tabella chiamata “veloce” per la rapidità della visualizzazione anche se con
meno dettagli.
La tabella standard consente di visualizzare ed intervenire su molti aspetti degli utenti attraverso i
relativi link-bottone e icone.
1. La colonna riporta il numero progressivo degli utenti visualizzati che collega ad una scheda
dettagliata del singolo utente.
71
2. La colonna riporta il numero di sessioni effettuate dall’utente con la possibilità di visualizzarle
anche in determinati range di tempo.
3. La colonna riporta gli utenti validi, contrassegnati con una icona verde, e quelli scaduti, con-
trassegnati da un’icona rossa. Un utente viene catalogato cone scaduto quando ha superato
la data di scadenza, le ore massime di collegamento, i MB massimi che può utilizzare o, nel
caso di profili a pagamento, non ha più credito.
4. La colonna riporta se per l’utente sono state inserite delle informazioni aggiuntive, nel qual
caso possono essere visualizzate. In alcuni processi tale caratteristica è molto utile in quanto
viene visualizzato se l’utente si è autoregistrato, è in attesa di completamento di registrazione
(autoregistrazione con Asterisk), ecc.
6. La colonna riporta gli utenti attualmente collegati. Il link dell’eventuale icona di collegamento
consente di disconnettere immediatamente l’utente relativo.
Se è abilitata la connessione simultanea e l’utente risulta collegato con due o più device
l’icona riporta un punto rosso.
In tal caso il link scollegherà l’utente da tutti i device utilizzati. Se si vuole scollegare l’utente da
un solo device è necessario utilizzare il link sul numero delle connessioni che aprirà la pagina
relativa.
Per scollegare l’utente da un singolo device si dovrà scegliere il link “Attivo” sulla riga deside-
rata.
72
7. La colonna riporta gli utenti liberi o bloccati. Un utente può essere bloccato o sbloccato ma-
nualmente dal link dell’icona oppure automaticamente dal sistema se ha superato il tempo
massimo consentito giornaliero o mensile impostato, i MB utilizzabili giornalieri o mensili impo-
stati, non rientra nell’orario o nei giorni consentiti di collegamento. Superati i limiti impostati un
utente bloccato ritorna libero.
8. I’icona matita è un link che porta alla pagina per la modifica dei dati relativi all’utente.
Se nella sezione relativa all’autoregistrazione (sez. 4.14) è stata abilitata la funzione “Da Tic-
ket” nella pagina che visualizza la lista degli utenti registrati comparirà il link per gestire tale
caratteristica.
È possibile bloccare o sbloccare, eliminare e stampare nuovamente i biglietti per gli utenti in
attesa di autoregistrarsi.
Dalla stessa pagina, si possono aggiugere altri utenti.
73
5.2.3 R ICERCA UTENTI
Nella pagina della lista degli utenti è presente il link per poter effettuare delle ricerche nel data-
base.
• Scollega
Gli utenti selezionati verranno, se risultano con una connessione attiva, scollegati.
• Blocca
Gli utenti selezionati verranno bloccati e non potranno collegarsi al Captive Porta; se risultano
connessi l’operazione contemporaneamente effettuerà il loro scollegamento.
74
• Sblocca
Gli utenti selezionati verranno, se risultano bloccati, sbloccati .
• Rendi nascosto
Si può rendere nascosto, e quindi visibile e gestibile solo dall’amministratore, il blocco degli
utenti selezionati.
• Rendi pubblico
Si può rendere pubblico, e quindi visibile e gestibile anche dagli utenti gestori, il blocco degli
utenti selezionati.
• Download sessioni
Si può eseguire immediatamente un backup delle sessioni degli utenti selezionati.
• Cancella sessioni
Si può cancellare dal sistema le sessioni del blocco degli utenti selezionati. Questa operazione
comporta la non rintracciabilità dell’utilizzo sul Captive Portal degli utenti interessati e va quindi
eseguita con attenzione e dopo aver eseguito un backup delle sessioni registrate sul sistema.
• Cambia profilo
Si può cambiare profilo, e quindi le caratteristiche di base, degli utenti selezionati.
• Cambia gestore
Si può cambiare il “proprietario” degli utenti selezionati.
• Stampa biglietto
Se nella confiurazione del Captive Portal viene impostato “Abilita tabella utenti veloce” (Img: 38),
la pagina “Lista Utenti” si presenterà nel modo seguente.
La “Tabella Veloce” mostra gli utenti del Captive Portal su tre colonne e con meno dettagli di
quella di standard ma nella visualizzazione risulta essere più veloce.
È possibile comunque passare alla visualizzazione standard utilizzando l’apposito bottone-link.
75
6 P ROFILI
I profili sono delle “categorie” alle quali tutti gli utenti del Captive Portal appartengono sia che
vengano inseriti dai gestori nel database sia che si siano autoregistrati attraverso le varie modalità
permesse.
I profili inseriti possono essere modificati o cancellati ad esclusione del profilo “DEFAULT ” che ri-
marrà come profilo base con nessun limite per l’utente. Se un profilo viene cancellato tutti gli
utenti associati allo stesso passeranno al profilo “DEFAULT ”.
Il campo “Connessioni simultanee” verrà visualizzato solamente se nella configurazione del Cap-
tive Portal (Sez. 4.13)) è stata demandata ai profili la specifica gestione.
76
6.2 AGGIUNGI P ROFILO
Il bottone-link “Aggiungi Profilo” porta al form di inserimento di un nuovo profilo.
I profili definiscono le caratteristiche base degli utenti e i limiti di utilizzo del sistema. Si possono
inserire più profili con configurazioni diverse per consentire agli utenti accessi diversi, in una scuola,
ad esempio, si possono prevedere profili specifici per i docenti, gli alunni, la segreteria etc.
Il campo “Connessioni simultanee” verrà visualizzato solamente se nella configurazione del Cap-
tive Portal (Sez. 4.13)) è stata demandata ai profili la specifica gestione.
Nel caso sia anticipato si potrà prevedere un tempo libero iniziale durante il quale l’utente potrà
incrementare il proprio credito attraverso un pagamento alla cassa, in questo caso il gestore
del sistema aggiornerà lo stato dell’utente immettendo il versamento ricevuto o, se configurato,
autonomamente utilizzando Paypal. Se viene selezionato il tipo di pagamento anticipato il form
darà la possibilità, visualizzandolo, di inserire il Tempo libero in minuti.
77
6.4 P ROFILO CON LIMITE DI BANDA
Se abilitato lo shaper (Sez. 4.25) nell’impostazione dei profili sarà possibile assegnare agli utenti un
limite di banda sia in download che in upload. Il limite di banda è configurabile per “profilo” o per
“user”. Nel primo caso la banda assegnata sarà divisa tra tutti gli utenti collegati appartenenti al
profilo mentre nel secondo verrà assegnata per singolo utente.
Se il Captive Portal è attivo su più interfacce di rete comparirà nelle impostazioni da immettere
anche la possibilità di assegnarle ai singoli profili.
Gli utenti appartenenti al profilo potranno collegarsi solamente alle interfacce selezionate.
Ad esempio in una scuola si possono dividere gli utenti in profili diversi dove gli alunni possano
collegarsi solamente sulla rete wired (aula informatica) mentre i docenti anche su quella wireless.
Se il Captive Portal è attivo su più interfacce di rete verrà riportato anche nell’elenco dei profili.
In Zeroshell i profili vengono definiti classi, si è scelto in Zerotruth di chiamarli in tal modo perché
essendo stato inizialmente sviluppato per una scuola poteva creare confusione ai gestori scam-
biandoli per le classi scolastiche.
78
7 E MAIL
Gli utenti inseriti nel database possono essere contattati o avvisati attraverso email. La funzione
può trovare un valido motivo per avvisi riguardanti manutenzioni o programmate interruzioni del
servizio del Captive Portal oppure, negli esercizi commerciali, per inviare auguri o inviti.
Viene inizialmente visualizzato il form di ricerca, naturalmente dei soli utenti con email registrata,
dove è possibile combinate i vari campi per una ricerca accurata.
Successivamente sarà possibile scegliere, attraverso i relativi check box, i soli utenti ai quali si vuole
inviare l’email.
Le email conterranno automaticamente, oltre al testo immesso nel form, anche una intestazione
e un piè di pagina come inserito nella configurazione degli “avvisi” del Captive Portal (Sez. 4.15).
Le email inviate verranno memorizzate nei LOG di sistema dove potranno essere visualizzate e/o
cancellate.
79
8 SMS
Gli utenti inseriti nel database possono essere contattati anche attraverso SMS.
Successivamente sarà possibile scegliere, attraverso i relativi check box, i soli utenti ai quali si vuole
inviare il messaggio che non potrà superate i 160 caratteri.
Se il fornitore del servizio lo consente ad ogni invio verrà aggiornato il credito residuo in modo da
avere il controllo delle spese effettuate e la possibilità o meno di inviare ulteriori messaggi.
Gli SMS inviati verranno memorizzati nei LOG di sistema dove potranno essere visualizzati e/o
cancellati.
80
9 U TILIZZO CAPTIVE P OR TAL
Come riportato da Wikipedia “ La tecnica di Captive Portal forza un client http connesso ad una
rete di telecomunicazioni a visitare una speciale pagina web (usualmente per l’autenticazione)
prima di poter accedere alla navigazione. 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 a
Internet. In quel momento il browser viene rediretto verso una pagina web la quale può richiedere
l’autenticazione oppure semplicemente l’accettazione delle condizioni d’uso del servizio. ”
Gli elementi possono variare nella pagina in base ai device utilizzati quali smartphone e tablet.
La pagina di login verrà visualizzata nella lingua impostata nella configurazione del sistema ma
si potrà scegliere una delle lingue presenti in Zerotruth cliccando sulle relative icone “bandiera”.
L’utente visualizzerà le pagine di autenticazione e ogni informazione successiva in base alla lingua
scelta.
81
Sarà inoltre possibile visualizzare le informazioni neccessarie, inserite nella configurazione “avvisi”
del Captive Portal (Sez. 4.15), per l’accesso o altre notizie attraverso il link “Info”.
Dopo aver immesso le proprie credenziali l’utente verrà, se queste risultano autorizzate, abilitato
all’accesso e verrà mostrato il popup di autenticazione.
Si potrà disabilitare la visualizzazione del Traffico e/o del Costo se si ritiene utile nella configurazione
del Captive Portal (Sez. 4.13).
82
Il popup di autenicazione precedentemente mostrato è quello di default ma è possibile utilizzar-
ne uno alternativo, maggiormente adeguato alla grafica di Zerotruth, che dispone di maggiori
funzioni, come l’avviso dell’imminente disconnessione per il raggiungimento dei limiti di tempo o
di traffico.
Si può scegliere di abilitare quest’ultimo popup nella configurazione del Captive Portal ( Sez. 4.13)
alla voce “Popup autenticazione di Zerotruth”.
Per i device mobili, che possono avere dei problemi con il rinnovo dell’autenticazione tramite
popup, Zerotruth propone un sistema alternativo, se abilitato nella configurazione del Captive
Portal ( Sez. 4.13), reindirizzando l’utente verso una pagina dedicata. Da tale pagina l’utente
potrà continuare nella navigazione, controllare i propri dati e scollegarsi. Il sistema controlla, ogni
tot minuti impostati sempre nella configurazione del Calpive portal, che la pagina sia attiva dopo
la quale la connessione verrà disattivata.
83
9.1.2 L OGIN A PER TO
Se nella configurazione del Captive Portal (Sez. 4.13) viene impostato il “servizio aperto” l’utente
potrà accedere senza dover inserire nessun dato in modo quindi molto veloce.
Alla prima connessione verranno visualizzati i dati e i limiti con i quali si accederà alla rete e che
l’utente dovrà accettare per prosegure.
Successivamente, e cosı̀ per ogni ulteriore accesso, si dovrà solamente utilizzare l’apposito bottone-
link per essere autenticati.
La pagina di login del sistema aperto permette all’utente di cancellare il proprio account.
Si consideri comunque che, anche in questo caso, quando Zerotruth elimina un utente esegue
una copia dei relativi dati, comprensivi delle sessioni effettuate, che potranno essere recuperati
tramite backup.
84
9.1.3 L OGIN CON CODICE QR
I biglietti con le credenziali degli utenti, come visto nella pagina di configurazione dei biglietti
(Sez. 6.2), possono contenere anche un codice QR con le credenziali per l’accesso alla rete. Il
sistema è molto pratico per quei devices che possono installare, o hanno già installato, un lettore
di codici QR che li indirizzerà velocemente all’autenticazione automatica e all’accesso alla rete.
Risulta necessario avere il servizio email abilitato per tale funzione in quanto all’utente verrà
spedito un codice di controllo da inserire nel form successivo per una ulteriore sicurezza.
Naturalmente per il successo dell’operazione l’utente deve essere stato inserito nel sistema anche
con il proprio indirizzo email.
Esistono altre procedure per modificare la password da parte di un utente se il sistema è confi-
gurato per l’auto-registrazione con Asterisk (Sez. 9.4.3) o Gammu (Sez.4.28.2) o con invio di SMS
(Sez.4.14.2).
85
9.3 D ETTAGLI CONNESSIONI UTENTE
Dal popup di autenticazione è possibile per l’utente, attraverso il link “Dettagli Connessioni”,
visualizzare una scheda che riassume i propri dati e l’utilizzo del Captive Portal.
Dalla scheda inoltre è possibile accedere ai dati dell’accounting con l’elenco di ogni singola
connessione dove viene specificato:
• l’indirizzo IP e il MAC address del device che ha effettuato il collegamento;
• i MB in download;
• I MB in upload
• il traffico totale;
• il tempo totale ;
• l’eventuale costo.
Per un controllo più dettagliato è inoltre possibile fare una ricerca per un determinato range di
tempo.
86
9.4 AUTOREGISTRAZIONE
Zetrotruth consente l’autoregistrazione in modi diversi ma sempre avendo cura di poter risali-
re in modo preciso al reale utente nel caso vi sia la necessità. Nel caso si imposti la registra-
zione in modo aperto, utile soprattutto in reti wired dove si voglia avere un maggior controllo
sulle connessioni, si avrà la registrazione del MAC address e quindi la possibilità di risalire alla
postazione.
Dopo aver inserito le proprie credenziali l’utente, se inserite negli “avvisi” del Captive Portal (Sez.
4.15), per proseguire dovrà accettare le “norme” di utilizzo del servizio.
87
AL termine del procedimento di autoregistrazione l’utente visualizzerà la conferma dell’esito che
riporterà quanto inserito nella configurazione degli “avvisi” del Captive Portal (Sez. 4.15).
Una volta installato il modulo relativo Zerotruth consente l’autoregistrazione con i più popolari
Social Network: Facebook, Google+ e Twitter.
Zerotruth verifica che le credenziali siano valide e registra l’utente con l’indirizzo email inserito
e la password registrata non in chiaro nel database come per gli altri utenti ma codificata in
MD5. In tal modo sia l’amministratore che gli utenti gestori non potranno visualizzare la reale
password degli utenti che si sono registrati in questa modalità. Per tali utenti quindi non sarà
possibile recuperate la propria password se viene smarrita mentre potranno modificarla anche
diversamente di quanto registrato sul Social Network.
88
Figura 160: Autoregistrazione con Google+
89
9.4.3 AUTOREGISTRAZIONE CON A STERISK
Al termine del procedimento l’utente verrà avvisato della necessità, per completare la registrazio-
ne, di chiamare il numero del centralino Asterisk con la SIM del numero inserito nella registrazione.
90
Nella lista utenti troveremo a questo punto l’utente registrato contrassegnato con il logo di Aste-
risk. L’utente risulterà bloccato in attesa di conferma e non potrà essere modificato dai gestori o
dall’admin ma solo, eventualmente, eliminato.
Quando l’utente effettuerà la chiamata telefonica per il controllo dell’autenticità del numero
inserito la tabella riporterà l’utente come definitivamente registrato eventualmente mostrando i
limiti assegnati dal profilo assegnato.
Se viene configurata l’autoregistrazione “completa con invio SMS” (Sez. 4.14.2) la procedura
diventa facile per l’utente che deve essere a conoscenza del numero telefonico del servizio.
Infatti basta inviare un SMS al numero del device impostato su Zerotruth con un’unica parola
scelta come password.
Il numero di telefono del chiamante verrà registrato come “username”.
La modalità risulta essere efficace in quelle strutture dove i clienti possono essere avvisati del
sistema .
Se si abilita tale sistema di auto registrazione verrà disabilitato quello di default.
L’autoregistrazione da Ticket risulta adeguata per quelle strutture nelle quali esiste un contatto
diretto con l’utente quali un albergo o un campeggio e si configura nelle impostazioni del Captive
portal (Sez. 4.14.3)
All’utente viene consegnato un ticket preparato in precedenza (Sez. 5.1.4) con inserito solo
l’username.
Solamente gli utenti in possesso del biglietto potranno autoregistrarsi inserendo nel campo user-
name del form di autoregistrazione quanto riportato.
Per il resto il processo di autoregistrazione rimane invariato. Se si abilita tale sistema di auto
registrazione verrà disabilitato quello di default.
91
9.5 R ECUPERO PASSWORD
Zerotruth permette all’utente di recuperare la propria password in relazione all’impostazione del
sistema.
Dalla pagina di login è possibile per l’utente recuperare la propria password se dimenticata.
L’utente deve essere in possesso comunque del proprio username e inserire la propria email e il
numero di telefono che sarà utilizzato per inviare la password attraverso un SMS.
Se il sistema di autoregistrazione è impostato per essere utilizzato con Asterisk l’utente potrà
recuperare la propria password attraverso una chiamata telefonica come descritto nella Sez.
4.14.1.
92
9.6 B LOCCO CAPTIVE P OR TAL
Per manutenzioni o altre necessità è possibile bloccare l’accesso al Captive Portal dandone
avviso agli utenti che tentano di collegarsi.
Il blocco del servizio avviene se il Captive Portal, pur essendo attivato, non viene posto online.
(Sez. 4.13).
L’avviso che comparirà all’utente potrà essere modificato dalla pagina avvisi del Captive Portal
(Sez. 4.15).
93
Allegati
A Installazione e configurazione Certificati SAN27
L’importanza di utilizzare delle connessioni crittografate quando si trasmettono dei dati importanti
come le autenticazioni è fondamentale, ma utilizzando il certificato auto-firmato di Zeroshell pre-
senta il fastidioso inconveniente dell’avviso dei browser della sua possibile inattendibilità in quanto
non firmato da una “Certification Authority” riconosciuta.
Tale limite può generare confusione agli utenti del captive portal e indurli a rinunciare all’utilizzo.
Installare un certificato firmato da una “Trusted CA” consente ai browser di verificare l’atten-
dibilità della connessione ma si deve tener presente che quasi sempre i Captive Portal vengono
realizzati su domini privati e i certificati vengono rilasciati solamente per domini pubblici con email
associata (p.e. www.zerotruth.net ed email del tipo admin@zerotruth.net).
Tale limite può essere superato acquistando dei certificati UCC/SAN28 che consentono di avere,
oltre al “Common Name” (CN, nell’esempio www.zerotruth.net), anche dei “Subject Alternative
Names” (SAN, nell’esempio hotspot.zerotruth.net e captive.zerotruth.net) che utilizzeremo come
“hostname” per l’interfaccia di Zerotruth sulla quale è in ascolto il Captive Portal.
Per ottenere i certificati possiamo affidare alla società che li emette la completa gestione della
procedura, e in questo caso ci verranno inviati sia i certificati che la chiave privata da utilizzare,
diversamente possiamo creare la nostra chiave privata e generare la “Certificate Signing Re-
quest” (CSR) da inviare per ottenere il certificato che installeremo poi con la chiave privata che
abbiamo creato in precedenza.
Nel caso volessimo creare la chiave privata e la CSR, possiamo procedere in vari modi, da Win-
dows è possibile utilizzare sia openssl da riga di comando oppure con il programma xca mentre
da Linux possiamo utilizzare direttamente openssl da terminale. Per prima cosa creiamo la chiave
privata (in questo caso otterremo una chiave RSA 4096 bit) con il comando
27
Il presente allegato è stato realizzato grazie all’indispensabile e competente lavoro di Jonatha Ferrarini.
28
I certificati utilizzati e testati sono dei Comodo Positive UCC/SAN che offrono 3 domini ampliabili a piacere,
acquistati da www.megasslstore.com.
94
Editiamo ora il file /etc/ssl/openssl.cnf, per caricare le v3 req extensions.
La parte relativa alle estensioni da aggiungere alla CSR deve, dopo aver aggiunto le righe
segnate dalla freccia rossa, apparire nel seguente modo:
Creiamo ora la CSR per www.zerotrut.net con hash SHA-512, usando la chiave RSA creata in pre-
cedenza con il seguente comando:
compilando i campi che verranno richiesti facendo attenzione ad inserire alla voce “Common-
Name” esattamente il dominio raggiungibile su Internet.
A questo punto troveremo pronte sia la chiave RSA che la CSR , quest’ultima (www.zerotruth.net.csr)
da inviare all’autorità di certificazione per ottenere il nostro certificato firmato.
95
Ottenuto il certificato firmato (www.zerotruth.net)
96
Il certificato firmato va importato, con la relativa chiave RSA, nelle “Imported”.
Se si va a controllare il certificato con il link “View” Zeroshell riporterà “Status: Unable to get local
issuer certificate”
Questo avviso dipende dal fatto che il nostro certificato non è stato firmato direttamente dalla
“Root Ca” e, come riporta la figura172, vi sono due CA intermedie indispensabili.
Per il corretto funzionamento dobbiamo importare la “certificate chain” completa, mancano in
questo caso i certificati “COMODO RSA Certification Authority” e “COMODO RSA Domain Va-
lidation Secure Server CA”, da importare sempre nelle Tusted CAs. Questi cerificati intermedi li
possiamo trovare sul sito di COMODO:
97
L’operazione va effettuata per tutti e due i certificati. Alla fine la nostra “Trusted CAs list” dovrebbe
presentarsi come nella seguente immagine:
Affinchè il Captive Portal utilizzi il certificato importato si dovrà fare in modo che non usi come
ridirezione l’IP address dell’interfaccia del Captive Portal o il CN ma uno dei due hostname di-
sponibili come SAN sul certificato (nell’esempio captive.zerotruth.net) creando, nel DNS, la nuova
zona zerotruth.net.
98
Si dovrà inoltre creare un record di tipo A nella zona appena inserita nel DNS assegnando come
IP address l’IP dell’interfaccia sulla quale è in ascolto il Captive Portal.
Nella sezione “Authentication” della pagina “Captive Portal” è necessario impostare il nuovo
certificato affinchè venga utilizzato nell’autenticazione al posto di quello locale.
L’esempio della figura precedente riporta la configurazione nel caso il Captive Portal sia confi-
gurato per utilizzare un’unica interfaccia di rete mentre se fosse impostato su “Multi interfaces”,
cioè pronto a rispondere su più indirizzi IP, verrà proposto di impostare per ognuna l’URL sul quale
ridirigere l’utente.
99
Figura 186: Impostazione ridirizione con URL con multi interfaces
100
B Creare nuovi templates
Zerotruth, per tutte le pagine visualizzate dagli utenti del Captive Portal, mette a disposizione un
template di default ma è possibile crearne uno proprio .29
Per creare un nuovo template, senza modificare quello esistente, bisogna eseguire le operazioni
di seguito descritte.
Operando da shell creare il nuovo template con il comando:
/ DB / apache2 / cgi - bin / zerotruth / scripts / createTemplate . sh
Sarà quindi possibile abilitarlo per poi fare i cambiamenti necessari avendo comunque la possibi-
lità di tornare al template di default.
Tutti gli scripts, i CSS e le immagini del nuovo template si troveranno nella directory
/ DB / apache2 / htdocs / zerotruth / templates / nome_template
29
Sarà cosa molto gradita poter inserire in Zerotruth i nuovi templates creati .
101
C I ferri del mestiere
Zeroshell e Zerotruth permettono di configurare e gestire il Captive Portal completamente dall’in-
terfaccia grafica facilitando molto il lavoro di configurazione. Talvolta comunque necessita, per
una verifica o per l’esigenza di modificare uno script, di dover accedere alla Bash Shell o montare
il file system di Zeroshell sul nostro PC.
Nel primo caso Zeroshell mette a disposizione i comandi della Bash Shell e l’editor “vi”, presente in
tutte le distribuzioni gnu-Linux e assolutamente da saper utilizzare almeno nelle funzioni principali,
con i quali si può intervenire per ogni necessità.
Può essere comunque agevole disporre di un editor più intuitivo e di un file manager visuale.
Zerotruth mette a disposizione come add-on un pacchetto con Midnight Commander e Nano
compilati e configurati specificatamente per il sistema.
L’installazione dell’add-on deve avvenire da shell con i seguenti comandi:
• “cd /DB”
• “wget http://zerotruth.net/download/zt-mc-nano.tar.gz”
• “./install.sh”
Per poter utilizzare subito i due programmi, senza eseguire un reboot della macchina, è necessa-
rio far rileggere alla bash shell attiva il nuovo profilo memorizzato nell’installazione, che aggiunge
il path corretto, con il comando:
“. /root/.bash profile”
102
Per eseguire Midnight Commander è sufficiente usare da shell il comando “mc”.
I comandi principali vengono riportati nei riquadri in basso dell’interfaccia e possono essere atti-
vati con il mouse o con il corrispondente tasto funzione (F1, F2... F10) mentre con il tasto Tab ci si
sposta tra le due finestre.
Per eseguire uno script è sufficiente selezionarlo e premere invio sulla tastiera cosi come per scom-
pattare un archivio compresso. Con il tasto F3 si visualizza un file mentre con F4 si può editar-
lo. Midnight Commander disponde di un proprio editor ma è possibile utilizzare Nano installato
assieme al programma.
Per configurare il file manager per l’utilizzo di default di Nano aprire il menu Options e spostarsi in
Configuration.
103
Nella scheda che si aprirà si dovrà semplicemente togliere la spunta a “Use internal editor”.
In tal modo se viene editato un file Midnight Commander utilizzerà l’editor Nano. Un’altra im-
portante caratteristica utile per trasferire, o scaricare, file da un server remoto è la possibilità di
utilizzare il programma come client FTP. Per accedere ad un server FTP aprire il menu Left o Right,
a seconda che di voglia utilizzare la finestra di sinistra o di destra per collegarsi, e spostarsi in FTP
link
dove si dovranno inserire le credenziali di autenticazione per il server remoto nel formato
“user:password@IP”
104
Se il collegamento verrà stabilito potremo utilizzare i soliti comandi da mouse o tastiera per trasfe-
rire i file da o per il server remoto.
In breve tempo si prenderà confidenza dei principali comandi e diventerà uno strumento abituale
nella gestione di Zerotruth e Zeroshell.
105
C.3 SFTP
Per chi si trovasse a disagio a gestire il file manager e l’editor direttamente da shell è possibile
montare il file system di Zeroshell sulla postazione con la quale ci si collega al sistema utilizzando
sftp e poi gestirlo come se facesse parte del nostro sistema locale.
Per abilitare Zeroshell ad accettare un collegamento sftp è necessario modificare la login shell
impostata di default su “localman” in “/bin/bash”.
Per eseguire tale operazione è sufficiente, dopo l’autenticazione, digitare il comando:
“chsh”
Ora si potrà montare Zeroshell sul nostro PC in una cartella a nostro piacimento come evidenziato
nella figura seguente tenendo presente che Zeroshell eliminerà la configurazione se riavviato.
La procedura, naturalmente, richiederà le credenziali di autenticazione per terminare l’operazio-
ne regolarmente.
106
Se il file system di Zeroshell sarà stato montato regolarmente ogni programma locale vi potà
accedere in lettura e scrittura. Nel seguente esempio si mostra l’utilizzo di Geany un leggero
editor di testo multi piattaforma che supporta molti linguaggi di programmazione.
107
D Scripts
In questo allegato vengono riportati alcuni esempi di scripts da utilizzare nelle varie features di
Zerotruth.
Sotto tale intestazione si può inserire qualsiasi comando che tenga presente i possibili codici pas-
sati come nei seguenti esempi dove il simbolo “/–/ ” significa che la riga va posta in continuazione
alla precedente.
108
B LOCCARE TUTTI GLI UTENTI
if [ " $CODE " == " 986546 " ]; then
USERS = $ (/ usr / local / bin / ldapsearch - xLLL -b " ou = Radius , $C_LDAPBASE " ’(!( sn =* -*)) ’ cn
/ - -/ | sed -n ’/ cn :/ p ’ | awk ’{ print $2 } ’)
[ -z " $USERS " ] && exit
for USER in $USERS ; do
if [ " $USER " != " admin " ]; then
CONNECTED = $ ( ls $C_CP_DIR / Connected )
for IP in $CONNECTED ; do
if [ $ ( cat $C_CP_DIR / Connected / $IP / User | cut -d " @ " - f1 ) == " $USER " ]; then
$C_ZT_BIN_DIR / zt " Disconnetti " " $IP " " $USER "
fi
done
RADIUS = $ (/ usr / local / bin / ldapsearch - xLLL -b " ou = Radius , $C_LDAPBASE " cn = $USER sn )
PASS = $ ( echo $RADIUS | awk ’{ print $NF } ’)
PASSLOCK = " $PASS - $RANDOM "
DATA = " dn : cn = $USER , ou = Radius , $C_LDAPBASE \ nsn : $PASSLOCK "
echo -e " $DATA " | ldapmodify -c -x -D " $C_LDAPMANAGER , $C_LDAPBASE "
/ - -/ -w $C_LDAPROOT > / dev / null
DATA = " dn : uid = $USER , ou = PEOPLE , $C_LDAPBASE \ nlocked : yes "
echo -e " $DATA " | ldapmodify -c -x -D " $C_LDAPMANAGER , $C_LDAPBASE "
/ - -/ -w $C_LDAPROOT > / dev / null
fi
done
exit
fi
R EGISTRARE UN UTENTE
Registrare un utente con username uguale al numero di cellulare e mandare un SMS con le
credenziali.
In questo caso viene utilizzatato il codice passato come numero di cellulare che deve terminare
con il simbolo “+” come ad esempio “3334567898+”.
if [ -n " $ ( echo " $CODE " | grep ’+$ ’) " ]; then
PHONE = " $ ( echo " $CODE " | cut -d ’+ ’ - f1 ) "
USERNAME = " $PHONE "
NAME = " $L_ANONYMOUS "
LAST_NAME = " $L_ANONYMOUS "
CLASS = " DEFAULT "
MATRICE = " a b c d e f g h i l m n p q r s t u v z 1 2 3 4 5 6 7 8 9 "
109
while [ " $ { a :=1} " - le $C_LE NGH_PA SSWORD ]; do
PASSWORD = " $PASSWORD$ { MATRICE : $ (( $RANDOM % $ {# MATRICE })):1} "
let a +=1
done
SHADOWEXPIRE = $ ( dateDiff -d " 1970 -01 -01 " " 2037 -12 -31 " )
ldap_add_people
ldap_add_radius
$C_ZT_BIN_DIR / zt " ControlAcct " " $USERNAME "
$C_ZT_BIN_DIR / zt " ControlLimits " " $USERNAME "
$C_ZT_BIN_DIR / zt " AddK5 " " $PASSWORD " " $USERNAME " " 2037 -12 -31 "
TEXT_SMS = " $C_HOTSPOT_NAME user : $USERNAME password : $PASSWORD - $L_FOOTER_SMS "
$C_ZT_BIN_DIR / zt " InviaSMS " " $C_SMS_PROVIDER " " $PHONE " " $TEXT_SMS "
exit
fi
110