manuale - Zerotruth

Transcript

manuale - Zerotruth
Z ERO T RUTH
I NTERFACCIA PER IL CAPTIVE P ORTAL DI Z ERO S HELL
VERSIONE 3.0
Nello Dalla Costa
19 maggio 2015
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
.
Nello Dalla Costa
ZeroTruth
Interfaccia per il Captive Portal di ZeroShell
c
2012-2015
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 senza 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.pdf ”.
Indice
1 Z EROTRUTH E Z EROSHELL
1
2 CAPTIVE P OR TAL
2.1 H OTSPOT ROUTER PER L’ ACCESSO ALLA RETE . . . . . . . . . . . . . . . . . . .
2.2 I NEMICI DEL CAPTIVE P ORTAL . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 FALSIFICAZIONE (S POOFING ) DI IP E MAC ADDRESS . . . . . . . . . . . . . . .
2.4 D ENIAL OF S ERVICE (D O S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 R OUTER O B RIDGE ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 AUTENTICAZIONE DEGLI UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 RADIUS (PAP, EAP-TTLS E PEAP) . . . . . . . . . . . . . . . . . . . . . . . .
2.8 C ERTIFICATI D IGITALI X.509 (S MART CARD ) . . . . . . . . . . . . . . . . . . .
2.9 S HIBBOLETH (I D P SAML 2.0) . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10 C ONTABILIZZAZIONE DEL TEMPO, DEL TRAFFICO E DEL COSTO DI CONNESSIONE
2.11 L IMITI DI ACCESSO ALLA RETE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.12 R EGISTRAZIONE DEGLI ACCESSI E DELLE CONNESSIONI TCP/UDP NEI LOG . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
4
5
6
6
7
8
9
9
10
11
3 I NSTALLAZIONE E RIMOZIONE DI Z EROTRUTH
3.1 P REPARAZIONE DI Z EROSHELL . . . . . . . .
3.2 I NSTALLAZIONE DI Z EROTRUTH . . . . . . .
3.3 R IMOZIONE DI Z EROTRUTH . . . . . . . . .
3.4 U PGRADE DI Z EROTRUTH . . . . . . . . . .
3.5 ACCESSO ALLA GUI DI AMMINISTRAZIONE
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
12
14
14
14
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
17
18
19
20
21
21
22
24
24
25
25
26
29
31
33
34
34
35
36
36
37
41
42
43
43
44
45
46
4 C ONFIGURAZIONE
4.1 Z EROTRUTH . . . . . . . . . . . . . .
4.2 A DMIN . . . . . . . . . . . . . . . . .
4.3 U SERS ( UTENTI GESTORI ) . . . . . . .
4.4 I MMAGINI . . . . . . . . . . . . . . .
4.5 A STERISK . . . . . . . . . . . . . . . .
4.6 LOG . . . . . . . . . . . . . . . . . .
4.7 C ONTROLLO LDAP . . . . . . . . . .
4.8 K EYPAD . . . . . . . . . . . . . . . .
4.9 VSBS . . . . . . . . . . . . . . . . .
4.10 E XPORT . . . . . . . . . . . . . . . .
4.11 F ONT . . . . . . . . . . . . . . . . . .
4.12 T EST . . . . . . . . . . . . . . . . . .
4.13 CAPTIVE P ORTAL . . . . . . . . . . .
4.14 AUTO R EGISTRAZIONE . . . . . . . . .
4.14.1 R EGISTRAZIONE CON A STERISK
4.14.2 R EGISTRAZIONE CON SMS . .
4.14.3 R EGISTRAZIONE CON T ICKET .
4.15 AVVISI . . . . . . . . . . . . . . . . .
4.16 B IGLIETTO . . . . . . . . . . . . . . .
4.17 PAY PAL . . . . . . . . . . . . . . . .
4.17.1 C ONFIGURAZIONE Z EROTRUTH
4.17.2 C ONFIGURAZIONE PAYPAL . .
4.18 PAGAMENTI . . . . . . . . . . . . . .
4.19 L IBERI / BLOCCATI . . . . . . . . . . .
4.20 WALLED G ARDEN . . . . . . . . . . .
4.20.1 WALLED G ARDEN I NTERNO .
4.20.2 WALLED G ARDEN R EMOTO .
4.21 P OPUP . . . . . . . . . . . . . . . . .
4.22 I MMAGINE L OGIN . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.23 FACEBOOK L IKE . . . . . . . . .
4.24 P ROXY . . . . . . . . . . . . . .
4.24.1 S QUID . . . . . . . . . .
4.24.2 DANSGUARDIAN . . . .
4.24.3 H AVP +C LAMAV . . . . .
4.25 S HAPER . . . . . . . . . . . . .
4.26 B LOCKER . . . . . . . . . . . .
4.26.1 IP B LOCKER . . . . . . .
4.26.2 AD B LOCKER . . . . . .
4.27 E MAIL . . . . . . . . . . . . . .
4.28 SMS . . . . . . . . . . . . . . .
4.28.1 MY SMS SCRIPT . . . . .
4.28.2 G AMMU . . . . . . . . .
4.29 M ULTI CP . . . . . . . . . . . .
4.30 B ACKUP . . . . . . . . . . . . .
4.30.1 B ACKUP CON EMAIL . .
4.30.2 B ACKUP CON FTP . . .
4.30.3 B ACKUP CON D ROP B OX
4.30.4 B ACKUP CON SCP . . .
4.30.5 R IPRISTINO B ACKUP . . .
4.31 C ONTROLLO CAPACIT À DISCO .
4.32 G RAFICI . . . . . . . . . . . . .
4.33 AGGIORNAMENTI . . . . . . . .
4.34 U PGRADE . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 G ESTIONE U TENTI
5.1 AGGIUNGERE UTENTI . . . . . . . . . . . . . . . . . . . . .
5.1.1 AGGIUNGERE UN UTENTE . . . . . . . . . . . . . . .
5.1.2 AGGIUNGERE DIVERSI UTENTI . . . . . . . . . . . . .
5.1.3 AGGIUNGERE UTENTI DA FILE . . . . . . . . . . . . .
5.1.4 AGGIUNGERE UTENTI VINCOLATI AL BIGLIETTO . . .
5.2 L ISTA UTENTI . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 TABELLA STANDARD . . . . . . . . . . . . . . . . . .
5.2.2 L ISTA UTENTI PER AUTOREGISTRAZIONE DA BIGLIETTO
5.2.3 R ICERCA UTENTI . . . . . . . . . . . . . . . . . . . .
5.2.4 TABELLA VELOCE . . . . . . . . . . . . . . . . . . .
6 P ROFILI
6.1 TABELLE P ROFILI . . . . . . . . . . . . . . .
6.2 AGGIUNGI P ROFILO . . . . . . . . . . . .
6.3 P ROFILO A PAGAMENTO . . . . . . . . . .
6.4 P ROFILO CON LIMITE DI BANDA . . . . . .
6.5 P ROFILO CON IMPOSTAZIONE INTERFACCIA
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
49
49
50
50
51
52
52
52
53
54
55
56
57
58
58
58
59
59
61
62
62
66
66
.
.
.
.
.
.
.
.
.
.
67
67
67
68
69
70
71
71
73
74
75
.
.
.
.
.
76
76
77
77
78
78
7 E MAIL
79
7.1 I NVIO EMAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8 SMS
80
8.1 I NVIO SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
9 U TILIZZO CAPTIVE P OR TAL
9.1 L OGIN CAPTIVE P ORTAL . . . . .
9.1.1 L OGIN STANDARD . . . . .
9.1.2 L OGIN A PERTO . . . . . .
9.1.3 L OGIN CON CODICE QR .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
81
81
84
85
9.2 CAMBIO PASSWORD . . . . . . . . . . . . . . . . . .
9.3 D ETTAGLI CONNESSIONI UTENTE . . . . . . . . . . . .
9.4 AUTOREGISTRAZIONE . . . . . . . . . . . . . . . . . .
9.4.1 AUTOREGISTRAZIONE S TANDARD . . . . . . . .
9.4.2 AUTOREGISTRAZIONE CON S OCIAL N ETWORK
9.4.3 AUTOREGISTRAZIONE CON A STERISK . . . . . .
9.4.4 AUTOREGISTRAZIONE CON SMS . . . . . . . .
9.4.5 AUTOREGISTRAZIONE DA T ICKET . . . . . . . .
9.5 R ECUPERO PASSWORD . . . . . . . . . . . . . . . . .
9.5.1 R ECUPERO PASSWORD STANDARD . . . . . . .
9.5.2 R ECUPERO PASSWORD CON A STERISK . . . . .
9.6 B LOCCO CAPTIVE P ORTAL . . . . . . . . . . . . . . .
A Installazione e configurazione Certificati SAN
B Creare nuovi templates
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
86
87
87
88
90
91
91
92
92
92
93
94
101
C I ferri del mestiere
102
C.1 Midnight Commander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
C.2 Editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
C.3 SFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
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 collegata 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à, soprattutto 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, comprensivo 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.
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.
2.1
H OTSPOT
ROUTER PER L’ ACCESSO ALLA RETE
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 MultiWAN con bilanciamento e failover dei collegamenti Internet con funzionalità di Captive Portal.
Figura 1: Rete in un Hotspot con Router 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;
2. Registrazione degli accessi nei log;
3. Accounting del traffico, del tempo e dei costi di connessione.
L’autenticazione, ovvero la capacità di poter identificare univocamente l’utente per poi autorizzarlo 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 peggio 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 connessione 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’utente 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:
• Autenticazione e cifratura del traffico tramite WPA/WPA2 Enterprise
• 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’autenticazione, è 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 liberamente 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 occasionali 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.
Figura 2: Configurazione del Captive Portal Gateway
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 conveniente utilizzare degli Access Point economici, senza alcuna caratteristica avanzata e demandare la funzione di Captive Portal ad un router che funge da gateway verso Internet cosı̀ come
illustrato nella figura 1.
2.2
I
NEMICI DEL
CAPTIVE P OR TAL
La semplicità nell’uso di un Captive Portal anche da parte di un utente inesperto è dovuta soprattutto al fatto che l’accesso al livello 2 della rete, sia che si tratti di wireless che di rete cablata, è
aperto (cioè privo di autenticazione). Il client appena si associa alla rete ottiene subito un IP dal
server DHCP e comunica in maniera non criptata. La contropartita di tale semplicità si traduce in
un’intrinseca debolezza dal punto di vista della sicurezza. Vedremo nei due successivi paragrafi
come Zeroshell tenti di mitigare tale debolezza.
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 siano 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 Request 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’Authenticator 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.
Figura 3: Network Access Popup
La finestra di Popup svolge anche altre funzioni come quella di permettere all’utente di disconnetersi e di visualizzare utili informazioni di accounting come il tempo, il traffico e il costo di connessione. È 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’autenticazione 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
2.4
D ENIAL
OF
S ERVICE (D O S)
Alcuni software, nel tentativo di comunicare con l’esterno a tutti i costi, dopo aver tentato la
comunicazione sulle porte TCP/UDP a loro assegnate, provano la connessione sulle porte TCP 80
e 443 sapendo che difficilmente un amministratore di rete le chiuderebbe in uscita impedendo
cosı̀ la navigazione http/https e quindi l’accesso al web. L’esempio più noto di tale categoria
di programmi è il client VoIP di Skype, ma molti altri sistemi P2P e worm fanno altro e tanto. Si
intuisce subito che quando un utente con il suo client si associa alla rete, ma non si autentica
subito tramite il Captive Portal, tali richieste sulle porte 80 e 443 TCP vengono redirette verso il
portale di autenticazione che cercherebbe invano di servirle visto che il traffico non è HTTP. È
ovvio, che all’aumentare dei client non ancora autenticati su cui girano i suddetti programmi,
aumenta la probabilità che si verifichi un DoS (Denial of Service) in cui il portale di autenticazione
è impegnato a servire richieste fasulle, non riuscendo a gestire o a gestire con molta lentezza le
richieste leggittime provenienti dai browser web.
Zeroshell limita il verificarsi di situazioni del genere implementando un sistema di DoS Protection
che usando il Netfilter di Linux limita il numero massimo di redirect per minuto. Il livello di protezione
può essere impostato su tre livelli (Low, Medium e High).
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.
2.5
R OUTER
O
B RIDGE ?
Nella figura 1 il Captive Portal lavora come router di livello 3 connesso direttamente ad un modem
con cui si collega ad Internet. Esso agisce come default gateway per i client che si connettono
alla rete. In questa configurazione, detta in Routed Mode, conviene far svolgere al router anche
la funzione di DHCP e DNS server.
Il Captive Portal di Zeroshell può lavorare anche nella modalità detta in Bridge Mode, in cui la rete
da proteggere con il Captive Portal condivide la stessa subnet IP del resto della LAN. Pertanto, un
client prende lo stesso indirizzo IP sia se si connette da una parte che dall’altra ed ha il medesimo
default gateway che è un router a monte del Captive Portal. In questo caso, anche DHCP e DNS
da utilizzare per la parte Hotspot possono essere gli stessi che si usano per il resto della LAN.
Nelle precedenti versioni di Zeroshell si doveva dichiarare esplicitamente la modalità di funzionamento del Captive Portal. Dalla release 1.0.beta15, invece, ci sono 2 novità a riguardo: Viene
gestita la modalità MULTI in cui si possono dichiarare più interfacce di rete su cui attivare il Captive Portal. Come si vede nella figura il Captive Portal può essere attivato anche sulle VLAN 802.1q
(Tagged Virtual LAN); Zeroshell sceglie la modalità bridge o router automaticamente controllando se un’interfaccia fa parte o meno di un bridge. Mettendo insieme le due novità, si deduce
che il Captive Portal di Zeroshell può lavorare sullo stesso box hardware contemporaneamente
come router per alcuni segmenti di LAN e come bridge per altri.
Figura 6: Captive Portal su più interfacce di rete
2.6
AUTENTICAZIONE
DEGLI UTENTI
Il Captive Portal di Zeroshell può utilizzare diverse fonti di autenticazione anche contemporaneamente. 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 autenticazione 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 pagina di accesso oppure qualificando il suo username mediante il suffisso @dominio (per esempio
[email protected]).
Figura 7: Domini autorizzati nella configurazione dell’autenticazione del Captive Portal
2.7
RADIUS (PAP, EAP-TTLS
E
PEAP)
L’autenticazione RADIUS è tra i protocolli più utilizzati per il riconoscimento degli utenti su dispositivi di rete quali per esempio Access Point Wireless o Switch che permettano l’accesso al layer
2 solo dopo che l’autenticazione abbia avuto successo. Il Captive Portal di Zeroshell permette
l’autenticazione RADIUS verso server esterni tramite richieste proxy. In altre parole, il captive portal
richiede l’autenticazione al suo server FreeRADIUS interno che, se si accorge di non essere autoritario per il dominio a cui l’utente appartiene, inoltra la richiesta di autenticazione al RADIUS server
competente. Chiaramente tale server RADIUS esterno deve essere configurato nella lista dei server proxy specificando lo Shared Secret. D’altra parte, anche sul RADIUS server esterno bisogna
aggiungere una entry tra i client RADIUS per abilitare l’indirizzo IP del Captive Portal utilizzando lo
stesso Shared Secret. Nella lista dei proxy radius è possibile aggiungere il server RADIUS di DEFAULT
che viene utilizzato qualora nessuno degli altri server è autoritario per autenticare l’utente. Il proxy radius di default viene spesso utilizzato anche quando il captive portal deve autenticare verso
una gerarchia di server RADIUS.
Figura 8: Hotspot distribuiti con server RADIUS di autenticazione/accounting centralizzato
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 supplicant 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, garantito 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.
Figura 9: Configurazione dei Realm Kerberos 5 esterni
In alcune situazioni è opportuno autorizzare l’accesso tramite Captive Portal soltando ad un gruppo di utenti. Ciò non è possibile mediante Kerberos 5 poiché quest’ultimo gestisce solo l’autenticazione di Active Directory, mentre l’autorizzazione è demandata ad LDAP. Tuttavia, si può attivare 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.
2.8
C ER TIFICATI D IGITALI X.509 (S MAR T CARD )
L’autenticazione tramite certificati digitali X.509 permette il login senza dover digitare username
e password. In altre parole, ogni utente che deve accedere alla rete deve possedere un certificato personale con la relativa chiave privata caricato nel browser web. Premendo il tasto
[X.509] presente nel portale di autenticazione, se il certificato è firmato da una delle Autorità di
Certificazione configurate all’interno del captive portal, l’utente ha accesso alla rete. L’utilizzo
dei certificati digitali è spesso legato a quello delle Smart Card o dei Token USB. Questi dispositivi
infatti, possono custodire il certificato digitale in maniera estremamente sicura poiché, la chiave
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.
2.9
S HIBBOLETH (I D P SAML 2.0)
Tramite Shibboleth Service Provider, il Captive Portal di Zeroshell permette l’autenticazione degli
utenti verso un Identity Provider SAML 2. Ciò è spesso utilizzato nelle federazioni in cui ogni membro di una federazione implementa un IdP per il riconoscimento degli utenti oltre a diversi servizi
web (Service Provider). Tra questi servizi si può includere l’accesso alla rete Wi-Fi, in cui, l’utente viene rediretto verso il WAYF/DS da cui seleziona l’Identity Provider che lo può autenticare. Si
potrebbe obiettare che anche legando il captive portal ad una gerarchia di server RADIUS (tipo
EDUROAM per quel che riguarda le Università e gli Enti di Ricerca) si otterrebbe l’accesso federato
alla rete. Tuttavia, mentre nel caso di 802.1x si ha la cosiddetta autenticazione End-to-End anche
attraversando la gerarchia di server RADIUS, con il captive portal ciò non è garantito. Per questo
è preferibile utilizzare SAML, in cui invece, le credenziali viaggiano, partendo dal browser dell’utente fino al’IdP autoritario per la sua autenticazione, sempre all’interno dello stesso tunnel cifrato
con SSL, garantendo perciò l’autenticazione End-to-End. Per maggiori dettagli sull’uso del Captive Portal con Shibboleth è disponibile il documento “Configurare il Captive Portal per autenticare
gli utenti mediante Shibboleth ” (http://www.zeroshell.net/shibboleth-captive-portal/).
2.10
C ONTABILIZZAZIONE
DEL TEMPO, DEL TRAFFICO E DEL COSTO DI CONNESSIONE
L’accounting permette di conoscere, per ogni utente, il tempo, il traffico e il costo delle sue connessioni. 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, raccogliere sia le informazione dai Captive Portal, sia direttamente dagli Access Point Wi-Fi che utilizzino
WPA/WAP2 Enterprise mediante 802.1x.
Figura 10: Gestione accounting RADIUS
9
Figura 11: Dettagli di connessione di un utente
2.11
L IMITI
DI ACCESSO ALLA RETE
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:
• Tipo di pagamento (Prepagato e postpagato)
• Costo per Megabyte di traffico
• Costo orario della connessione
• Limite massimo di traffico generato (in entrata e in uscita) in Megabyte
• Limite orario di connessione
Figura 12: Configurazione dei limiti di accesso alla rete
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.
Figura 13: 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 abilitarlo, 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.
Figura 14: Registrazione nei log delle connessioni TCP/UDP
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.
3.1
P REPARAZIONE
DI
Z EROSHELL
Figura 15: Abilitazione SSH
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à.
Figura 16: Abilitazione Captive Portal
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.
Figura 17: Abilitazione Accounting
A questo punto potremo collegarci in SSH a Zeroshell per installare Zerotruth attraverso la bash di
un sistema GNU/Linux 1 o se si utilizza Windows con un programma come Putty. 2
Figura 18: Zeroshell localman
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.
1
Dalla Bash Shell di una qualsiasi distribuzione GNU/Linux ci si può collegare a una postazione Zeroshell appena
installata con il comando “ssh [email protected]”.
2
Putty è un programma che permette, tra l’altro, connessioni in SSH ed è liberamente scaricabile.
13
3.2
I NSTALLAZIONE
DI
Z EROTRUTH
Prendendo ad esempio la versione 3.0 di Zerotruth (zerotruth-3.0.tar.gz), una volta entrati nella
shell di Zeroshell basterà dare i seguenti comandi:
1. cd /DB
2. wget http://www.zerotruth.net/controldl.php?file=zerotruth-3.0.tar.gz
3. tar zxvf zerotruth-3.0.tar.gz
4. cd zerotruth-3.0
5. ./install.sh
Figura 19: Installazione di Zerotruth
Il comando “./install.sh” eseguirà tutte le operazioni necessarie mostrando a video lo stato di
avanzamento dell’installazione e gli eventuali errori riscontrati.
3.3
R IMOZIONE
DI
Z EROTRUTH
Nella stessa cartella da dove abbiamo installato il programma, nel nostro esempio “/DB/zerotruth3.0”, si troverà lo script “uninstall.sh” per disinstallare completamente Zerotruth senza modificare
Zeroshell.
3.4
U PGRADE
DI
Z EROTRUTH
Prima di effettuare l’upgrade ad una nuova versione, senza utilizzare la GUI di Zerotruth, è necessario rimuovere la versione installata come visto precedentemente. La rimozione di Zerotruth
mantiene inalterato il database degli utenti eliminando però tutte le configurazioni.
Dalla versione 1.0.beta2 l’upgrade alle versioni successive può essere effettuato direttamente
dalla GUI di Zerotruth, 3 tale scelta è da preferire in quanto mantiene inalterate le configurazioni
precedentemente impostate.
3
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 Zerotruth viene presentato il form di autenticazione dal quale è possibile accedere con l’username
“admin” e password “zerotruth”.
Figura 20: Scelta tra zeroshell e Zerotruth e Login
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. 4
Figura 21: Testata con link generali
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.
4
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
Figura 22: Testata con link generali
La sezione consente di configurare:
• il nome della postazione
Il nome impostato verrà poi utilizzato nelle comunicazioni, tramite email e/o SMS, agli utenti e
all’amministratore oltre nei backup per identificare la postazione
• la lingua dell’interfaccia
Sono attualmente disponibili le seguenti lingue: Italiano, francese, inglese, polacco, portoghese, spagnolo e tedesco 5
• 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 6 e accedere agli aggiornamenti. La registrazione è automatica, dopo aver eseguito una donazione
tramite Paypal o nelle altre modalità previste, 7 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 postazione. 8
5
Sarebbe molto gradita la traduzione in altre lingue e la correzione, in caso di bisogno, di quelle installate
R
R
R
Permesso di personalizzare logo e immagine della testata, installazione di Squid,
Dansguardian,
Gammu,
modulo MultiCP.
7
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.
8
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.
6
16
4.2
A DMIN
Figura 23: Configurazione admin
La sezione Imposta i dati riguardanti l’amministratore del sistema.
• L’username
• la password 9
• l’email
che verrà utilizzata come destinatario delle notifiche, nella spedizione del Backup ecc.
• il numero di telefono
per le notifiche via SMS
• la priorità sugli utenti gestori
In tal caso ad un utente gestore verrà rifiutato il collegamento finchè l’amministratore risulta
connesso
• la registrazione nei Log delle attività dell’amministratore.
Si può inoltre scegliere quali notifiche ricevere e attraverso quale canale se i servizi sono attivi. 10
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.
9
L’icona “occhiali” permette la visualizzazione della password.
Se il servizio di email o SMS non sono configurati e attivi verrà mostrato l’avviso dell’impossibilità di notificare gli
eventi.
10
17
4.3
U SERS ( UTENTI
GESTORI )
Dalla pagina “Users” si possono inserire e configurare gli utenti gestori del sistema.11
Figura 24: Configurazione utenti gestori
Ai gestori vengono concessi i vari permessi dall’amministratore attraveso la pagina visualizzabile
dal link dell’icona “matita”.
Figura 25: Configurazione singolo utente gestore
I permessi assegnabili sono molti e auto descrittivi, si precisa il significato dei seguenti:
• Consenti gestione solo propri user
Consente di limitare all’utente gestore la visualizzazione, e quindi anche la gestione, dei soli
utenti del Captive Portal dallo stesso inseriti. 12
• Crea Log
Se abilitato tutte le operazioni effettuate dall’utente gestore verranno memorizzare dei Log del
sistema.
11
La versione 3.0 di Zerotruth elimina il numero massimo di utenti gestori che nelle precedenti era fissato a 6.
L’amministrazione potrà in seguito spostare la “ proprietà” degli utenti da un gestore ad un altro o assegnarli a se
stesso.
12
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.
4.4
I MMAGINI
Il logo può essere cambiato con uno a piacere rispettando le misure riportate. Le seconda immagine gestita da questa pagina viene visualizzata nella testata di 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.
Figura 26: Immagine Zerotruth e Captive Portal
Le immagini possono essere cambiate, una volta registrato Zerotruth, con una a piacere, rispettando le misure riportate, per personalizzare il sistema.
19
4.5
A STERISK
Se Asterisk risulta installato su Zeroshell la pagina permette di controllarne il funzionamento visualizzando anche lo stato dei singoli “peer” registrati.
Figura 27: Controllo Asterisk e peers
Dalla GUI è possibile visualizzare, modificare e salvare le configurazioni di Asterisk necessarie
(“sip.conf ” e “extensions.conf ”), insieme allo script (“zerotruth.sh”), per l’autoregistrazione (sez.
4.14).
Figura 28: configurazione sip.conf
20
4.6
LOG
I log possono essere visualizzati ed eventualmente cancellati da questa pagina.
Figura 29: LOG
4.7
C ONTROLLO LDAP
Figura 30: 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”.
21
4.8
K EYPAD
Per quei dispositivi embedded, come Alix o APU, che non hanno la possibilità di gestire direttamente una tastiera e un monitor, può essere comodo poter imparire dei comandi con un
tastierino numerico USB.
Figura 31: Keypad
Per verificare quale “/dev/input” utilizzi la tastierà si può procedere nel seguente modo:
1. Controllare nel menu quali device di input sono mappati;
2. Collegare la tastiera;
3. Controllare quale device è stato aggiunto e sceglierlo.
22
Per configurare il sistema affinchè sia effettuata la mappaura dei tasti è necessario utilizzare da
shell il comando
“/DB/apache2/cgi-bin/zerotruth/bin/configkeys”
seguendo le indicazioni riportate.
Figura 32: configkeys
Successivamente basterà scrivere, da GUI utilizzando la textarea del form, lo script per eseguire i
comandi relativi ai codici inseriti (allegato: D.1) e far partire il demone affinchè resti in attesa degli
ordini impartiti.
Essendo i tasti mappati con lo scan code relativo, sarà possibile utilizzare ogni tastiera e ogni tasto
non necessariamente numerico.
23
4.9
VSBS
Figura 33: VSBS
Una semplice Shell è disponibile da GUI per controllare o impartire comandi al sistema. Non
sono disponibili tutti i comandi della Bash Shell 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.
4.10
E XPOR T
Figura 34: Export
L’utility consente di esportare gli utenti del Captive Portal in formato testo o CSV.
24
4.11
F ONT
Figura 35: Font
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.
4.12
T EST
Figura 36: Test
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.
Figura 37: Captive Portal
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 contemporaneamente da diversi device, 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’amministratore 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 cerificato, o uno specifico URL utile per utilizzare un SAN di un certificato SSL (Allegato A).
Figura 38: Scelta reindirizzamento
5. Non usare HTTPS
È possibile utlizzare, per la comunicazione dei dati dai clients al Captive Portal, il protocollo
HTTPS o HTTP. Si ricorda che con il protocollo HTTP i dati vengono trasmessi in “chiaro” con
evidenti problemi di sicurezza.
6. Disabilita CP su porta 443
Se un utente viene reindirizzato al Captive Portal per l’autenticazione cercando di accedere
ad una pagina in HTTPS, anche se attendibile, gli verrà notificato che il certificato del sito non
è sicuro. Se scelto “Disabilita CP su porta 443” il sito risulterà irragiungibile costringendo l’utente
a collegarsi ad un sito in HTTP.
7. Pagina dispositivi mobili
Per i dispositivi mobili, che presentano difficoltà nel gestire il popup di autenticazione è possibile
utilizzare un sistema alternativo come spiegato nella sezione Login Standard (Sez. 9.1.1).
8. Validità autenticatore dispositivi mobili
Per i dispositivi per i quali non è previsto l’utilizzo del popup di autenticazione, si può impostare
un tempo, in minuti, dopo il quale se il sistema non rileva la presenza della “pagina dispositivi
mobili” attiva sul device lo stesso verrà scollegato.
9. Online
Viene qui impostato se il Captive Portal è disponibile ad accettare connessioni o se mostrerà
un avviso di “fuori servizio”.
10. Servizio aperto
Zerotruth permette di impostare l’accesso ad internet in modo completamente aperto, senza
bisogno di inserire, da parte dell’utente, i propri dati (Sez. 1). In tal caso verrà memorizzato sul sistema come username il MAC address del device collegato. Tale device sarà comunque sottoposto alle regole impostate nella configurazione dell’autoregistrazione e i dati di
collegamento registrati nell’accounting del sistema.
11. Popup utenticazione di Zerotruth
Il sistema utilizza di default il popup di autenticazione di Zeroshell, pur integrando alcune caratteristiche aggiuntive, ma è possibile impostare un popup alernativo con maggiori funzioni e
una grafica omogenea alle altre pagine.
12. Prefisso default
Per tutti gli utilizzi telefonici previsi da Zerotruth (autoregistrazione, recupero password ecc.) si
può impostare il prefisso nazionale che l’utente troverà impostato ma mofificabile.
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.
14. Prefisso Username
Oltre alla normale registrazione Zerotruth permette di inserire velocemente gruppi anche numerosi di utenti (Sez. 5.1.2).. Può essere utile in tal caso impostare un prefisso (es. alunnno,
cliente, socio...) in modo che gli utenti verranno registrati come, ad esempio, “alunno001”,
“alunno002”, “alunno0n”.
15. Blocca l’utente dopo login errati
Se impostato questo controllo un utente del Captive Portal viene bloccato se tenta di collegarsi con credenziali non valide e viene sbloccato dopo i minuti scelti.
16. Disconnetti se inattivo
Possono essere impostati i minuti dopo i quali un utente, se non esegue nessuna operazione,
verrà scollagato dal sistema.
17. Abilita tabella utenti veloce
Se non necessita una visualizzazione completa nella tabella degli utenti si può impostare questa scelta. La tabella che di default verrà mostrata risulterà più veloce nella visualizzazione e
dalla stessa comunque sarà possibile passare alla tabella completa.
18. Abilita Popup
Il popup di comunicazione agli utenti impostabile dalla sezione apposita (Sez. 9.3) può essere
abilitato o disabilitato velocemente anche da qui.
19. Abilita Walled Garden
Il Walled Garden, impostabile dalla sezione apposita (Sez. 9.2), può essere abilitato o disabilitato velocemente anche da qui.
20. Abilita Recupero Password
Dalla pagina di login del Captive Portal è possibile recuperare la propria password, qui si può
disabilitare o abilitare la funzione.
21. Visualizza MB
Può essere abilitata o disabilitata la visualizzazione, nel popup di autenticazione del Captive
Portal, del traffico generato.
22. Visualiza costo
Può essere abilitata o disabilitata la visualizzazione, nel popup di autenticazione del Captive
Portal, del costo di connessione.
23. Visualiza MB alla disconnessione
Se viene utilizzato il popup di autenticazionedi Zerotruth l’utente viene avvisato, se il suo profilo
prevede dei limiti di traffico, dell’imminente disconnessione se gli rimane la quota di MB qui
impostata.
24. Visualiza minuti alla disconnessione
Se viene utilizzato il popup di autenticazionedi Zerotruth l’utente viene avvisato, se il suo profilo prevede dei limiti di tempo, dell’imminente disconnessione se gli rimangono i minuti qui
impostati.
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.
26. Abilita immagine al login
La visualizzazione dell’immagine al login, che serve per possibili comunicazioni agli utenti, impostabile dalla sezione apposita (Sez. 9.4) può essere abilitata o disabilitata velocemente
anche da qui.
27. URL di reindirizzamento con codice QR
È permesso l’accesso al sistema anche utilizzando un codice QR (Sez. 6.2).
In tal caso si può impostare qui il reindirizzamento che l’utente avrà dopo l’accesso.
28. Abilita login con scelta lingue
Un utente del Captive Portal può scegliere con quale lingua accedere al sistema e avere gli
avvisi. Qui si può abilitare o meno tale la possibilità.
29. Template
Zerotruth mette a disposizione un template, lato utente, di default, è possibile comunque
creare dei propri template (Allegato B).
4.14
AUTO R EGISTRAZIONE
L’autoregistrazione è una delle funzioni più importanti di Zerotruth e di default è ipostata con invio
delle credenziali tramite SMS ed email. Può tuttavia essere impostato con modalità diverse. Inoltre
si può assegnare all’autoregistrazione limiti e funzioni aggiuntive.
Figura 39: Auto Registrazione
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 configurazioni fare riferimento alla Sez. 4.14.1.
4. Consenti Registrazione con Social Network
È possibile autoregistrarsi con le credenziali dei più comuni Social Network (Sez. 9.4.2).
5. Username automatico uguale al cellulare
Il sistema genera automaticamente l’username dell’utente ma si può prevedere che sia uguale al numero di telefono inserito al momento della registrazione.
6. Consenti nuova registrazione una volta scaduto
Se un utente ha superato il numero di ore massime di connessione o il numero di MB massimo
previsto dal suo profilo oppure se ha superato la data di scadenza viene disabilitato. I suoi dati
comunque rimaranno nel datadase e pertanto non potrà registrarsi nuovamente. Se viene
scelta questa opzione l’utente potrà nuovamente registrasi superando il blocco.
7. Invia password con email
Per una ulteriore sicurezza non viene mandata la password all’utente tramite email. In alcuni
casi può essere deciso di superare tale limitazione.
8. Blocca nuova registrazione da MAC address per minuti
Per scoraggiare gli eventuali tentativi massicci di autoregistrazione si può utilizzare questa opzione.
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).
10. Disabilita Email
Zerotruth manda con una email dati aggiuntivi sulla registrazione, qui si può gestire la funzione.
11. Scadenza
Si può impostare la data dopo la quale l’utente verrà etichettato come “scaduto” e non potrà
più collegarsi. In alternativa è possibile fisare la scadenza in un numero di giorni dalla prima
autenticazione.
12. Limite Orario
Il limite massimo di ore per giorno e per mese viene visualizzato in base al profilo scelto.
13. Limite Traffico
Il limite massimo di MB per giorno e per mese concesso all’utente viene visualizzato in base al
profilo scelto.
14. Giorni
I giorni permessi all’utente per utilizzare il servizio viene visualizzato in base al profilo scelto.
15. Orario
Le due fascie 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 stipuato 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’autoregistrazione, 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
La configurazione di Zerotruth è molto semplice:
Figura 40: Attivazione registrazione con Asterisk
Nella pagina di configurazione dell’autoregistrazione:
1. spuntare il checkbox “Registrazione con Asterisk” per abilitare il servizio;
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;
4. inserire il numero di telefono da chiamare per l’attivazione;
5. inserire il numero di telefono da chiamare per il recupero della password.
13
13
Il numero di telefono per l’attivazione dell’account e per il recupero della password possono essere gli stessi
31
C ONFIGURAZIONE A STERISK
Zeroshell, con l’addon 40600, permette di installare Asterisk 13.3.2 il quale, tra le molteplici funzioni che possiede, consente 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.
Si potrà ovviamente utilizzare un server Asterisk installato su un’altra postazione e in tal caso dovrà
poter comunicare con la postazione Zerotruth che potrà essere raggiungibile se la stessa è nella
medesima LAN, oppure ha un IP pubblico o in VPN o in altri modi dipendenti dalla configurazione
della rete.
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 ” (nell’add on di Zeroshell è posto in
“/opt/asterisk/etc/asterisk/ ” ) e il nostro script ( posto in “/opt/asterisk/var/lib/asterisk/agi-bin/ ”)
che andrà a collegarsi alla postazione Zerotruth, nel seguente modo:
Figura 41: Configurazione Asterisk e script per sbloccare l’utente
Nel nostro esempio il comando sarà:
“curl http://IP ZEROTRUTH:8089/cgi-bin/unlockasterisk.sh?C=$1+gtTYR65fgt”
L’utente verrà abilitato, se chiamerà con il numero di telefono inserito al momento della registrazione, senza avere nessun rimando, se non un seplice “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 utilizzate le googletts-agi per la lettura dei messaggi) del successo o meno dell’abilitazione si dovrà
impostare la configurazione come segue.
Figura 42: Configurazione Asterisk e script per sbloccare l’utente
32
Se Asterisk deve interfacciarsi con più postazioni Zerotruth si procederà come nel seguente esempio:
Figura 43: Configurazione Asterisk e script per sbloccare l’utente
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 modificando il comando dello script in:
“curl http://IP ZEROTRUTH:8089/cgi-bin/forgotasterisk.sh?C=$1+gtTYR65fgt”
Oppure se si utilizzerà uno stesso numero si dovrà modificare gli script come nell’esempio seguente:
Figura 44: Configurazione Asterisk e script per sbloccare l’utente
Tutte le configurazioni, se si utilizza Asterisk installato sulla stessa postazione, possono essere eseguite anche direttamente da GUI (Sez. 4.5).
4.14.2
R EGISTRAZIONE CON SMS
Se come servizio SMS si utilizza Gammu (Sez. 4.28.2) comparirà nelle possibilità di configurazione
dell’ autoregistrazione “Consenti registrazione completa con invio sms”.
Figura 45: 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.
Figura 46: Registrazione con Ticket
Se nella configurazione dell’autoregistrazione si sceglie “Da Ticket” l’impostazione verrà poi utilizzata dall’utente come descritto nella Sez. 9.4.5.
4.15
AVVISI
La pagina permette di inserire i vari avvisi agli utenti.
Figura 47: Avvisi
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 quale dati verranno stampati i biglietti degli utenti.
Figura 48: Impostazione Biglietto
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.
Figura 49: Esempio biglietti
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 bloccherà lo stesso al suo esaurimento. La funzione di pagamento è stata introdotta in Zerotruth1.0.beta2 attraverso PayPal che consente il pagamento tramite carta di credito e l’istantanea
notifica dell’avvenuto accredito (IPN).
4.17.1
C ONFIGURAZIONE Z EROTRUTH
Per poter accedere al sito di PayPal durante l’autoregistrazione, dove non si è ancora autenticati, 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’accesso 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 completare l’auto-registrazione, prima di venir bloccato definitivamente. La pagina imposta, se il profilo
dell’autoregistrazione è PrePaid i parametri per il pagamento tramite PayPal.
Figura 50: Impostazione 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 venditore”.
Figura 51: PayPal Strumenti vendita
Si accederà in tal modo al menu dove potremo impostare tutte le opzioni necessarie.
Figura 52: PayPal Gestione pulsanti di pagamento
1. PULSANTE PAYPAL
Per prima cosa si dovrà creare il pulsante da incollare nel form riportato precedentemente.
Figura 53: PayPal impostazione pulsante pagamento
37
Figura 54: PayPal codice pulsante pagamento
Una volta creato copiare il codice in Zerotruth.
2. RITORNO AUTOMATICO
Inserire l’indirizzo “http://yy.yy.yy.yy:8088/cgi-bin/register.sh” dove “yy.yy.yy.yy” rappresenta l’IP dell’interfaccia del nostro Captive Portal.
Figura 55: PayPal Ritorno automatico al sito
3. IPN
Inserire l’indirizzo “http://yy.yy.yy.yy/cgi-bin/controlpp.sh” dove “yy.yy.yy.yy” rappresenta l’IP pubblico che verrà reindirizzato ad un IP della nostra postazione sulla porta 8088.
Figura 56: PayPal Ritorno automatico al sito
A questo punto se nella configurazione del Captive Portal in Zerotruth si sceglie per l’autoregistrazione 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 57: Login con “Carica Credito”
Figura 58: Login per “Carica Credito”
Dopo aver inserito le proprie credenziali sarà possibile scegliere le opzioni di pagamento tramite
il “pulsante” precedentemente inserito.
Figura 59: “Carica Credito”
Al termine si verrà avvisati dell’avvenuto pagamento e del credito disponibile.
La stessa procedura avverrà nel processo di auto-registrazione. Una volta autenticato l’utente
potrà incrementare il proprio credito utilizzando il link che comparirà nel popup di autenticazione.
I pagamenti ricevuti, oltre naturalmente essere visibili nel nostro account sul sito di PayPal, vengono memorizzati in Zerotruth e sono gestibili nella sezione apposita (vedi capitolo successivo), dove
verrà riportato anche l’ID della transazione.
39
Figura 60: Avviso post pagamento
Figura 61: Popup con “Carica Credito”
Se un utente non completa l’auto-registrazione o il “Carica Credito” nei tempi stabiliti verrà
bloccato e avvisato.
Figura 62: Avviso blocco MAC
40
4.18
PAGAMENTI
La pagina visualizza e gestisce i pagamenti tramite PayPal e alla cassa.
Figura 63: Gestione pagamenti
Si possono ordinare i pagamenti in ordine alfabetico per utente, eliminarli e ricercare i pagamenti
di un solo utente cliccando sul nome relativo.
Figura 64: Pagamenti singolo utente
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.
Figura 65: Blocco/sblocco servizi e utenti
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 visualizzare 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, collegandosi ad una postazione remota di cui si conosca l’ indirizzo IP, esterno.
4.20.1
WALLED G ARDEN I NTERNO
Figura 66: Walled Garden interno
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
Figura 67: Walled Garden Remoto
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.
Figura 68: Controllo Walled Garden Remoto
44
4.21
P OPUP
Figura 69: Impostazione Popup
Il Popup impostabile in Zerotruth è un riquadro che si apre automaticamente per pubblicizzare,
ad esempio, un evento o la struttura che ospita il sistema. Come il Walled Garden può mostrare
una pagina interna al sistema o un sito remoto.
La configurazione permette inoltre di obbligare l’utente ad abilitarne nel proprio browser la visualizzazione per accedere al servizio, di mostrarne solo uno all’accesso o ad ogni rinnovo dell’autenticazione, impostare l’orario e le misure. Con il link “Controlla” è possibile avere un’anteprima
di quanto configurato.
45
4.22
I MMAGINE L OGIN
Si può impostare una o più immagini che compariranno all’utente prima di poter effettuare il
login.
Figura 70: Impostazione Immagine 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:
1. Spostarsi nella pagina relativa.
Figura 71: Link Like su Button
2. Proseguire con il link “Like Box”
Figura 72: Link Like Box
2. Compilare il form per ricevere il codice.
Figura 73: Form Like Button
2. Recuperare i dati da inserire in Zerotruth.
Figura 74: Form Like Button
47
Su Zerotruth è sufficiente cambiare nello script le parti segnate:
Figura 75: Impostazione Like su Facebook
1. appId : XXXXXXXXXXXXXX,
sostituendo le X con l’ID assegnato.
2. js.src = /connect.facebook.net/it IT/sdk.js#xfbml=1&appId=XXXXXXXXXXXXXXX&version=v2.0;
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.
Figura 76: Configurazione Proxy
4.24.1
S QUID
Squid è forse il più noto “proxy server” ed è molto utile per ottimizzare i collegamenti ad Internet, infatti memorizza in una cache tutte le richieste HTTP 14 effettuate e le ripropone molto
velocemente alle successive richieste.
14
Squid non può intercettare il protocollo HTTPS.
49
Diventa quindi quasi indispensabile in quelle situazioni, come le scuole, dove le connessioni simultanee 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 effettuati 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.15 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.
4.24.3
H AVP +C LAMAV
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).
15
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.
Figura 77: Attivazione e visualizzaione Shapping
Le tabelle riportano, dividendole, le connessioni attribuite ai profili o ai singoli utenti.
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.
Figura 78: Configurazione IP Blocker e Ad Blocker
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.
Figura 79: Configurazione Email
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
deselezioneare “Notifiche utente”.
Il servizio di posta elettronica è inoltre importante per il Backup di sistema e per gli avvisi all’amministratore.
53
4.28
SMS
L’ invio di SMS si deve normalamente appoggiare ad un servizio SMS da WEB offerto da numerosi
provider.
Figura 80: Configurazione SMS
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 agli utenti (se selezionato il relativo check box)
• 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”.
Figura 81: Configurazione 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.
Figura 82: Configurazione Gammu
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 risposte.
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.
Figura 83: Configurazione MultiCP
Per realizzare l’infrastruttura è necessario che tutte le postazioni 16 siano dotate di Zeroshell e Zerotruth. 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’interfaccia 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 servizio offerto, ad esempio, da scuole con sedi distaccate, servizi comunali sul territorio o catene di
esercizi commerciali.
Figura 84: MultiCp: aggiornamento Client
Figura 85: MultiCP lato client
Per la completa trattazione dell’argomento è disponibile il manuale ZT MultiCP.pdf .
16
Dalla versione 3.0 Zerotruth supera il limite delle 6 postazioni massime.
57
4.30
B ACKUP
I backup possono essere scaricati immediatamente o resi automatici con cadenza giornaliera,
settimanale o mensile 17 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 18 per poter recuperare dello spazio sul disco nel caso si ritenga
opportuno.
Figura 86: Configurazione Backup
4.30.1
B ACKUP CON EMAIL
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”.
4.30.2
B ACKUP CON FTP
Inviare i backup ad un server remoto attraverso un collegamento FTP necessita, ovviamente, di
avere un account su di esso e inserire le proprie credenziali sul form proposto allo scopo.
17
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.
18
Si ricorda che gli utenti eliminati dal dabtabase 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
Se si utilizza Dropbox è necessario registrare su “https://www.dropbox.com/developers/apps” una
nostra applicazione e consentire a Zerotruth di potersi interfacciare per caricare il backup. La
prima volta che si utilizzerà questa modalità Dropbox chiederà a Zerotruth il permesso di utilizzo
che dovrà essere concesso.
Figura 87: Conferma accesso a Dropbox
4.30.4
B ACKUP CON SCP
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
privata partendo da una pubblica è praticamente impossiile e certamente molto più complicato
di trovare una password.
Figura 88: Backup con SCP
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 Zeroshell, 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”
Figura 89: Esportazione chiave pubblica
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.19
Figura 90: Visualizzazione collegamento SSH sicuro
Figura 91: Controllo Backup effettuati
Da quest’ultima pagina è possibile cancellare singoli backup remoti, esegure un download o
ripristinarli attraverso i link delle relative icone.
19
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 attualmente installata 20 , precedentemente salvato o, se utilizzato SCP come canale di trasmissione,
come già visto nella Sez. 4.30.4.
,
Figura 92: Scelta backup da caricare
Dopo aver scelto il backup da caricare si potranno fare ulteriori scelte per ripristinare anche
singole parti dello stesso.
Figura 93: Scelta sezioni di backup
Al termine dell’operazione verrà visualizzato il corretto o meno caricamento di ogni singolo elemento.
Figura 94: Visualizzazione esito caricamento backup
20
Per gli importanti cambiamenti strutturali che ogni versione di Zerotruth ha avuto fino alla versione 3.0 si è scelto di
non permettere il caricamento di backup da versioni precedenti. Probabilmente nelle prossime versioni questo limite
verrà rimosso .
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.
Figura 95: Configurazione Avviso MB liberi Hard Disk
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.
Il grafico relativo all’utilizzo della CPU viene aggiornato in tempo reale.
Figura 96: Grafico utilizzo CPU
62
Il grafico relativo all’utilizzo della RAM viene aggiornato in tempo reale.
Figura 97: Grafico utilizzo RAM
Il grafico relativo all’utilizzo della rete viene aggiornato in tempo reale.
Figura 98: Grafico utilizzo rete
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.
Figura 99: Grafico utilizzo CP per anni
63
Figura 100: Grafico utilizzo CP per mesi
Figura 101: Grafico utilizzo CP per giorni
Figura 102: Grafico utilizzo CP per ore
64
Figura 103: 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).
Figura 104: Scelta range dati
È possibile selezionare i dati impostando una precisa fascia temporale per un controllo più accurato.
65
4.33
AGGIORNAMENTI
La pagina permette di accedere agli aggiornamenti di Zerotruth che vengono visualizzati, se
presenti, con la possibilità di installarli.
Figura 105: Aggiornamento Zerotruth
Gli aggiornamenti possono essere automatizzati e, se configurato e attivato il servizio email, essere
avvisati quando questi avvengono.
Figura 106: Post aggiornamento
Il processo di aggiornamento mostra, al termine, l’esito dell’operazione. Ogni giorno, ad un orario
casuale per ogni singola installazione di Zerotruth 21 viene effettuata la verifica degli aggiornamenti disponibili online ed eventualmente segnalati con un bollino rosso sul bottone “Config” e
sul bottone “Aggiorna”.
Figura 107: Avviso aggiornamenti disponibili
Figura 108: Avviso aggiornamenti disponibili
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. 22
21
L’orario casuale è stato scelto per non caricare il server di aggiornamento con numerose chiamate
contemporanee
22
La versione 2.1 di Zerotruth, per le strutturali modifiche inserite nella versione successiva, riporterà solamante l’avviso
e la versione 3.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 “Aggiungi Utente”.
5.1
AGGIUNGERE
UTENTI
Abbiamo già visto come Zerotruth permetta l’ autoregistrazione. Esistono altri quattro modi per
inserire gli utenti nel database del sistema da parte del gestore.
5.1.1
AGGIUNGERE UN UTENTE
La modalità di default consente di aggiungere un utente registrando le carattristiche che lo
definiranno.
Figura 109: Inserimento utente
1. Il valore del campo “Username” viene proposto automaticamente ma è possibile modificarlo
a piacere.
2. Il valore del campo “Password” viene proposto automaticamente ma è possibile modificarlo
a piacere e visualizzato ciccando sull’icona occhiali
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 diversamente nella sezione Captive Portal alla voce “Consenti Utenti Anonimi”.
5. Il valore del campo “Email” non è obbligatorio.
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 “Scaduto”. 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.
5.1.2
AGGIUNGERE DIVERSI UTENTI
Se si ha la necessità di inserire molti utenti contemporaneamente esite il form relativo attivabile
dal link “Multi” della pagina “Aggiungi Utente”.
Figura 110: Link per Multi utenti
La funzione permette, ad esempio, di stampare diversi biglietti per consegnarli alla reception di
un albergo e già caricati di un credito.
Figura 111: Link per Multi utenti
1. Numero di utenti da inserire
2. Eventuale prefisso nell’username dell’utente.
3. Inserisce l’eventuale credito nella tabella “Pagamenti” della sezione “Captive Portal”.
Al termine del procedimento verranno visualizzati a video, pronti per essere stampati, i biglietti
degli utenti.
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.
Figura 112: Link per inserimento utenti da file
Figura 113: Esempio file da caricare
La pagina mostra un avviso sul formato accettato e permette il caricamento del file.
Figura 114: Caricamento file
Dopo il caricamento verrà visualizzato il form per impostare l’inserimento degli utenti riportandone
il numero trovato nel file.
Figura 115: Inserimento utenti da 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 possibilità di registrare gli utenti i quali saranno gli unici abilitati ad autoregistrarsi.
Figura 116: Link per inserimento utenti vincolati al biglietto
Figura 117: Link per inserimento utenti vincolati al biglietto
Figura 118: Biglietti per autoregistrazione
Si vedrà sezione successiva (Sez. 5.2) come gestire tali utenti.
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.
5.2.1
TABELLA STANDARD
La tabella standard consente di visualizzare ed intervenire su molti aspetti degli utenti attraverso i
relativi link-bottone e icone.
Figura 119: Lista utenti standard
1. La colonna riporta il numero progressivo degli utenti visualizzati che collega ad una scheda
dettagliata del singolo utente.
Figura 120: Lista utenti standard
71
2. La colonna riporta il numero di sessioni effettuate dall’utente con la possibilità di visualizzarle
anche in determinati range di tempo.
Figura 121: Lista connessioni utente
3. La colonna riporta gli utenti validi, contrassegnati con una icona verde, e quelli scaduti, contrasssegnati 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 competamento di registrazione
(autoregistrazione con Asterisk), ecc.
5. Dall’icona di questa colonna si può eliminare un utente dal database.
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.
Figura 122: Collegamento simultaneo
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.
Figura 123: Connessioni utente
Per scollegare l’utente da un singolo device si dovrà scegliere il link “Attivo” sulla riga desiderata.
72
7. La colonna riporta gli utenti liberi o bloccati. Un utente può essere bloccato o sbloccato manualmente 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 impostati, 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.
Figura 124: Modifica utente
Il form, uguale a quello dell’inserimento di un singolo utente, riporta i dati dell’utente, ne
permette la modifica, la stampa del nuovo biglietto e l’invio, se scelto, delle nuove credenziali.
5.2.2
L ISTA UTENTI PER AUTOREGISTRAZIONE DA BIGLIETTO
Se nella sezione relativa all’autoregistrazione (sez. 4.14) è stata abilitata la funzione “Da Ticket”
nella pagina che visulizza la lista degli utenti registrati comparirà il link per gestire tale caratteristica.
Figura 125: Link utenti in attesa
Figura 126: Gestione utenti in attesa di autoregistrazione
È 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 database.
Figura 127: Link ricerca utenti
Figura 128: Form Ricerca utenti
Possono essere combinati nella ricerca i diversi campi proposti.
La pagina risultante di una ricerca permette di eseguire delle operazioni su gruppi di utenti.
Figura 129: Ricerca utenti
Le azioni possibili sono:
• Elimina
Si ricorda che gli utenti eliminati vengono cancellati dal database ma non dal sistema. In tal
modo si può recuperare lo “storico” del’utilizzo del Captive Portal e le sessioni effettuate per un
eventuale controllo.
• Scollega
Gli utenti selezionati verranno, se risultano con una connesione 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
5.2.4
TABELLA VELOCE
Se nella confiurazione del Captive Portal viene impostato “Abilita tabella utenti veloce” (Img: 37),
la pagina “Lista Utenti” si presenterà nel modo seguente.
Figura 130: Tabella veloce
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.
6.1
TABELLE P ROFILI
Figura 131: Pagina profili
I profili inseriti possono essere modificati o cancellati ad esclusione del profilo “DEFAULT ” che rimmarrà 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 Captive 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.
Figura 132: Inserimento 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 specifivi per i docenti, gli alunni, la segreteria etc.
Il campo “Connessioni simultanee” verrà visualizzato solamente se nella configurazione del Captive Portal (Sez. 4.13)) è stata demandata ai profili la specifica gestione.
6.3
P ROFILO
A PAGAMENTO
I pagamenti, se impostati, possono essere anticipati o posticipati.
Nel caso sia posticipato verrà memorizzato il costo delle connessioni in base al costo per ora o per
MB impostati da presentare al cliente al termine, ad esempio, del suo soggiorno in albergo o in
un campeggio o quando per i limti del profilo stesso verrà disattivato e avrà necessità di riattivare
la connessione.
Figura 133: Pagamento posticipato
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.
Figura 134: Pagamento anticipato
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.
Figura 135: Inserimento profilo con Shaping
6.5
P ROFILO
CON IMPOSTAZIONE INTERFACCIA
Se il Captive Portal è attivo su più intefacce di rete comparirà nelle impostazioni da immettere
anche la possibilità di assegnarle ai singoli profili.
Figura 136: Inserimento profilo per interfacce di rete
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ù intefacce di rete verrà riportato anche nell’elenco dei profili.
Figura 137: Pagina profili con interfacce di rete
In Zeroshell i proflili 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 scambiandoli 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.
7.1
I NVIO
EMAIL
Viene inizialmente visualizzato il form di ricerca, naturalmente dei soli utenti con email registrata,
dove è possibile combinate i vari campi per una ricerca accurata.
Figura 138: Email - Ricerca utenti
Figura 139: Compilazione email
Successivamnete 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.
8.1
I NVIO SMS
Viene inizialmente visualizzato il form di ricerca, naturalmente dei soli utenti con numero di telefono registrato, dove è possibile combinate i vari campi per una ricerca accurata.
Figura 140: SMS - Ricerca utenti
Figura 141: Compilazione 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 riportanto 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. ”
9.1
L OGIN CAPTIVE P OR TAL
Una volta collegato alla rete, sia essa wired o wireless, Zerotruth ridirige l’utente ad una pagina di
login a meno che sia stato impostato un “ servizio aperto” (Sez. 4.13).
9.1.1
L OGIN STANDARD
Figura 142: Form Login
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 visualizzera 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”.
Figura 143: Informazioni utente
Dopo aver immesso le proprie credenziali l’utente verrà, se queste risultano autorizzate, abilitato
all’accesso e verrà mostrato il popup di autenticazione.
Figura 144: 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).
Figura 145: Popup di autenticazione con solo “Tempo”
82
Il popup di autenicazione precedentemente mostrato è quello di default ma è possibile utilizzarne uno alternativo, maggiormente adeguato alla grafica di Zerotruth, che dispone di maggiori
funzioni, come l’avviso dell’immininete disconnesisone per il raggiugimento dei limiti di tempo o
di traffico.
Figura 146: Popup di auteticazione
Figura 147: Popup di auteticazione con avviso di imminente disconnessione
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.
Figura 148: Pagina di autenticazione per device mobili
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.
Figura 149: Autoregistrazione con Captive Portal aperto
Successivamente, e cosı̀ per ogni ulteriore accesso, si dovrà solamente utilizzare l’apposito bottonelink per essere autenticati.
Figura 150: Login con Captive Portal aperto
La pagina di login del sistema aperto permette all’utente di cancellare il proprio account.
Si considereri comunque che, anche in questo caso, Zerotruth quando 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 i 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 device che possono installare, o hanno gia installato, un lettore di codici
QR che li indirizzerà velocemente all’autenticazione automatica e all’accesso alla rete.
9.2
CAMBIO PASSWORD
Dal popup di autenticazione è possibile, attraverso il link “Cambia Password”, cambiare la propria
password.
Figura 151: Reimpostare la password
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.
Figura 152: Inserimento codice controllo
Naturalmente per il successo dell’operazione l’utente deve essere stato inserito nel sistema anche
con il proprio indirizo email.
Esistono altre procedure per modificare la password da parte di un utente se il sistema è configurato 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.
Figura 153: Dettagli utente
Figura 154: Connessioni utente
Dalla scheda inoltre è possibile accedere ai dati dell’accounting con l’elenco di ogni singola
connessione dove viene specificato:
• l’ndirizzo IP e il MAC address del device che ha effettuato il collegamento;
• la data e l’ora di inizio connessione;
• la data e l’ora di fine 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 dversi ma sempre avendo cura di poter risalire
in modo preciso al reale utente nel caso vi sia la necessità. Nel caso si imposti la registrazione 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.
9.4.1
AUTOREGISTRAZIONE S TANDARD
L’ Autoregistrazione è permessa di default solo se si è abilitato il servizio email e SMS. Infatti le
credenziali verranno mandate all’utente in modo completo, ma senza password, via email ed
essenziali ma comprensive di password via SMS.
Figura 155: Auto Registrazione
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.
Figura 156: Norme per 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).
Figura 157: Avvio post registrazione
9.4.2
AUTOREGISTRAZIONE CON S OCIAL N ETWORK
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 mdalità. 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.
Figura 158: Autoregistrazione con Facebbok
88
Figura 159: Autoregistrazione con Google+
Figura 160: Autoregistrazione con Twitter
89
9.4.3
AUTOREGISTRAZIONE CON A STERISK
Dopo aver opportunamente configurato l’autoregistrazione tramite chiamata ad un PBX Asterisk
(Sez. 4.14.1) gli utenti utilizzeranno questo canale che, come già descritto, evita ai gestori del
servizio i costi di spedizione delle credenziali attraverso SMS.
L’autoregistrazione avverrà, come al solito, attraverso il form richiamabile dal link Registrazione
presente nella pagina di login del Captive Portal.
Figura 161: Form auto registrazione con Asterisk
Al termine del procedimento l’utente verrà avvisato della necessità, per completare la registrazione, di chiamare il numero del centralino Asterisk con la SIM del numero inserito nella registrazione.
Figura 162: Avviso post registrazione
Nello stesso avviso verrà visualizato l’username e la password assegnata.
90
Nella lista utenti troveremo a questo punto l’utente registrato contrassegnato con il logo di Asterisk. L’utente risulterà bloccato in attesa di conferma e non potrà essere modificato dai gestori o
dall’admin ma solo, eventualmente, eliminato.
Figura 163: Tabella users con utente in attesa di conferma
Quando l’utente effettuerà la chiamata telefonica per il controllo del’autenticità del numero
inserito la tabella riporterà l’utente come definitivamente registrato eventualmente mostrando i
limiti assegnati dal profilo assegnato.
9.4.4
AUTOREGISTRAZIONE CON SMS
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.
9.4.5
AUTOREGISTRAZIONE DA T ICKET
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.
Figura 164: Biglietto per auto registrazione
Solamente gli utenti in possesso del biglietto potranno autoregistrarsi inserendo nel campo username 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.
9.5.1
R ECUPERO PASSWORD STANDARD
Dalla pagina di login è possibile per l’utente recuperare la propria password se dimenticata.
Figura 165: Recupero password
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.
9.5.2
R ECUPERO PASSWORD CON A STERISK
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).
Figura 166: Configurazione Captive Portal fuori servizio
Figura 167: Captive Portal fuori servizio
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 SAN23
L’importanza di utilizzare delle connessioni crittografate quando si trasmettono dei dati iportanti
come le autenticazioni è fondamentale, ma utilizzando il certificato auto-firmato di Zeroshell presenta il fastidioso inconveniente dell’avviso dei browser della sua possibile inattendibilità in quanto
non firmato da una “Certification Authority” riconosciuta.
Figura 168: Avviso connessione non certificata
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’attendibilità 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 [email protected]).
Tale limite può essere superato acquistando dei certificati UCC/SAN24 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 Request” (CSR) da inviare per ottenerte 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 Windows è 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 otteremo una chiave RSA 4096 bit) con il comando
openssl genrsa -out www.zerotruth.net.key 4096
Figura 169: creazione chiave privata
23
Il presente allegato è stato realizzato grazie all’indispensabile e competente lavoro di Jonatha Ferrarini.
I certificati utilizzati e testati sono dei Comodo Positive UCC/SAN che offrono 3 domini ampliabili a piacere,
acquistati da www.megasslstore.com.
24
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 ferccia rossa, apparire nel seguente modo:
Figura 170: V3 req extensions
Creiamo ora la CSR per www.zerotrut.net con hash SHA-512, usando la chiave RSA creata in precedenza con il seguente comando:
openssl req -new -key www.zerotruth.net.key -out www.zerotruth.net.csr -sha512
compilando i campi che verranno richiesti facendo attenzione ad inserire alla voce “CommonName” esattamente il dominio raggiungibile su Internet.
Figura 171: Creazione CSR
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.
Figura 172: Chiavi RSA e CSR
95
Ottenuto il certificato firmato (www.zerotruth.net)
Figura 173: Certificato firmato
e il certificato “Root CA” (ca-bundle.crt)
Figura 174: Certificato firmato
cambiamo le estensioni dei files da .crt a .pem, per importarli in Zeroshell.
Il certificato della Root CA ( ca-bundle.pem) va importato nelle Tusted CAs.
Figura 175: Importazione Root CA
96
Il certificato firmato va importato, con la relativa chiave RSA, nelle “Imported”.
Figura 176: Importazione Certificato firmato
Se si va a controllare il certificato con il link “View” Zeroshell riporterà “Status: Unable to get local
issuer certificate”
Figura 177: Mancanza della Certificate Chain
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 Validation Secure Server CA”, da importare sempre nelle Tusted CAs. Questi cerificati intermedi li
possiamo trovare sul sito di COMODO:
COMODO RSA Certification Authority
COMODO RSA Domain Validation Secure Server CA
In un documento di testo, copiamo il certificato in .pem, da
—–BEGIN CERTIFICATE—–
a
—–END CERTIFICATE—–
compresi, se necessario cambiando l’estensione del file di testo appena creato in .pem, per
importarlo nelle Tusted Cas.
97
L’operazione va effettuata per tutti e due i certificati. Alla fine la nostra “Trusted CAs list” dovrebbe
presentarsi come nella seguente immagine:
Figura 178: Importazione certificati intermedi
Ricontrollando lo stato del certificato ora il sistema riporterà lo stato “OK ”.
Figura 179: Controllo Stato certificato
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 disponibili come SAN sul certificato (nell’esempio captive.zerotruth.net) creando, nel DNS, la nuova
zona zerotruth.net.
Figura 180: Inserimento zona DNS
Figura 181: Inserimento zona DNS
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.
Figura 182: Inserimento record A
Nella sezione “Authentication” della pagina “Captive Portal” è necessario impostare il nuovo
certificato affinchè venga utilizzato nell’autenticazione al posto di quello locale.
Figura 183: Scelta certificato importato
Terminate le operazioni su Zeroshell utilizzando l’interfaccia di Zerotruth potremo impostare la
ridirezione all’URL “captive.zerotruth.net”.
Figura 184: Impostazione ridirizione con URL
L’esempio della figura precedente riporta la configurazione nel caso il Captive Portal sia configurato 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 185: Impostazione ridirizione con URL con multi interfaces
Nell’esempio il sistema è configurato con Captive Portal su “Multi interfaces” e precisamente
“ETH01”, “ETH02” e “WLAN00” come segnato dai diversi campi. Per ogni interfaccia sarà possibile
inserire un URL, corrispondente ad un SAN, che verrà utilizzato per la ridirezione. Inoltre è possibile
non inserire l’URL per alcune interfacce e in tal caso la stessa utilizzerà il proprio IP address per la
ridirezione, senza quindi utilizzare i certificati “attendibili”.
Naturalmente affinchè il sistema ridiriga opportunamente al relativo URL si dovrà inserire un record
A, specifico per il SAN collegato all’interfaccia di rete, nella relativa zona del DNS.
Ad operazioni finite il Captive portal sarà ridiretto automaticamente sul SAN corrispondente e
verrà riconosciuto come sicuro dai browser.
Figura 186: Certificato riconosciuto come attendibile
Figura 187: Certificato riconosciuto come attendibile
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 .25
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
Figura 188: Creazione nuovo template
inserendo, quando richiesto, il nome scelto.
Dopo tale operazione il nuovo template, una copia di quello di default, sarà creato e sarà visibile
e selezionabile dalla pagina di configurazione del Captive Portal.
Figura 189: Abilitazione nuovo template
Sarà quindi possibile abilitarlo per poi fare i cambiamenti necessari avendo comunque la possibilità 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
della quale sarà importante rispettare la struttura delle cartelle contenute.
Per eliminare completamente un template, ad eccezione di quello di default, è disponibile uno
script da utilizzare da shell:
/ DB / apache2 / cgi - bin / zerotruth / scripts / deleteTemplate . sh
25
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’interfaccia 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”
• “tar zxvf zt-mc-nano.tar.gz”
• “./install.sh”
Figura 190: Installazione di Midnignt Commander e Nano
Per poter utilizzare subito i due programmi, senza eseguire un reboot della macchina, è necessario far rileggere alla bash shell attiva il nuovo profilo memorizzato nell’installazione, che aggiunge
il path corretto, con il comando:
“. /root/.bash profile”
facendo attenzione ad inserire il punto iniziale.
C.1
Midnight Commander
Midnight Commander è un veloce file manager visuale per i terminali a caratteri e corrisponde
all’eseguibile “mc”. Si tratta di un programma molto simile a Norton Commander, un software
proprietario per DOS. Midnight Commander è facilmente configurabile e permette di gestire file e directory in modo molto intuitivo anche con l’utilizzo del mouse. Inoltre si può accedere
velocemente a file compressi e a server remoti usando il protocollo FTP. In questo documento si esporrà solamente alcune possibilità rimandando alle numerose guide presenti in Internet
l’approfondimento delle notevoli potenzialità.
102
Per eseguire Midnight Commander è sufficiente usare da shell il comando “mc”.
Figura 191: Midnight Commander
I comandi principali vengono riportati nei riquadri in basso dell’interfaccia e possono essere attivati 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 scompattare un archivio compresso. Con il tasto F3 si visualizza un file mentre con F4 si può editarlo. 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.
Figura 192: Midnight Commander
103
Nella scheda che si aprirà si dovrà semplicemente togliere la spunta a “Use internal editor”.
Figura 193: Midnight Commander
In tal modo se viene editato un file Midnight Commander utilizzerà l’editor Nano. Un’altra importante 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
Figura 194: Midnight Commander
dove si dovranno inserire le credenziali di autenticazione per il server remoto nel formato
“user:password@IP”
Figura 195: Midnight Commander
104
Se il collegamento verrà stabilito potremo utilizzare i soliti comandi da mouse o tastiera per trasferire i file da o per il server remoto.
Figura 196: Midnight Commander
C.2
Editor Nano
Per utilizzare Nano si deve eseguirlo da Shell con il comando “nano”. Se seguito dal nome di un
file esistente lo aprirà e si potrà editarlo con gli intuitivi comandi descritti in basso nella finestra
dell’editor.
Figura 197: Midnight Commander
Figura 198: Midnight Commander
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 sistem 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”
e alla richiesta della nuova login shell inserire “/bin/bash”
Figura 199: Modifica login shell
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’operazione regolarmente.
Figura 200: Utilizzo di sftp
La stessa funzione la svolge automaticamente, ad esempio, nautilus il file manager di Ubuntu
scegliendo “connetti al server” nel menu file.
Figura 201: Nautilus
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.
Figura 202: Geany - apertura file
Figura 203: Geany - interfaccia
107
D
Scripts
In questo allegato vengono riportati alcuni esempi di scripts da utilizzare nelle varie features di
Zerotruth.
D.1
Scripts per keypad
Come illustrato nella sezione Keypad (Sez. 4.8) è possibile impartire dei comandi al sistema con
una tastiera utilizando dei codici numerici.
I tasti utilizzabili sono quelli sempre presenti su un tasierino numerico e quindi dal tasto “0” al tasto
“9”, il tasto “+”, “-”, “*” e “/” oltre al tasto “Enter” che serve a terminare la sequenza e inviare gli
scan code.
Lo script che viene lanciato dopo aver digitato un codice e premuto il tasto Enter, o il tasto
mappato come Enter, (“/DB/apache2/cgi-bin/zerotruth(scripts/readkeys.sh” ) converte gli scan
code in numeri ed esegue, se trova un codice impostato, i relativi comandi. La prima parte dello
script dev’essere mantenuta perchè serve a convertire gli scan code in numeri per costruire il
codice.
# !/ bin / bash
source / DB / apache2 / cgi - bin / zerotruth / conf / zt . config
source / DB / apache2 / cgi - bin / zerotruth / functions . sh
source / DB / apache2 / cgi - bin / zerotruth / language / $C_LANGUAGE / $C_LANGUAGE . sh
NC = " $ ( echo $1 | sed ’s / -/ /g ’ | wc -w | awk ’{ print $1 } ’) "
[ " $NC " == " 0 " ] && exit
CODE = " "
for N in $ ( seq 2 $ (( $NC +1))); do
PC = " $ ( echo $1 | cut -d ’ - ’ - f$N ) "
PC = " $ ( cat $C_ZT_CONF_DIR / keys . conf | grep " $PC " | cut -d ’ ’ - f1 ) "
CODE = " $ { CODE } $ { PC } "
done
Sotto tale intestazione si può inserire qualsiasi comando che tenga presente i possibili codici passati come nei seguenti esempi dove il simbolo “/–/ ” significa che la riga va posta in continuazione
alla precedente.
CAPTIVE P ORTAL OFFLINE
if [ " $CODE " == " 15556 " ]; then
ln -f -s $ C _ H T D O C S _ T E M P L A T E _ D I R / cp_showauth_custom - off
/ - -/ $C_CP_DIR / Auth / Template / cp _sh ow au th _c us to m
exit
fi
CAPTIVE P ORTAL ONLINE
if [ " $CODE " == " 16668 " ]; then
ln -f -s $ C _ H T D O C S _ T E M P L A T E _ D I R / cp_showauth_custom - on
/ - -/ $C_CP_DIR / Auth / Template / cp _sh ow au th _c us to m
exit
fi
D ISCONNETTERE TUTTI GLI UTENTI
if [ " $CODE " == " 1563546 " ]; then
CONNECTED = $ ( ls $C_CP_DIR / Connected )
for IP in $CONNECTED ; do
$C_ZT_BIN_DIR / zt " Disconnetti " " $IP "
done
exit
fi
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
S BLOCCARE TUTTI GLI UTENTI
if [ " $CODE " == " 134321 " ]; 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
RADIUS = $ (/ usr / local / bin / ldapsearch - xLLL -b " ou = Radius , $C_LDAPBASE " cn = $USER sn )
PASS = $ ( echo $RADIUS | awk ’{ print $NF } ’)
PASS = $ ( echo " $PASS " | cut -d ’ - ’ - f1 )
DATA = " dn : cn = $USER , ou = Radius , $C_LDAPBASE \ nsn : $PASS "
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 : no "
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

Documenti analoghi

deploy di zeroshell in ambiente virtuale

deploy di zeroshell in ambiente virtuale Per testare il Captive Portal ho creato un utente con le seguenti credenziali: Username: “lorenzo” - Password: “password” Dopo aver collegato l’adattatore di rete della macchina virtuale Windows al...

Dettagli

Configurazione Zeroshell rev02 - Parte 1

Configurazione Zeroshell rev02 - Parte 1 Inserire il CD con l’immagine masterizzata di Zeroshell e confermare modifiche al BIOS. Attendere l’accensione fino al caricamento della schermata di boot illustrata qui sotto.

Dettagli