Z ERO T RUTH I NTERFACCIA PER IL CAPTIVE P ORTAL DI Z ERO S HELL VERSIONE 3.0 Nello Dalla Costa 10 febbraio 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 e 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 ` Nello Dalla Costa. L’autore dei contenuti di questo manuale, ad esclusione del capitolo 2, e ` vengono forniti gratuitamente e l’autore non puo ` esseI contenuti hanno valore solo didattico e re ritenuto responsabile per qualsiasi danno o perdita di dati causato da errori e inesattezze di qualsiasi tipo presenti. ` distribuito gratuitamente ed e ` fornito cos`ı come e ` senza nessuna garanzia di corretto Zerotruth e funzionamento. ` essere ritenuto responsabile per qualsiasi danno, perdita di dati o In nessun caso l’autore puo mancato guadagno causato dal suo utilizzo. I nomi commerciali, i loghi e i marchi registrati menzionati nella guida appartengono ai rispettivi proprietari. I contenuti di questo manuale non possono essere copiati o riprodotti neanche in parte senza l’autorizzazione dell’autore. E` 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 19 20 20 21 23 23 24 24 25 27 29 31 32 32 33 34 34 35 39 40 41 41 42 43 44 4 C ONFIGURAZIONE 4.1 Z EROTRUTH . . . . . . . . . . . . . . 4.2 A DMIN . . . . . . . . . . . . . . . . . 4.3 U SERS ( UTENTI GESTORI ) . . . . . . . 4.4 I MMAGINE . . . . . . . . . . . . . . . 4.5 L OGO . . . . . . . . . . . . . . . . . 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 A` 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 46 46 47 47 48 49 49 49 50 51 52 53 54 55 55 55 56 56 58 59 59 63 63 . . . . . . . . . . 64 64 64 65 66 67 68 68 70 71 72 . . . . . 73 73 73 73 74 74 7 E MAIL 76 7.1 I NVIO EMAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 8 SMS 77 8.1 I NVIO SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 78 78 80 81 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 82 83 83 84 86 87 87 88 88 88 89 A I ferri del mestiere A.1 Midnight Commander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Editor Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Direttamente da PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 90 93 94 B Scripts 96 B.1 Scripts per keypad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 iii 1 Z EROTRUTH E Z EROSHELL I NTRODUZIONE Mi sono avvicinato a Zeroshell cercando un applicativo per allestire un Captive Portal per il laboratorio di informatica di una piccola scuola e la piazza antistante una biblioteca comunale e mi ` del suo utilizzo. installandolo su una Alix in 10 minuti ha piacevolmente stupito per la semplicita tutto andava a meraviglia. ` chiamare, era poi farlo gestire ad una persona con poche competenze Il limite, se cos`ı si puo che, dall’interfaccia di Zeroshell, potesse aver accesso a tutte le caratteristiche. Dopo una prima esperienza con un applicativo scritto in PHP, installato su una postazione colle` e non solo, ho deciso di gata al server Zeroshell, che ha mostrato molti limiti in fatto di velocita ` realizzare un’interfaccia da installare direttamente su Zeroshell, per poter aumentare la velocita di elaborazione e accedere ad altre funzioni in quel modo non possibili. ` stata di utilizzare delle cgi-bin in bash scripts incontrando non poche difficolta, ` sopratLa scelta e tutto per capire come lavorasse lo straordinario lavoro di Fulvio Ricciardi dal quale ho imparato molto e copiato a piene mani. Zeroshell dispone, tra le moltissime caratteristiche che offre, di un ottimo Captive Portal, comprensivo del modulo di accounting, sul quale Zerotruth si appoggia completamente integrando delle funzioni aggiuntive anche attraverso l’inserimento di altri programmi compilati appositamente. ` stato quello di offrire un modo semplice, ma il piu` completo possibile, di gestire un Il tentativo e Captive Portal sia per installazioni destinate a pochi utenti che per quelle che devono offrire il servizio a migliaia di persone. ` utilizzato in diversi centri sociali, biblioteche e scuole in Italia e, visto che e ` nato inizialZerotruth e mente 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. ` ma anche la sua pubblicita, ` Zerotruth non Senza avere alle spalle Zeroshell, con la sua solidita 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, e continuano a farlo, ad inserire nuove funzioni sarebbe stato possibile avere lo stimolo per continuare a sviluppare il “giocattolo” inserendo molte features che probabilmente ` mai nelle mie modeste installazioni. non usero ` Zerotruth e, ` e rimarra, ` un semplice passatempo che con piacere Lo chiamo “giocattolo” perche 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 disponibilita 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 ` la descrizione della realizzazione di un gateway per Hotspot Wi-Fi Il fine di questo documento e ` in particolar modo sulle modalita ` di autenticazione mediante l’uso di Zeroshell. Ci si soffermera degli utenti (RADIUS, Kerberos 5 e con certificati digitali X.509) e sull’accounting RADIUS del traffico ` uno sguardo anche alla possibilita ` di ottenere un router Multie del tempo di connessione. Si dara ` di Captive Portal. WAN con bilanciamento e failover dei collegamenti Internet con funzionalita Figura 1: Rete in un Hotspot con Router Captive Portal ` accesso ad Internet a utenti occasionali, e ` Negli Hotspot, ovvero nei luoghi pubblici in cui si da ` necessario per il gestore disporre di almeno alcune delle seguenti funzionalita: 1. Autenticazione; 2. Registrazione degli accessi nei log; 3. Accounting del traffico, del tempo e dei costi di connessione. ` di poter identificare univocamente l’utente per poi autoL’autenticazione, ovvero la capacita ` avvenire mediante username e password o tramite certificato rizzarlo all’accesso alla rete, puo digitale X.509 eventualmente memorizzato su Smart Card. ` talvolta richiesto per legge, poiche ´ permette di risalire agli autori di attivita ` Il log degli accessi e 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 con` quello di permettere la tariffazione nessione relativo ad un utente. Spesso il fine dell’accounting e del traffico con costi per Megabyte di traffico generato o per minuto di collegamento. Inoltre, tramite l’accounting, si possono impostare dei limiti al traffico e al tempo oltre i quali l’u` permettere la gestione di tente viene disconnesso dalla rete. In particolare, l’accounting puo connessioni prepagate in cui l’utente per poter essere in linea deve disporre di un credito. 2 ` si utilizzano una o entrambi le seguenti modalita ` di accesso: Per ottenere tali funzionalita • 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’au` garantita anche la cifratura del traffico tra client ed Access Point. tenticazione, e Nel caso di accesso mediante Captive Portal invece, gli Access Point vengono programmati in ` aperta, cioe ` senza alcuna autenticazione e cifratura. Il client si puo ` associare liberamodalita mente e riceve immediatamente un indirizzo IP dal server DHCP. Tuttavia, il Gateway di Accesso a Internet blocca la comunicazione con l’esterno e redirige qualsiasi richiesta Web (http e https) verso un portale di autenticazione. ` un sistema piu` robusto dal punto di vista Appare subito evidente che WPA/WPA2 Enterprise e della sicurezza rispetto al Captive Portal, ma d’altra parte, richiede che l’utente configuri il suo ` facile per gli utenti occaclient (supplicant) per autenticarsi via 802.1x. Tale configurazione non e sionali di un Hotspot ed per questo, che nella maggior parte dei casi, si preferisce dare accesso mediante Captive Portal che non richiede alcuna configurazione sul dispositivo portatile. Figura 2: Configurazione del Captive Portal Gateway ` Alcuni Access Point Wireless implementano internamente un Captive Portal, ma spesso questo e poco configurabile ed adattabile all’esigenze di un Hotspot. Risulta invece piu` 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 ` nell’uso di un Captive Portal anche da parte di un utente inesperto e ` dovuta sopratLa semplicita ` tutto al fatto che l’accesso al livello 2 della rete, sia che si tratti di wireless che di rete cablata, e ` privo di autenticazione). Il client appena si associa alla rete ottiene subito un IP dal aperto (cioe ` si traduce in server DHCP e comunica in maniera non criptata. La contropartita di tale semplicita 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 ` lo spoofing dell’indirizzo Il problema di sicurezza piu` sentito quando si parla di Captive Portal e 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 ` senza che ci siacaptive portal sia direttamente connesso a livello 2 alla rete da proteggere, cioe ` su no router in mezzo). Purtroppo questi 2 parametri possono essere impostati con estrema facilita ` esiste il rischio che qualcuno catturi il traffico con uno sniffer qualsiasi Sistema Operativo e percio, ` autenticato e si imposti gli stessi IP e MAC address. Cio ` perturberebbe alla ricerca di un client gia ` della la comunicazione del client legittimamente autenticato che, notando una bassa qualita connessione, rinuncerebbe all’uso della rete lasciando campo libero all’impostore. ` aggravato dal fatto che la maggior parte delle implementazioni di Captive Portal, Il problema e ´ questo e ` visibile in rete senza che il mantengono un client autenticato e quindi connesso finche 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, ´ il client ha un ruolo passivo nel riaccreditamento dell’autenticazione. poiche ` invece quella di far si che sia il client stesso a richiedere La soluzione adottata da Zeroshell e al Captive Portal gateway il rinnovo dell’autenticazione, presentandogli un pacchetto criptato ` un segreto condiviso soltanto dal client con AES256, denominato Authenticator. Quest’ultimo e ` non puo ` essere catturato con uno snife dal Captive Portal (viaggia infatti in tunnel SSL e percio fer) e pertanto anche squelloe qualcuno imposta l’IP e il MAC address di un utente autenticato, ` dell’Authenticator con cui richiedere al Captive Portal il rinnovo dell’autenticazionon disporra ne. 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. E` da notare che tale finestra non viene bloccata dai sistemi anti-popup di cui quasi ogni ` dotato poiche ´ viene aperta in maniera sincrona alla richiesta di autenticazione browser web e ` la finestra di Popup ha causato diversi problemi con l’avvento dell’utente. D’altra parte pero, 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 piu` noto di tale categoria ` il client VoIP di Skype, ma molti altri sistemi P2P e worm fanno altro e tanto. Si di programmi e 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 ` HTTP. E` portale di autenticazione che cercherebbe invano di servirle visto che il traffico non e ovvio, che all’aumentare dei client non ancora autenticati su cui girano i suddetti programmi, ` che si verifichi un DoS (Denial of Service) in cui il portale di autenticazione aumenta la probabilita ` impegnato a servire richieste fasulle, non riuscendo a gestire o a gestire con molta lentezza le e 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 ` essere impostato su tre livelli (Low, Medium e High). puo Figura 5: captive-portal-DoS-protection 5 Inoltre, i meccanismi di Auto-Update dei Sistemi Operativi e delle Signature degli Antivirus spesso ` possono utilizzano il protocollo http per comunicare con il repository di aggiornamento e percio 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. ` lavorare anche nella modalita ` detta in Bridge Mode, in cui la rete Il Captive Portal di Zeroshell puo 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 ` un router a monte del Captive Portal. In questo caso, anche DHCP e DNS default gateway che e da utilizzare per la parte Hotspot possono essere gli stessi che si usano per il resto della LAN. ` di funzionaNelle precedenti versioni di Zeroshell si doveva dichiarare esplicitamente la modalita ` a riguardo: Viene mento del Captive Portal. Dalla release 1.0.beta15, invece, ci sono 2 novita ` MULTI in cui si possono dichiarare piu` interfacce di rete su cui attivare il Captigestita la modalita ` essere attivato anche sulle VLAN 802.1q ve Portal. Come si vede nella figura il Captive Portal puo ` bridge o router automaticamente controllan(Tagged Virtual LAN); Zeroshell sceglie la modalita ` si deduce do se un’interfaccia fa parte o meno di un bridge. Mettendo insieme le due novita, ` lavorare sullo stesso box hardware contemporaneamente che il Captive Portal di Zeroshell puo come router per alcuni segmenti di LAN e come bridge per altri. Figura 6: Captive Portal su piu` interfacce di rete 2.6 AUTENTICAZIONE DEGLI UTENTI ` utilizzare diverse fonti di autenticazione anche contemporaneaIl Captive Portal di Zeroshell puo mente. Per default, autentica gli utenti utilizzando il suo KDC Kerberos 5 interno che contiene i principal relativi agli utenti archiviati nella Directory LDAP e gestiti mediante l’interfaccia web. Tuttavia, possono essere utilizzate fonti esterne di autenticazione quali REALM Kerberos 5, server ` disponibile anche il login mediante Certificati Digitali RADIUS e Identity Provider SAML 2. Inoltre, e 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) ` tra i protocolli piu` utilizzati per il riconoscimento degli utenti su dispoL’autenticazione RADIUS e sitivi 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 ` possibile aggiungere il server RADIUS di DEFAULT stesso Shared Secret. Nella lista dei proxy radius e ` autoritario per autenticare l’utente. Il proche viene utilizzato qualora nessuno degli altri server e xy 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 ` effettuare richieste di autenticazione PAP o 802.1x (EAP-TTLS con PAP e PEAP Il captive portal puo con MsCHAPv2). In quest’ultimo caso, il captive portal appare al server RADIUS come il suppli` cant di un dispositivo Wi-Fi che tenta l’accesso tramite WPA/WPA2 Enterprise. L’utilizzo di 802.1x e 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 e ` di discovery del REALM e dei KDC tramite i record SRV del DNS e ` necessario attiva la funzionalita specificare manualmente gli indirizzi IP (o gli hostname FQDN) dei KDC autoritari per il REALM. Figura 9: Configurazione dei Realm Kerberos 5 esterni ` opportuno autorizzare l’accesso tramite Captive Portal soltando ad un grupIn alcune situazioni e ` non e ` possibile mediante Kerberos 5 poiche ´ quest’ultimo gestisce solo l’autenpo di utenti. Cio ` demandata ad LDAP. Tuttavia, si puo ` attiticazione di Active Directory, mentre l’autorizzazione e vare sui controllori di dominio lo IAS (il Servizio RADIUS di Active Directory) e configurare il Captive ` configurare IAS per autorizzare solo gli Portal per autenticare verso RADIUS. In questo caso, si puo 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 ` firmato da una delle Autorita ` di [X.509] presente nel portale di autenticazione, se il certificato e Certificazione configurate all’interno del captive portal, l’utente ha accesso alla rete. L’utilizzo ` spesso legato a quello delle Smart Card o dei Token USB. Questi dispositivi dei certificati digitali e ´ la chiave infatti, possono custodire il certificato digitale in maniera estremamente sicura poiche, 8 ` essere estratta con un’operazione di lettura dall’esterno. Le Smart Card sono privata non puo ` dotate di un loro chip che effettua le operazioni di cifratura e decifratura richieste tramite percio 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 ` e ` spesso utilizzato nelle federazioni in cui ogni memutenti verso un Identity Provider SAML 2. Cio bro di una federazione implementa un IdP per il riconoscimento degli utenti oltre a diversi servizi ` includere l’accesso alla rete Wi-Fi, in cui, l’utenweb (Service Provider). Tra questi servizi si puo ` autenticare. Si te viene rediretto verso il WAYF/DS da cui seleziona l’Identity Provider che lo puo potrebbe obiettare che anche legando il captive portal ad una gerarchia di server RADIUS (tipo ` e gli Enti di Ricerca) si otterrebbe l’accesso federato EDUROAM per quel che riguarda le Universita alla rete. Tuttavia, mentre nel caso di 802.1x si ha la cosiddetta autenticazione End-to-End anche ` non e ` garantito. Per questo attraversando la gerarchia di server RADIUS, con il captive portal cio ` preferibile utilizzare SAML, in cui invece, le credenziali viaggiano, partendo dal browser dell’ue tente fino al’IdP autoritario per la sua autenticazione, sempre all’interno dello stesso tunnel cifrato ` l’autenticazione End-to-End. Per maggiori dettagli sull’uso del Capticon SSL, garantendo percio ` disponibile il documento “Configurare il Captive Portal per autenticare ve Portal con Shibboleth e 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 con` pertanto nessioni. Il Captive Portal di Zeroshell utilizza RADIUS per trasmettere tali informazioni ed e possibile utilizzare un server esterno che supporti l’accounting via RADIUS oppure Zeroshell stesso. ` centralizzarne la gestione su di Cos`ı come per l’autenticazione, anche per l’accounting si puo unico server RADIUS che raccolga le informazioni provenienti da piu` Hotspot. Si noti peraltro, che ` proprio perche ´ rispetta lo standard RADIUS, raccoglieil sistema di accounting di Zeroshell puo, re 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 ` possibile anche impostare dei limiti di connessione per gli utenti. Tramite l’accounting RADIUS e ` e ` sufficiente assegnare gli utenti ad una classe di accounting a cui si attribuiscono i Per far cio 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 ´ gia ` l’accounting mantiene traccia delle connessioni degli utenti alla rete e ` possibile avere Benche maggiori dettagli sull’autenticazione degli utenti consultando i messaggi di log del Captive Portal. Figura 13: Messaggi di log del Captive Portal ` essere utile tenere Peraltro, soprattutto se i client del Captive Portal utilizzano indirizzi IP privati, puo ´ il traccia delle connessioni TCP e UDP che vengono stabilite con server esterni. Infatti, poiche 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. ` raccomandato valutare, prima di abilitarIl Connection Tracking va abilitato esplicitamente ed e lo, quanto il suo utilizzo sia consentito dalle leggi sulla privacy, tenuto conto del fatto che esso non permette di risalire ai contenuti delle comunicazioni degli utenti, ma soltanto a determinare quali server sono stati contattati. Figura 14: Registrazione nei log delle connessioni TCP/UDP 11 3 I NSTALLAZIONE E RIMOZIONE DI Z EROTRUTH ` molto semplice ma, come gia ` detto, appoggiandosi completamente a Installare Zerotruth e ` necessario abilitate su quest’ultimo alcune funzioni. Zeroshell prima e 3.1 P REPARAZIONE DI Z EROSHELL Figura 15: Abilitazione SSH ` abilitare, a seconda delle proprie necessita, ` per un unico IP address, per una subnet L’SSH si puo o per una specifica interfaccia di rete. ` inoltre attivare, sempre dalla GUI di Zeroshell, il Captive Portal e il modulo dell’accounting Si dovra ` altrimenti in fase di installazione Zerotruth lo richiedera. Figura 16: Abilitazione Captive Portal ` abilitare, a seconda della propria rete, su una o piu` interfacce di rete. Il Captive Portal si puo 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: Abilitazione Accounting ` Il chiaro elenco dei comandi che offre Zeroshell indica che per accedere alla Shell Prompt e necessario digitare “S”. ` ovviamente inserire le proprie credenziali che di default sono “admin” come Al prompt si dovra username e “zeroshell” come password. 1 ` collegare a una postazione Zeroshell appena Dalla Bash Shell di una qualsiasi distribuzione GNU/Linux ci si puo installata con il comando “ssh [email protected]”. 2 ` un programma che permette, tra l’altro, connessioni in SSH ed e ` liberamente scaricabile. Putty e 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 ` dare i seguenti comandi: shell di Zeroshell bastera 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 ` tutte le operazioni necessarie mostrando a video lo stato di Il comando “./install.sh” eseguira 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/zerotruth` lo script “uninstall.sh” per disinstallare completamente Zerotruth senza modificare 3.0”, si trovera Zeroshell. 3.4 U PGRADE DI Z EROTRUTH ` nePrima di effettuare l’upgrade ad una nuova versione, senza utilizzare la GUI di Zerotruth, e cessario rimuovere la versione installata come visto precedentemente. La rimozione di Zerotruth ` tutte le configurazioni. mantiene inalterato il database degli utenti eliminando pero ` essere effettuato direttamente Dalla versione 1.0.beta2 l’upgrade alle versioni successive puo ` da preferire in quanto mantiene inalterate le configurazioni dalla GUI di Zerotruth, 3 tale scelta e precedentemente impostate. 3 ` dato automatico avviso negli aggiornamenti disponili. Se viene messa on-line una nuova versione verra 14 3.5 ACCESSO ALLA GUI DI AMMINISTRAZIONE Collegandosi con un browser all’indirizzo IP impostato per Zeroshell viene presentata la pagina di “scelta” dalla quale si procede verso il login di Zerotruth o verso quello di Zeroshell. Scegliendo Ze` possibile accedere con l’username rotruth viene presentato il form di autenticazione dal quale e “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. ` configurare Zerotruth utilizzando la relativa pagina. Il bottone “Config” Al primo accesso si dovra 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 ` presente il bottone SMS in quanto servizi attivi e dell’utilizzatore. Ad esempio nella figura 21 non e ` stato ancora configurato. tale servizio non e 4 ` possibile assegnare il permesso di configurare Zerotruth Agli “utenti gestori” non sara 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 ` poi utilizzato nelle comunicazioni, tramite email e/o SMS, agli utenti e Il nome impostato verra all’amministratore oltre nei backup per identificare la postazione • la lingua dell’interfaccia Sono attualmente disponibili le seguenti lingue: Italiano, inglese, polacco, portoghese, spagnolo e tedesco 5 • le porte in ascolto ` modificare per esigenze particolari la porta per l’HTTP e per HTTPS, in tal caso il sistema Si puo ` di un riavvio. necessita ` possibile registrare Zerotruth per poter installare funzionalita ` extra 6 e acDalla stessa pagina e ` automatica, dopo aver eseguito una donazione cedere agli aggiornamenti. La registrazione e ` previste, 7 si ricevera ` in breve tempo una email contenente tramite Paypal o nelle altre modalita un codice personale da inserire nel predisposto form. ` il codice autorizzato in “chiaro” in quanto non e ` A seguito della registrazione la pagina mostrera possibile utilizzare lo stesso su una postazione diversa. ` valido anche per le versioni successive di Zerotruth se installato sulla stessa postaIl codice sara zione. 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, registrazione tramite Social Network e modulo MultiCP. 7 ` ricevere un codice di attivazione inserendo un link a www.zerotruth.net su un proprio sito Oltre alla donazione si puo 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 ` utilizzata come destinatario delle notifiche, nella spedizione del Backup ecc. che verra • il numero di telefono per le notifiche via SMS ` sugli utenti gestori • la priorita ` rifiutato il collegamento finche ` l’amministratore risulta In tal caso ad un utente gestore verra connesso ` dell’amministratore. • la registrazione nei Log delle attivita ` inoltre scegliere quali notifiche ricevere e attraverso quale canale se i servizi sono attivi. 10 Si puo 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 ` attiva. Key o telefono USB, di comunicare anche se la connessione ad Internet non e 9 L’icona “occhiali” permette la visualizzazione della password. ` mostrato l’avviso dell’impossibilita ` di notificare gli Se il servizio di email o SMS non sono configurati e attivi verra 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. ` in seguito spostare la “ proprieta” ` degli utenti da un gestore ad un altro o assegnarli a se L’amministrazione potra stesso. 12 18 • Consenti utilizzo dei profili ` fissare quali profili utente potra ` assegnare nelle registrazioni del Captive Portal il gestore. Si puo • Scadenza ` impostare una data oltre la quale il gestore non avra ` piu` accesso al sistema. Si puo 4.4 I MMAGINE L’immagine gestita da questa pagina viene visualizzata nella testata di ogni pagina di Zerotruth, nella stampa dei biglietti (Sez. 6.2) e in tutte le pagine di accesso al Captive Portal. Figura 26: Immagine generale ` essere cambiata, una volta registrato Zerotruth, con una a piacere rispettando L’immagine puo le misure riportate per personalizzare il sistema. 4.5 L OGO Il “logo” viene visualizzato nella testata di ogni pagina di amministrazione. Figura 27: Logo ` essere cambiato, una volta registrato Zerotruth, con uno a piacere rispettando le Il logo puo misure riportate. 19 4.6 LOG I log possono essere visualizzati ed eventualmente cancellati attraverso questa funzione. Figura 28: LOG 4.7 C ONTROLLO LDAP Figura 29: Ldap ` del Database e segnala eventuali errori; e ` inoltre La pagina permette un controllo sull’integrita possibile riparare le incongruenze del Database attraverso il link “Controlla e ripara”. 20 4.8 K EYPAD ` di gestire diretPer quei dispositivi embedded, come Alix o APU, che non hanno la possibilita ` essere comodo poter imparire dei comandi con un tamente una tastiera e un monitor, puo tastierino numerico USB. Figura 30: Keypad ` si puo ` procedere nel seguente modo: Per verificare quale “/dev/input” utilizzi la tastiera 1. Controllare nel menu quali device di input siano mappati; 2. Collegare la tastiera; 3. Controllare quale device sia stato aggiunto e sceglierlo. 21 ` sia effettuata la mappaura dei tasti e ` necessario utilizzare da Per configurare il sistema affinche shell il comando “/DB/apache2/cgi-bin/zerotruth/bin/configkeys” seguendo le indicazioni riportate. Figura 31: configkeys ` scrivere, da GUI utilizzando la textarea del form, lo script per eseguire i Successivamente bastera ` resti in attesa degli comandi relativi ai codici inseriti (allegato: B.1) e far partire il demone affinche ordini impartiti. ` possibile utilizzare ogni tastiera e ogni tasto Essendo i tasti mappati con lo scan code relativo, sara non necessariamente numerico. 22 4.9 VSBS Figura 32: VSBS ` disponibile da GUI per controllare o impartire comandi al sistema. Non Una semplice Shell e sono disponibili tutti i comandi della Bash Shell ma per semplici operazioni consente di non dover accedere alla Bash Shell di Zeroshell. ` essere utile nei casi di connessione remota al sistema o per problemi con l’accesso a L’utility puo Zeroshell. 4.10 E XPOR T Figura 33: Export L’utility consente di esportare gli utenti del Captive Portal in formato testo o CSV. 23 4.11 F ONT Figura 34: Font In alcuni casi, quando i dati inseriti nella tabella degli utenti del Captive Portal portano ad una ` ridurre, o aumentare, la misura del Font utilizzato. scorretta impaginazione, si puo 4.12 T EST Figura 35: Test ` di connessione verso Si possono eseguire alcuni test sull’hardware del sistema e sulla velocita diversi server in internet. 24 4.13 CAPTIVE P OR TAL Il Captive Portal viene configurato in questa sezione. Figura 36: Captive Portal Alcune configurazioni sono intuitive, altre meritano una spiegazione piu` approfondita: 1. Servizio aperto Zerotruth permette di impostare l’accesso ad internet in modo completamente aperto, senza ` memorizzabisogno di inserire, da parte dell’utente, i propri dati (Sez. 1). In tal caso verra ` coto sul sistema come username il MAC address del device collegato. Tale device sara munque sottoposto alle regole impostate nella configurazione dell’autoregistrazione e i dati di collegamento registrati nell’accounting del sistema. 2. Nome Stanza ` utile impostare anche l’appartenenza ad un determinato locale, Per quelle situazioni dove e ` poi per esempio una scuola (classe) o un albergo (camera), inserendone il nome nel form sara ` nelle tabelle di visualizzazione possibile utilizzarla nella registrazione degli utenti e comparira degli stessi e nel form di ricerca. 3. Blocca l’utente dopo login errati 25 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. 4. Abilita tabella utenti veloce ` impostare queSe non necessita una visualizzazione completa nella tabella degli utenti si puo ` mostrata risultera ` piu` veloce nella visualizzazione e sta scelta. La tabella che di default verra ` possibile passare alla tabella completa. dalla stessa comunque sara 5. Abilita Walled Garden ` essere abilitato o disabiliIl Walled Garden, impostabile dalla sezione apposita (Sez. 9.2), puo tato velocemente anche da qui. 6. Visualizza MB ` essere abilitata o disabilitata la visualizzazione, nel popup di autenticazione del Captive Puo Portal, del traffico generato. ` down 7. Avvisa l’utente se Internet e Se scelta questa opzione nel caso risultasse non disponibile la connessione ad internet l’utente ` avvisato. Nel caso il sistema utilizzi una Key GMS e Gammu (Sez. 4.28.2), si pota ` anche verra impostare la spedizione di un avviso via SMS all’amministratore. 8. URL di reindirizzamento con codice QR E` permesso l’accesso al sistema anche utilizzando un codice QR (Sez. 6.2). ` impostare qui il reindirizzamento che l’utente avra ` dopo l’accesso. In tal caso si puo 9. Prefisso default Per tutti gli utilizzi telefonici previsi da Zerotruth (autoregistrazione, recupero password ecc.) si ` impostare il prefisso nazionale che l’utente trovera ` impostato ma mofificabile. puo 10. Prefisso Username (Multi) Oltre alla normale registrazione Zerotruth permette di inserire velocemente gruppi anche nu` essere utile in tal caso impostare un prefisso (es. alunnno, merosi di utenti (Sez. 5.1.2). Puo cliente, socio...) in modo che gli utenti verranno registrati come, ad esempio,“alunno001”, “alunno002”, “alunno0n”. 11. Disconnetti se inattivo Possono essere impostati i minuti dopo i quali un utente se non esegue nessuna operazione ` scollagato dal sistema. verra 12. Abilita Popup ` essere Il popup di comunicazione agli utenti impostabile dalla sezione apposita (Sez. 9.3) puo abilitato o disabilitato velocemente anche da qi. 13. Abilita Recupero Passord ` possibile recuperare la propria password, qui si puo ` Dalla pagina di login del Captive Portal e disabilitare o abilitare la funzione. 14. Visualiza costo ` essere abilitata o disabilitata la visualizzazione, nel popup di autenticazione del Captive Puo Portal, del costo di connessione. 15. Abilita immagine al login La visualizzazione dell’immagine al login, che serve per possibili comunicazioni agli utenti, im` essere abilitata o disabilitata velocemente postabile dalla sezione apposita (Sez. 9.4) puo anche da qui. 26 16. Abilita login con scelta lingue ` scegliere con quale lingua accedere al sistema e avere gli Un utente del Captive Portal puo ` abilitare o meno tale la possibilita. ` avvisi. Qui si puo 4.14 AUTO R EGISTRAZIONE ` una delle funzioni piu` importanti di Zerotruth e di default e ` ipostata con invio L’autoregistrazione e ` tuttavia essere impostato con modalita ` diverse. Inoltre delle credenziali tramite SMS ed email. Puo ` assegnare all’autoregistrazione limiti e funzioni aggiuntive. si puo Figura 37: Auto Registrazione 1. Abilitazione Servizio 2. Scelta Profilo Gli utenti che si autoregistreranno prenderanno le impostazioni piu importanti dal profilo scelto (Sez. 6). 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 E` possibile autoregistrarsi con le credenziali dei piu` comuni Social Network (Sez. 9.4.2). 5. Username automatico uguale al cellulare ` prevedere che sia uguaIl sistema genera automaticamente l’username dell’utente ma si puo le 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 ` registrarsi nuovamente. Se viene comunque rimaranno nel datadase e pertanto non potra ` nuovamente registrasi superando il blocco. scelta questa opzione l’utente potra 27 7. Invia password con email Per una ulteriore sicurezza non viene mandata la password all’utente tramite email. In alcuni ` essere deciso di superare tale limitazione. casi puo 8. Blocca nuova registrazione da MAC address per minuti ` utilizzare questa opPer scoraggiare gli eventuali tentativi massicci di autoregistrazione si puo zione. 9. Da Ticket ` impostare Zerotruth affinche ´ accetti autoregistrazioni solamente da utenti che hanno Si puo ` impostato (Sez. 9.4.5). ricevuto un ticket con l’ username gia 10. Disabilita Email ` gestire la funzione. Zerotruth manda con una email dati aggiuntivi sulla registrazione, qui si puo 11. Scadenza ` impostare la data dopo la quale l’utente verra ` etichettato come “scaduto” e non potra ` Si puo ` possibile fisare la scadenza in un numero di giorni dalla prima piu` collegarsi. In alternativa e 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 ` utilizzare il servizio vengono visualizzate Le due fascie orarie giornaliere nelle quali l’utente potra in base al profilo scelto. 28 4.14.1 R EGISTRAZIONE CON A STERISK ` Zerotruth permette di autoregistrarsi in diversi modi e, per poter avere un controllo dell’identita ` possibile verificare dell’utente, utilizza la spedizione tramite SMS delle credenziali. Cos`ı facendo e 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. ` integrati nel sistema), tramite una Gli SMS possono essere spediti tramite un servizio da web (gia 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. ` nella gestione dell’auDalla versione 2.1 Zerotruth permette di avere lo stesso grado di affidabilita ` toregistrazione, e del recupero password, utilizzando un PBX Asterisk per la verifica dell’autenticita dell’utente senza nessun costo per il gestore del Captive Portal. C ONFIGURAZIONE Z EROTRUTH ` molto semplice: La configurazione di Zerotruth e Figura 38: Attivazione registrazione con Asterisk Nella pagina di configurazione dell’autoregistrazione: 1. spuntare il checkbox “Registrazione con Asterisk” per abilitare il servizio; ` utilizzata da Asterisk per comunicare con Zerotruth in 2. scegliere una password, che poi sara sicurezza; 3. impostare il limite di tempo concesso per attivare la registrazione dopo il quale, se non attivato, ` rimosso dal sistema; l’utente sara 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 29 C ONFIGURAZIONE A STERISK ` che offre di Tra le molteplici funzioni che possiede Asterisk noi andremo a sfruttare la possibilita eseguire degli scripts (agi-bin) attraverso i comandi inviati dal chiamante. ` impostare il file di configurazione “extensions.conf ” in modo tale che ricevendo una Bastera chiamata ad un determinato numero esegua il nostro script. ` essere Naturalmente il server Asterisk deve poter comunicare con la postazione Zerotruth che puo ` nella medesima LAN, oppure ha un IP pubblico o in VPN o in altri modi raggiungibile se la stessa e 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 ` necessario impostare l’“extensions.conf ” (che solitamente viene posto in “/etquesto caso sara ` a collegarsi c/asterisk/ ”) e il nostro script (probabilmente in “/var/lib/asterisk/agi-bin/ ”) che andra alla postazione Zerotruth, nel seguente modo: Figura 39: Configurazione Asterisk e script per sbloccare l’utente ` Nel nostro esempio il comando sara: “curl http://IP ZEROTRUTH:8089/cgi-bin/unlockasterisk.sh?C=$1+gtTYR65fgt” ` abilitato, se chiamera ` con il numero di telefono inserito al momento della regiL’utente verra ` essere avvertito strazione, senza avere nessun rimando, se non un seplice “ring”, e quindi dovra di questo nelle informazioni di post registrazione. Se si vuole che l’utente abbia una conferma anche telefonica (negli esempi sono state utiliz` zate le googletts-agi per la lettura dei messaggi) del successo o meno dell’abilitazione si dovra impostare la configurazione come segue. Figura 40: Configurazione Asterisk e script per sbloccare l’utente 30 ` come nel seguente esemSe Asterisk deve interfacciarsi con piu` postazioni Zerotruth si procedera pio: Figura 41: Configurazione Asterisk e script per sbloccare l’utente ` Assegnando ad ogni postazione Zerotruth un codice (“xxx” ,“yyy”, ...“zzz”) diverso che dovra 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” ` uno stesso numero si dovra ` modificare gli script come nell’esempio seguenOppure se si utilizzera te: Figura 42: Configurazione Asterisk e script per sbloccare l’utente 4.14.2 R EGISTRAZIONE CON SMS ` nelle possibilita ` di configurazione Se come servizio SMS si utilizza Gammu (Sez. 4.28.2) comparira dell’ autoregistrazione “Consenti registrazione completa con invio sms”. Figura 43: Registrazione completa con invio SMS ` molto veloce per l’utente come descritto nella Se scelta tale opzione l’autoregistrazione risultera Sez. 9.4.4. 31 4.14.3 R EGISTRAZIONE CON T ICKET ` optare anche per l’autoregistrazione vincolata alla consegna precedente di un ticket Si puo prestampato. Figura 44: Registrazione con Ticket ` poi utilizSe nella configurazione dell’autoregistrazione si sceglie “Da Ticket” l’impostazione verra zata dall’utente come descritto nella Sez. 9.4.5. 4.15 AVVISI La pagina permette di inserire i vari avvisi agli utenti. Figura 45: Avvisi Ogni campo serve semplicemente ad inserire le informazioni relative alla propria “etichetta” che saranno utilizzate dal sistema nelle varie pagine o funzioni. 32 4.16 B IGLIETTO La pagina permette di impostare con quale dati verranno stampati i biglietti degli utenti. Figura 46: Impostazione Biglietto In alcune situazioni, come ad esempio dopo una ricerca, nell’inserimento di piu` utenti con la ` scegliere funzione “Multi”, o con l’inserimento da file o per per l’autoregistrazione da ticket si puo quanti biglietti stampare per pagina, in base a come sono configurati, per ottimizzare il consumo di carta. Figura 47: Esempio biglietti 33 4.17 PAY PAL ` previsto un pagamento anticipato, Zerotruth permette di creare dei profili di connessione dove e ` all’utente di utilizzare il servizio e blocper MB o ore di utilizzo. Il credito registrato consentira ` lo stesso al suo esaurimento. La funzione di pagamento e ` stata introdotta in Zerotruthchera 1.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 ` ancora autentiPer poter accedere al sito di PayPal durante l’autoregistrazione, dove non si e cati, necessita ovviamente di non essere bloccati dal firewall, come avviene prima dell’accesso ` impossibile consentire l’actramite Captive Portal. PayPal non ha un range di IP fissi e quindi e cesso esclusivo agli stessi da parte dell’utente che si sta registrando per cui, come compromesso, ` scelto di si deve consentire l’accesso al solo registrante, in https per il tempo necessario. Si e ` consentito ad un utente di completapoter impostare per quante volte e per quanti secondi e re l’auto-registrazione, prima di venir bloccato definitivamente. La pagina imposta, se il profilo ` PrePaid i parametri per il pagamento tramite PayPal. dell’autoregistrazione e Figura 48: 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. ` sbloccarlo Se un utente viene bloccato, per l’eccessivo numero di tentativi, l’amministratore puo scegliendolo dal campo “Libera MAC”. IMPORTANTE: ` trovare il modo per ridirigere PayPal invia l’IPN solamente tramite la porta 80 o 443 quindi si dovra la porta scelta sul sito di PayPal sulla porta 8088 di una interfaccia di Zerotruth. 34 4.17.2 C ONFIGURAZIONE PAYPAL Dopo l’autenticazione sul sito di PayPal, scegliere dal menu “Strumenti vendita” “Preferenze venditore”. Figura 49: PayPal Strumenti vendita ` in tal modo al menu dove potremo impostare tutte le opzioni necessarie. Si accedera Figura 50: PayPal Gestione pulsanti di pagamento 1. PULSANTE PAYPAL ` creare il pulsante da incollare nel form riportato precedentemente. Per prima cosa si dovra Figura 51: PayPal impostazione pulsante pagamento 35 Figura 52: 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” rappresenSi dovra ta l’IP dell’interfaccia del nostro Captive Portal. Figura 53: PayPal Ritorno automatico al sito 2. RITORNO AUTOMATICO ` inserire l’indirizzo “http://yy.yy.yy.yy/cgi-bin/controlpp.sh” dove “yy.yy.yy.yy” rappresenta Si dovra ` reindirizzato ad un IP della nostra postazione sulla porta 8088. l’IP pubblico che verra Figura 54: 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 ` il link “Carica Credito” necessario, servizio PayPal, nella schermata di autenticazione comparira nel caso di esaurimento dello stesso, per potersi nuovamente autenticare da parte di un utente precedentemente registrato. 36 Figura 55: Login con “Carica Credito” Figura 56: Login per “Carica Credito” ` possibile scegliere le opzioni di pagamento tramite Dopo aver inserito le proprie credenziali sara il “pulsante” precedentemente inserito. Figura 57: “Carica Credito” ` avvisati dell’avvenuto pagamento e del credito disponibile. Al termine si verra ` nel processo di auto-registrazione. Una volta autenticato l’utente La stessa procedura avverra ` incrementare il proprio credito utilizzando il link che comparira ` nel popup di autenticazione. potra 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 ` riportato anche l’ID della transazione. verra 37 Figura 58: Avviso post pagamento Figura 59: Popup con “Carica Credito” ` Se un utente non completa l’auto-registrazione o il “Carica Credito” nei tempi stabiliti verra bloccato e avvisato. Figura 60: Avviso blocco MAC 38 4.18 PAGAMENTI La pagina visualizza e gestisce i pagamenti tramite PayPal e alla cassa. Figura 61: 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 62: Pagamenti singolo utente 39 4.19 L IBERI / BLOCCATI ` di non essere intercettati dal Captive Portal Alcune postazioni o servizi possono avere la necessita e quindi potersi collegare liberamente alla rete, oppure altre postazioni devono essere bloccate ` possibile gestire tali situazioni. e non lasciate in alcun caso collegarsi, da questa pagina e Figura 63: Blocco/sblocco servizi e utenti ` “liberare” attraverso l’immissione del suo ip, del MAC address o di entrambi. Una postazione si puo ` “liberare” attraverso l’immissione del suo ip, della porta ed eventualmente del Un servizio si puo protocollo utilizzato. ` “bloccare” attraverso l’immissione del suo MAC address . Una postazione si puo 40 4.20 WALLED G ARDEN ` una pagina web, o delle pagine web, che l’utente puo ` liberamente visuaUn Walled Garden e ` automaticamente indirizzato. lizzare prima di essersi autenticato e verso la quale e ` rediretto dal sistema alla pagina di autenticazione. Se l’utente cerca di collegarsi ad altri siti verra ` essere utile in quelle installazioni dove si vuole permettere all’utente di potersi La funzione puo 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 64: Walled Garden interno ` comporre la propria pagina importando le immagini tramite GUI. Il gestore del servizio puo ` liberamente trasformabile tranne le funzioni in javascript contenute ed e ` possibile La pagina e visualizzarne un’anteprima per un maggiore controllo. 41 4.20.2 WALLED G ARDEN R EMOTO Figura 65: 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 ` possibile avere un’anteprima del sito impostato per un controllo sito scelto. Con il link “Controlla” e maggiore. Figura 66: Controllo Walled Garden Remoto 42 4.21 P OPUP Figura 67: Impostazione Popup ` un riquadro che si apre automaticamente per pubblicizzare, Il Popup impostabile in Zerotruth e ` mostrare ad esempio, un evento o la struttura che ospita il sistema. Come il Walled Garden puo 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’au` possibile avere un’anteprima tenticazione, impostare l’orario e le misure. Con il link “Controlla” e di quanto configurato. 43 4.22 I MMAGINE L OGIN ` impostare una o piu` immagini che compariranno all’utente prima di poter effettuare il Si puo login. Figura 68: Impostazione Immagine Login ` scegliere il tempo di visualizzazione e l’immagine specifica, Dopo aver caricato le immagini si puo o random, da mostrare. ` meno invasivo dell’attivazione del popup visto nella La visualizzazione delle immagini al login e precedente sezione e ai fini informativi probabilmente piu` utile. 44 4.23 FACEBOOK L IKE ` obbligare gli utenti a lasciare un Like su una propria pagina di Facebook per poter acceSi puo dere al servizio. Naturaemente prima bisogna registrare una propria App e avere della stessa un ID sul sito di sviluppo di Facebook. Figura 69: Impostazione Like su Facebook ` semplice, basta cambiare nello script le pari segnate: L’impostazione e 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=https://developers.facebook.com/docs/plugins sostituendolo con l’indirizzo della pagina alla quale si vuole assegnare i Like. 45 4.24 P ROXY ` Il sistema permette di utilizzare Squid e Havp-ClamAV anche abbinandoli tra loro. Inoltre puo ` richiedere anche un essere attivato il Content Filtering DansGuardian. L’attivazione del proxy puo ` minuto pertanto conviene attendere e dare un refresh della pagina per controllare se il proxy e 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 70: Configurazione Proxy 4.24.1 S QUID ` forse il piu` noto “proxy server” ed e ` molto utile per ottimizzare i collegamenti ad InSquid e ternet, infatti memorizza in una cache tutte le richieste HTTP 14 effettuate e le ripropone molto velocemente alle successive richieste. 14 ` intercettare il protocollo HTTPS. Squid non puo 46 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 effet` puo ` essere contraria alle tuati comprensivi dei siti visitati. Va tenuto presente che tale possibilita leggi sulla privacy se non comunicata ed accettata dagli utilizzatori. 4.24.2 DANSGUARDIAN ` un software per filtraggio dei contenuti web e lavora come servizio accessorio DansGuardian e 15 ` attuato usando molti metodi, quali l’analisi dell’URL e del dominio, di un proxy. Il filtraggio e del contenuto testuale, delle immagini, del contenuto MIME, dell’estensione del file. E` in grado di controllare liste anche molto grandi di domini, URL, parole o frasi correlate alla pornografia e ` possibile configurare le caratteristiche basilari tenendo presente che il “Filter non solo. Da GUI e ` piu` selettivo con valori bassi e si dovranno fare delle prove per testare l’adeguatezza Level” sara 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 ` disponibile in ogni installazione di Zeroshell. Pe un approfondimento si rimanda alla contenuti gia documentazione dettagliata presente sul sito di Zeroshell (Web Proxy Trasparente con Antivirus e Blacklist degli URL). 15 ` attivabile se non insieme, nel nostro caso, a Squid e/o Havp. Dansguardian non e 47 4.25 S HAPER Zerotruth dipone di uno “shaper”, uno strumento che permette di limitare il traffico che passa ` prevista sui sistemi GNU/Linux dal kernel che per una determinata interfaccia. Questa funzione e consente di limitare il traffico in ingresso ed in uscita per una o piu` interfacce di rete. Per rendere piu` 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 71: Attivazione e visualizzaione Shapping Le tabelle riportano, dividendole, le connessioni attribuite ai profili o ai singoli utenti. 48 4.26 B LOCKER ` I sistema permette di attivare e gestire un sistema per bloccare tentativi di intrusione e pubblicita 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. ` soggetto al controllo. Viene permesso anche di marcare un IP come fidato che non sara Figura 72: Configurazione IP Blocker e Ad Blocker 4.26.2 AD B LOCKER ` di attivare e aggiornare un AD Blocker di La seconda parte della pagina invece offre la possibilita ` avvenire molti siti solitamente indesiderati. L’aggiornamento dell’elenco dei siti indesiderati puo manualmente o programmato per giorno, settimana o mese. 49 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. ` configurato per utilizzare Gmail come Realy Server e, in questo caso, bastera ` Di default Zerotruth e unicamente inserire il proprio indirizzo di posta elettronica e la propria password lasciando invariati gli altri dati. Figura 73: 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, ` avvenga come al momento della registrazione o di un aggiornamento. Se non si vuole che cio deselezioneare “Notifiche utente”. ` inoltre importante per il Backup di sistema e per gli avvisi all’ammiIl servizio di posta elettronica e nistratore. 50 4.28 SMS L’ invio di SMS si deve normalamente appoggiare ad un servizio SMS da WEB offerto da numerosi provider. Figura 74: Configurazione SMS ` gia ` configurato per utilizzare alcuni dei piu` noti ed affidabili servizi presenti in rete: Zerotruth e • Skebby • Mobyt • Smsglobal • Aimon • Subitosms • Smsbiz ` anche visualizzare il credito residuo e il numero di SMS Se il servizio scelto lo permette si potra ` indispensabile, ancora disponibili. Zerotruth utilizza la spedizione di SMS in numerose funzioni ed e se non si utilizza Asterisk (Sez.1), per l’autoregistrazione degli utenti. Oltre all’autoregistrazione il ` utilizzato per: servizio SMS e • Recupero password • Notifiche agli utenti (se selezionato il relativo check box) • Notifiche all’Amministratore ` di utilizzare un proprio Gateway GSM, una Key GSM o un telefono USB Esiste anche la possibilita per essere completamente autonomi e non sottostare ad eventuali scollegamenti da Internet. 51 4.28.1 MY SMS SCRIPT ` possibile utilizzare la Nel caso si volesse disporre di uno script personalizzato per il servizio SMS e funzione “my SMS script”. Figura 75: Configurazione my SMS script ` essere composto direttamente da GUI utilizzando il Form proposto e utilizzando le Lo script puo ` assegnate visualizzabili nelle righe commentate dello stesso. variabili gia 52 4.28.2 G AMMU Per utilizzare una propria Key GSM oun telefono USB Zerotruth si avvale del supporto di “Gammu”. ` un’utility da riga di comando per gestire molti modelli di device GSM. Gammu e Figura 76: 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” come il sistema “mappi” ildevice. Se la configurazione va a buon fine la pagia dovrebbe riportare il corretto device e lo status ` utilizzare per inviare gli SMS come nelle configurazioni precedenti. positivo, e si potra In vantaggio utilizzare di una Key GSM sta nel fatto che, naturalmente, non risente di un eventuale scollegamento della rete Internet e potra quindi, ad esempio, inviare alert all’amministratore. ` quella di poter ricevere degli SMS e quindi poter essere utilizzata Un’altra importante funzione e ` descritto nella sezione dell’autoregistrazione, sia sia per l’autoregistrazione degli utenti, come gia ricevere comandi per il sistema. ` preparare un proprio script che, utilizzando le Utilizzando il Form proposto nella pagina si puo ` assegnate, esegua dei comandi ed eventualmente invii all’amministratore delle rivariabili gia sposte. 53 4.29 M ULTI CP Il sistema permette di gestire, in modo centralizzato, dei Captive Portal remoti con tutte le funzioni ` disponibile in Zeroshell. di Zerotruth e non solamente per l’autenticazione Radius gia Figura 77: Configurazione MultiCP ` necessario che tutte le postazioni 16 siano dotate di Zeroshell e ZeroPer realizzare l’infrastruttura e ` possibile abilitarne la funzione “server” o “client” dopo aver truth. Una volta installato Zerotruth e naturalmente 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 implementabi` possibile gestire completamente le dall’interfaccia di Zeroshell. Dalla postazione “server” sara 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 78: MultiCp: aggiornamento Client Figura 79: MultiCP lato client ` disponibile il manuale ZT MULTICP.pdf . Per la completa trattazione dell’argomento e 16 Dalla versione 3.0 Zerotruth supera il limite delle 6 postazioni massime. 54 4.30 B ACKUP I backup possono essere scaricati immediatamente o resi automatici con cadenza giornaliera, ` diverse anche combinate tra di loro. settimanale o mensile 17 con modalita ` possibile cancellare al termine della spedizione dei backup, o dell’immediato download, Inoltre e i log di sistema e gli utenti eliminati 18 per poter recuperare dello spazio sul nostro disco nel caso si ritenga opportuno. Figura 80: 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 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. 55 4.30.3 B ACKUP CON D ROP B OX ` necessario registrare su “https://www.dropbox.com/developers/apps” una Se si utilizza Dropbox e nostra applicazione e consentire a Zerotruth di potersi interfacciare per caricare il backup. La ` questa modalita ` Dropbox chiedera ` a Zerotruth il permesso di utilizzo prima volta che si utilizzera ` essere concesso. che dovra Figura 81: 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. ` creata automaticamente la chiave pubblica e privata per Se viene utilizzato questo sistema verra 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. ` su Il sistema consiste nell’inserire una chiave pubblica, generata con quella privata che risiedera Zerotruth, all’interno della configurazione del server remoto. In tal modo ad ogni connessione ` controllato se la nostra chiave privata e quella pubblica fanno utilizzando il protocollo SSH verra ` consentito senza chiedere parte della stessa coppia e, in caso positivo, l’accesso al sistema sara ` di autenticazione e ` molto sicura infatti trovare una chiave altre autenticazioni. Tale modalita ` praticamente impossiile e sicuramente molto piu` complicato privata partendo da una pubblica e di trovare una password. Figura 82: Backup con SCP Viene mostrata, al termine della configurazione, attraverso il link “SSH Key” la chiave pubblica da ` presenti, inserire sul server remoto, eventualmente aggiungendola su una nuova riga a quelle gia nel file “/home/USER REMOTE/.ssh/authorized keys” o “/root/.ssh/authorized keys” se si imposta un collegamento con le credenziali di “root” . ` crearlo e successivamente, dalla Shell di ZeroSe il file “authorized keys” non esiste si dovra shell, collegarsi in SSH per la prima volta al server remoto in modo da memorizzarlo tra gli hosts conosciuti e fidati. In questa fase, non avendo ancora copiato la chiave pubblica e non avendo ancora effettuato ` la mancata connessione un primo collegamento in SSH con il server remoto, il sistema segnalera sicura con un “bollino rosso”. ` utilizzare un modo piu` semplice descritto Per copiare la chiave pubblica sul server remoto si puo nella prossima pagina. 56 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 83: Esportazione chiave pubblica ` esito positivo verra ` riportato altrimenti verra ` segnalato l’errore. Se il procedimento avra ` ora visualizzato Tornando alla GUI di Zerotruth e ricaricando la pagina della sezione backup verra ` di controllare i backup effettuati sul server remoto.19 il collegamento sicuro attivato e la possibilita Figura 84: Visualizzazione collegamento SSH sicuro Figura 85: Controllo Backup effettuati ` possibile cancellare singoli backup remoti, esegure un download o Da quest’ultima pagina e 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. 57 4.30.5 R IPRISTINO B ACKUP ` possibile aggiornare o ripristinare il sistema caricando un backup, della stessa versione atInoltre e tualmente installata 20 , precedentemente salvato o, se utilizzato SCP come canale di trasmissione, ` visto nella Sez. 4.30.4. come gia , Figura 86: Scelta backup da caricare Dopo aver scelto il backup da caricare si potranno fare ulteriori scelte per ripristinare anche singole parti dello stesso. Figura 87: Scelta sezioni di backup ` visualizzato il corretto o meno caricamento di ogni singolo eleAl termine dell’operazione verra mento. Figura 88: Visualizzazione esito caricamento backup 20 ` scelto di Per gli importanti cambiamenti strutturali che ogni versione di Zerotruth ha avuto fino alla versione 3.0 si e non permettere il caricamento di backup da versioni precedenti. Probabilmente nelle prossime versioni questo limite ` rimosso . verra 58 4.31 C ONTROLLO ` DISCO CAPACIT A ` installato su device embedded puo ` essere importante tenere Soprattutto quando il sistema e ` residua del supporto di memorizzazione dei dati. sotto controllo la capacita Figura 89: Configurazione Avviso MB liberi Hard Disk ` e i MB ancora disponibili Zerotruth permette di essere avvisati, tramite Oltre a mostare la capacita 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 90: Grafico utilizzo CPU 59 Il grafico relativo all’utilizzo della RAM viene aggiornato in tempo reale. Figura 91: Grafico utilizzo RAM Il grafico relativo all’utilizzo della rete viene aggiornato in tempo reale. Figura 92: 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 ` di aggiornarli manualmente dal relativo link presente nella pagina. la possibilita Figura 93: Grafico utilizzo CP per anni 60 Figura 94: Grafico utilizzo CP per mesi Figura 95: Grafico utilizzo CP per giorni Figura 96: Grafico utilizzo CP per ore 61 Figura 97: 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 98: Scelta range dati E` possibile selezionare i dati impostando una precisa fascia temporale per un controllo piu` accurato. 62 4.33 AGGIORNAMENTI La pagina permette di accedere agli aggiornamenti di Zerotruth che vengono visualizzati, se ` di installarli. presenti, con la possibilita Figura 99: Aggiornamento Zerotruth Gli aggiornamenti possono essere automatizzati e, se configurato e attivato il servizio email, essere avvisati quando questi avvengono. Figura 100: 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 101: Avviso aggiornamenti disponibili Figura 102: Avviso aggiornamenti disponibili 4.34 U PGRADE ` se presente, il possibile “upgrade” ad una versione La pagina per l’aggiornamento mostrera, ` di effettuarlo da GUI. 22 successiva con la possibilita 21 ` stato scelto per non caricare il server di aggiornamento con numerose chiamate L’orario casuale e contemporanee 22 ` solamante l’avviso La versione 2.1 di Zerotruth, per le strutturali modifiche inserite nella versione successiva, riportera ` essere installata da “shell”. e la versione 3.0 dovra 63 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 ` visto come Zerotruth permetta l’ autoregistrazione. Esistono altri quattro modi per Abbiamo gia inserire gli utenti nel database del sistema da parte del gestore. 5.1.1 AGGIUNGERE UN UTENTE ` di default consente di aggiungere un utente registrando le carattristiche che lo La modalita definiranno. Figura 103: Inserimento utente ` possibile modificarlo 1. Il valore del campo “Username” viene proposto automaticamente ma e a piacere. ` possibile modificarlo 2. Il valore del campo “Password” viene proposto automaticamente ma e a piacere e visualizzato ciccando sull’icona occhiali ` obbligatorio a meno che non si sia configurato diversamente 3. Il valore del campo “Nome” e nella sezione Captive Portal alla voce “Consenti Utenti Anonimi”. ` obbligatorio a meno che non si sia configurato diversamen4. Il valore del campo “Cognome” e te nella sezione Captive Portal alla voce “Consenti Utenti Anonimi”. ` obbligatorio. 5. Il valore del campo “Email” non e ` obbligatorio. Nel caso del suo inserimento dev’essere 6. Il valore del campo “Telefono” non e 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. ` atttivo il profilo. Si vedra ` nella sezione Profili (Sez. 6) 8. Il campo riporta su quale interfaccia e come sia possibile assegnare agli stessi interfacce diverse. 9. E` permesso “nascondere” determinati utenti alla vista, e quindi alla gestione, agli utenti gestori. ` vedere e gestire l’utente. Se selezionato “Nascosto” soltanto l’amministratore potra 64 ` definito “Sca10. I campi relativi alla “Scadenza” impostano la data oltre la quale l’utente verra ` durata illimitata. duto”. Se non impostato L’utente avra ` impostare una data di scadenza in un numero di giorni dalla prima autenticazione. 11. Si puo ` inserire un credito iniziale. 12. Se scelto un profilo prepagato si puo ` autenticarsi. Se non scelti potra ` 13. E` possibile assegnare all’utente gli unici giorni nei quali puo autenticarsi ogni giorno. ` limitare la possibilita ` di autenticazione all’utente in due fasce orarie giornaliere. 14. Si puo ` bloccare l’utente se supera un certo numero di ore di connessione per giorno o mese. 15. Si puo ` bloccare l’utente se supera un certo numero di MB utilizzati nelle connessioni per giorno 16. Si puo o mese. 17. E` 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. ` essere utile inserire delle note relative all’utente. 19. Talvolta puo 5.1.2 AGGIUNGERE DIVERSI UTENTI ` di inserire molti utenti contemporaneamente esite il form relativo attivabile Se si ha la necessita dal link “Multi” della pagina “Aggiungi Utente”. Figura 104: Link per Multi utenti La funzione permette, ad esempio, di stampare diversi biglietti per consegnarli alla reception di ` caricati di un credito. un albergo e gia Figura 105: 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. 65 5.1.3 AGGIUNGERE UTENTI DA FILE ` in possesso di un file con i dati degli utenti, come ad esempio l’anagrafica di una scuola, Se si e ` usare per inserire gli utenti nel database. Il file deve essere in formato puro testo ottenibile si puo con un editor come gedit, nano o notepad. Figura 106: Link per inserimento utenti da file Figura 107: Esempio file da caricare La pagina mostra un avviso sul formato accettato e permette il caricamento del file. Figura 108: Caricamento file ` visualizzato il form per impostare l’inserimento degli utenti riportandone Dopo il caricamento verra il numero trovato nel file. Figura 109: Inserimento utenti da file Al termine del procedimento verranno visualizzati a video, pronti per essere stampati, i biglietti degli utenti. 66 5.1.4 AGGIUNGERE UTENTI VINCOLATI AL BIGLIETTO ` anche la possiSe nelle impostazioni dell’autoregistrazione viene abilitato “Da Ticket” comparira ` di registrare gli utenti i quali saranno gli unici abilitati ad autoregistrarsi. bilita Figura 110: Link per inserimento utenti vincolati al biglietto Figura 111: Link per inserimento utenti vincolati al biglietto Figura 112: Biglietti per autoregistrazione ` sezione successiva (Sez. 5.2) come gestire tali utenti. Si vedra 67 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”. ` in modalita ` standard Se tale opazione non viene selezionata la visualizzazione degli utenti avverra ` della visualizzazione anche se con altrimenti con una tabella chiamata “veloce” per la rapidita 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 113: Lista utenti standard 1. La colonna riporta il numero progressivo degli utenti visualizzati che collega ad una scheda dettagliata del singolo utente. Figura 114: Lista utenti standard 68 ` di visualizzarle 2. La colonna riporta il numero di sessioni effettuate dall’utente con la possibilita anche in determinati range di tempo. Figura 115: 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 supera` utilizzare o, nel to la data di scadenza, le ore massime di collegamento, i MB massimi che puo caso di profili a pagamento, non ha piu` credito. 4. La colonna riporta se per l’utente sono state inserite delle informazioni aggiuntive, nel qual ` molto utile in quanto caso possono essere visualizzate. In alcuni processi tale caratteristica e ` autoregistrato, e ` in attesa di competamento di registrazione viene visualizzato se l’utente si e (autoregistrazione con Asterisk), ecc. ` eliminare un utente dal database. 5. Dall’icona di questa colonna si puo 6. La colonna riporta gli utenti attualmente collegati. Il link dell’eventuale icona di collegamento consente di disconnettere immediatamente l’utente relativo. ` abilitata la connessione simultanea e l’utente risulta collegato con due o piu` device Se e l’icona riporta un punto rosso. Figura 116: Collegamento simultaneo ` l’utente da tutti i device utilizzati. Se si vuole scollegare l’utente da In tal caso il link scolleghera ` necessario utilizzare il link sul numero delle connessioni che aprira ` la pagina un solo device e relativa. Figura 117: Connessioni utente ` scegliere il link “Attivo” sulla riga desidePer scollegare l’utente da un singolo device si dovra rata. 69 ` essere bloccato o sbloccato ma7. La colonna riporta gli utenti liberi o bloccati. Un utente puo nualmente dal link dell’icona oppure automaticamente dal sistema se ha superato il tempo massimo consentito giornaliero o mensile impostato, i MB utilizzabili giornalieri o mensili impostati, non rientra nell’orario o nei giorni consentiti di collegamento. Superati i limiti impostati un utente bloccato ritorna libero. ` un link che porta alla pagina per la modifica dei dati relativi all’utente. 8. I’icona matita e Figura 118: 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 ` stata abilitata la funzione “Da Ticket” Se nella sezione relativa all’autoregistrazione (sez. 4.14) e ` il link per gestire tale caratteristinella pagina che visulizza la lista degli utenti registrati comparira ca. Figura 119: Link utenti in attesa Figura 120: Gestione utenti in attesa di autoregistrazione E` 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. 70 5.2.3 R ICERCA UTENTI ` presente il link per poter effettuare delle ricerche nel dataNella pagina della lista degli utenti e base. Figura 121: Link ricerca utenti Figura 122: 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 123: Ricerca utenti Le azioni possibili sono: • Elimina Si ricorda che gli utenti eliminati vengono cancellati dal database ma non dal sistema. In tal ` recuperare lo “storico” del’utilizzo del Captive Portal e le sessioni effettuate per un modo si puo 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 ` il loro scollegamento. connessi l’operazione contemporaneamente effettuera 71 • Sblocca Gli utenti selezionati verranno, se risultano bloccati, sbloccati . • Rendi nascosto ` rendere nascosto, e quindi visibile e gestibile solo dall’amministratore, il blocco degli Si puo utenti selezionati. • Rendi pubblico ` rendere pubblico, e quindi visibile e gestibile anche dagli utenti gestori, il blocco degli Si puo utenti selezionati. • Download sessioni ` eseguire immediatamente un backup delle sessioni degli utenti selezionati. Si puo • Cancella sessioni ` cancellare dal sistema le sessioni del blocco degli utenti selezionati. Questa operazione Si puo ` dell’utilizzo sul Captive Portal degli utenti interessati e va quindi comporta la non rintracciabilita eseguita con attenzione e dopo aver eseguito un backup delle sessioni registrate sul sistema. • Cambia profilo ` cambiare profilo, e quindi le caratteristiche di base, degli utenti selezionati. Si puo • Cambia gestore ` cambiare il “proprietario” degli utenti selezionati. Si puo • Stampa biglietto 5.2.4 TABELLA VELOCE Se nella confiurazione del Captive Portal viene impostato “Abilita tabella utenti veloce” (Img: 36), ` nel modo seguente. la pagina “Lista Utenti” si presentera Figura 124: 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 piu` veloce. E` possibile comunque passare alla visualizzazione standard utilizzando l’apposito bottone-link. 72 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 modalita permesse. 6.1 TABELLE P ROFILI Figura 125: Pagina profili I profili inseriti possono essere modificati o cancellati ad esclusione del profilo “DEFAULT ” che rim` come profilo base con nessun limite per l’utente. Se un profilo viene cancellato tutti gli marra utenti associati allo stesso passeranno al profilo “DEFAULT ”. 6.2 AGGIUNGI P ROFILO Il bottone-link “Aggiungi Profilo” porta al form di inserimento di un nuovo profilo. I profili definiscono le caratteristiche base degli utenti e i limiti di utilizzo del sistema. Si possono inserire piu` 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. 6.3 P ROFILO A PAGAMENTO I pagamenti, se impostati, possono essere anticipati o posticipati. ` memorizzato il costo delle connessioni in base al costo per ora o Nel caso sia posticipato verra per MB impostati da presentare al cliente al termine, ad esempio, del suo soggiorno in albergo o ` disattivato e avra ` necessita ` di riattiin un campeggio o quando per i limti del profilo stesso verra ` prevedere un tempo libero iniziale durante il vare la connessione. Nel caso sia anticipato si potra ` incrementare il proprio credito attraverso un pagamento alla cassa, in quequale l’utente potra ` lo stato dell’utente immettendo il versamento ricevuto sto caso il gestore del sistema aggiornera o, se configurato, autonomamente utilizzando Paypal. Se viene selezionato il tipo di pagamento ` la possibilita, ` visualizzandolo, di inserire il Tempo libero in minuti. anticipato il form dara 73 Figura 126: Inserimento profilo Figura 127: Pagamento anticipato 6.4 P ROFILO CON LIMITE DI BANDA ` possibile assegnare agli utenti un Se abilitato lo shaper (Sez. 4.25) nell’impostazione dei profili sara ` configurabile per “profilo” o per limite di banda sia in download che in upload. Il limite di banda e ` divisa tra tutti gli utenti collegati appartenenti al “user”. Nel primo caso la banda assegnata sara ` assegnata per singolo utente. profilo mentre nel secondo verra Figura 128: Inserimento profilo con Shaping 6.5 P ROFILO CON IMPOSTAZIONE INTERFACCIA ` attivo su piu` intefacce di rete comparira ` nelle impostazioni da immettere Se il Captive Portal e ` di assegnarle ai singoli profili. anche la possibilita Figura 129: 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. ` attivo su piu` intefacce di rete verra ` riportato anche nell’elenco dei profili. Se il Captive Portal e 74 Figura 130: Pagina profili con interfacce di rete ` In Zeroshell i proflili vengono definiti classi, si scelto in Zerotruth di chiamarli in tal modo perche essendo stato inizialmente sviluppato per una scuola poteva creare confusione ai gestori scambiandoli per le classi scolastiche. 75 7 E MAIL Gli utenti inseriti nel database possono essere contattati o avvisati attraverso email. La funzione ` trovare un valido motivo per avvisi riguardanti manutenzioni o programmate interruzioni del puo 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, ` possibile combinate i vari campi per una ricerca accurata. dove e Figura 131: Email - Ricerca utenti Figura 132: Compilazione email ` possibile scegliere, attraverso i relativi check box, i soli utenti ai quali si vuole Successivamnete sara inviare l’email. Le email conterranno automaticamente, oltre al testo immesso nel form, anche una intestazione ` di pagina come inserito nella configurazione degli “avvisi” del Captive Portal (Sez. 4.15). e un pie Le email inviate verranno memorizzate nei LOG di sistema dove potranno essere visualizzate e/o cancellate. 76 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 telefo` possibile combinate i vari campi per una ricerca accurata. no registrato, dove e Figura 133: SMS - Ricerca utenti Figura 134: Compilazione sms ` possibile scegliere, attraverso i relativi check box, i soli utenti ai quali si vuole Successivamente sara ` superate i 160 caratteri. inviare il messaggio che non potra ` aggiornato il credito residuo in modo da Se il fornitore del servizio lo consente ad ogni invio verra ` o meno di inviare ulteriori messaggi. avere il controllo delle spese effettuate e la possibilita Gli SMS inviati verranno memorizzati nei LOG di sistema dove potranno essere visualizzati e/o cancellati. 77 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) ` si ottiene intercettando tutti i pacchetti, relativi prima di poter accedere alla navigazione. Cio a indirizzi e porte, fin dal momento in cui l’utente apre il proprio browser e tenta l’accesso a ` richiedere Internet. In quel momento il browser viene rediretto verso una pagina web la quale puo 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 135: Form Login Gli elementi possono variare nella pagina in base ai device utilizzati quali smartphone e tablet. ` visualizzata nella lingua impostata nella configurazione del sistema ma La pagina di login verra ` scegliere una delle lingue presenti in Zerotruth cliccando sulle relative icone “bandiera”. si potra L’utente visualizzera le pagine di autenticazione e ogni informazione successiva in base alla lingua scelta. 78 ` inoltre possibile visualizzare le informazioni neccessarie, inserite nella configurazione “avvisi” Sara del Captive Portal (Sez. 4.15), per l’accesso o altre notizie attraverso il link “Info”. Figura 136: Informazioni utente ` se queste risultano autorizzate, abilitato Dopo aver immesso le proprie credenziali l’utente verra, ` mostrato il popup di autenticazione. all’accesso e verra Figura 137: Popup di autenticazione ` disabiliare la visualizzazione del Traffico e/o del Costo se si ritiene utile nella configurazione Si potra del Captive Portal (Sez. 4.13). Figura 138: Popup di autenticazione con solo “Tempo” 79 9.1.2 L OGIN A PER TO Se nella configurazione del Captive Portal (Sez. 4.13) viene impostato il “servizio aperto” l’utente ` accedere senza dover inserire nessun dato in modo quindi molto veloce. potra ` alla rete e che Alla prima connessione verranno visualizzati i dati e i limiti con i quali si accedera ` accettare per prosegure. l’utente dovra Figura 139: Autoregistrazione con Captive Portal aperto ` solamente utilizzare l’apposito bottoneSuccessivamente, e cos`ı per ogni ulteriore accesso, si dovra link per essere autenticati. Figura 140: 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. 80 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 e ` velocemente all’autenticazione automatica e all’accesso alla rete. QR che li indirizzera 9.2 CAMBIO PASSWORD ` possibile, attraverso il link “Cambia Password”, cambiare la propria Dal popup di autenticazione e password. Figura 141: Reimpostare la password ` Risulta necessario avere il servizio email abilitato per tale funzione in quanto all’utente verra spedito un codice di controllo da inserire nel form successivo per una ulteriore sicurezza. Figura 142: Inserimento codice controllo Naturalmente per il successo dell’operazione l’utente deve essere stato inserito nel sistema anche con il proprio indirizo email. ` confiEsistono altre procedure per modificare la password da parte di un utente se il sistema e gurato per l’auto-registrazione con Asterisk (Sez. 9.4.3) o Gammu (Sez.4.28.2) o con invio di SMS (Sez.4.14.2). 81 9.3 D ETTAGLI CONNESSIONI UTENTE ` possibile per l’utente, attraverso il link “Dettagli Connessioni”, Dal popup di autenticazione e visualizzare una scheda che riassume i propri dati e l’utilizzo del Captive Portal. Figura 143: Dettagli utente Figura 144: Connessioni utente ` possibile accedere ai dati dell’accounting con l’elenco di ogni singola Dalla scheda inoltre e 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. ` inoltre possibile fare una ricerca per un determinato range di Per un controllo piu` dettagliato e tempo. 82 9.4 AUTOREGISTRAZIONE Zetrotruth consente l’autoregistrazione in modi dversi ma sempre avendo cura di poter risalire ` Nel caso si imposti la registrain modo preciso al reale utente nel caso vi sia la necessita. zione in modo aperto, utile soprattutto in reti wired dove si voglia avere un maggior controllo ` la registrazione del MAC address e quindi la possibilita ` di risalire alla sulle connessioni, si avra postazione. 9.4.1 AUTOREGISTRAZIONE S TANDARD ` permessa di default solo se si e ` abilitato il servizio email e SMS. Infatti le L’ Autoregistrazione e credenziali verranno mandate all’utente in modo completo, ma senza password, via email ed essenziali ma comprensive di password via SMS. Figura 145: Auto Registrazione Dopo aver inserito le proprie credenziali l’utente, se inserite negli “avvisi” del Captive Portal (Sez. ` accettare le “norme” di utilizzo del servizio. 4.15), per proseguire dovra Figura 146: Norme per utilizzo del servizio 83 ` la conferma dell’esito che AL termine del procedimento di autoregistrazione l’utente visualizzera ` quanto inserito nella configurazione degli “avvisi” del Captive Portal (Sez. 4.15). riportera Figura 147: Avvio post registrazione 9.4.2 AUTOREGISTRAZIONE CON S OCIAL N ETWORK Una volta installato il modulo relativo Zerotruth consente l’autoregistrazione con i piu` 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 ` Per tali utenti quindi non sara ` possibile recudegli utenti che si sono registrati in questa mdalita. perate la propria password se viene smarrita mentre potranno modificarla anche diversamente di quanto registrato sul Social Network. Figura 148: Autoregistrazione con Facebbok 84 Figura 149: Autoregistrazione con Google+ Figura 150: Autoregistrazione con Twitter 85 9.4.3 AUTOREGISTRAZIONE CON A STERISK Dopo aver opportunamente configurato l’autoregistrazione tramite chiamata ad un PBX Asterisk ` descritto, evita ai gestori del (Sez. 4.14.1) gli utenti utilizzeranno questo canale che, come gia servizio i costi di spedizione delle credenziali attraverso SMS. ` come al solito, attraverso il form richiamabile dal link Registrazione L’autoregistrazione avverra, presente nella pagina di login del Captive Portal. Figura 151: Form auto registrazione con Asterisk ` avvisato della necessita, ` per completare la registrazioAl termine del procedimento l’utente verra ne, di chiamare il numero del centralino Asterisk con la SIM del numero inserito nella registrazione. Figura 152: Avviso post registrazione ` visualizato l’username e la password assegnata. Nello stesso avviso verra 86 Nella lista utenti troveremo a questo punto l’utente registrato contrassegnato con il logo di Aste` bloccato in attesa di conferma e non potra ` essere modificato dai gestori o risk. L’utente risultera dall’admin ma solo, eventualmente, eliminato. Figura 153: Tabella users con utente in attesa di conferma ` la chiamata telefonica per il controllo del’autenticita ` del numero Quando l’utente effettuera ` l’utente come definitivamente registrato eventualmente mostrando i inserito la tabella riportera 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. ` registrato come “username”. Il numero di telefono del chiamante verra ` risulta essere efficace in quelle strutture dove i clienti possono essere avvisati del La modalita sistema . ` disabilitato quello di default. Se si abilita tale sistema di auto registrazione verra 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 154: 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 ` disabilitato quello di default. registrazione verra 87 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 ` possibile per l’utente recuperare la propria password se dimenticata. Dalla pagina di login e Figura 155: Recupero password L’utente deve essere in possesso comunque del proprio username e inserire la propria email e il ` utilizzato per inviare la password attraverso un SMS. numero di telefono che sara 9.5.2 R ECUPERO PASSWORD CON A STERISK ` impostato per essere utilizzato con Asterisk l’utente potra ` Se il sistema di autoregistrazione e recuperare la propria password attraverso una chiamata telefonica come descritto nella Sez. 4.14.1. 88 9.6 B LOCCO CAPTIVE P OR TAL ` e ` possibile bloccare l’accesso al Captive Portal u-linuxdddd Per manutenzioni o altre necessita 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 156: Configurazione Captive Portal fuori servizio Figura 157: Captive Portal fuori servizio ` all’utente sara ` modificabile nell’impostazione degli avvisi del Captive L’avviso che comparira Portal (Sez. 4.15). 89 Allegati A 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, ` intervenire per ogni necessita. ` con i quali si puo ` essere comunque agevole disporre di un editor piu` intuitivo e di un file manager visuale. Puo 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 158: Installazione di Midnignt Commander e Nano ` necessaPer poter utilizzare subito i due programmi, senza eseguire un reboot della macchina, e rio 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. A.1 Midnight Commander ` un veloce file manager visuale per i terminali a caratteri e corrisponde Midnight Commander e all’eseguibile “mc”. Si tratta di un programma molto simile a Norton Commander, un software ` facilmente configurabile e permette di gestire fiproprietario per DOS. Midnight Commander e ` accedere le e directory in modo molto intuitivo anche con l’utilizzo del mouse. Inoltre si puo velocemente a file compressi e a server remoti usando il protocollo FTP. In questo documen` solamente alcune possibilita ` rimandando alle numerose guide presenti in Internet to si esporra ` l’approfondimento delle notevoli potenzialita. 90 ` sufficiente usare da shell il comando “mc”. Per eseguire Midnight Commander e Figura 159: 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. ` sufficiente selezionarlo e premere invio sulla tastiera cosi come per scomPer eseguire uno script e ` editarpattare un archivio compresso. Con il tasto F3 si visualizza un file mentre con F4 si puo ` possibile utilizzare Nano installato lo. Midnight Commander disponde di un proprio editor ma e assieme al programma. Per configurare il file manager per l’utilizzo di default di Nano aprire il menu Options e spostarsi in Configuration. Figura 160: Midnight Commander 91 ` si dovra ` semplicemente togliere la spunta a “Use internal editor”. Nella scheda che si aprira Figura 161: Midnight Commander ` l’editor Nano. Un’altra imIn tal modo se viene editato un file Midnight Commander utilizzera ` la possibilita ` di portante caratteristica utile per trasferire, o scaricare, file da un server remoto e 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 162: Midnight Commander dove si dovranno inserire le credenziali di autenticazione per il server remoto nel formato “user:password@IP” Figura 163: Midnight Commander 92 ` stabilito potremo utilizzare i soliti comandi da mouse o tastiera per trasfeSe il collegamento verra rire i file da o per il server remoto. Figura 164: Midnight Commander A.2 Editor Nano Per utilizzare Nano si deve eseguirlo da Shell con il comando “nano”. Se seguito dal nome di un ` e si potra ` editarlo con gli intuitivi comandi descritti in basso nella finestra file esistente lo aprira dell’editor. Figura 165: Midnight Commander Figura 166: Midnight Commander ` confidenza dei principali comandi e diventera ` uno strumento abituale In breve tempo si prendera nella gestione di Zerotruth e Zeroshell. 93 A.3 Direttamente da PC ` possibile Per chi si trovasse a disagio a gestire il file manager e l’editor direttamente da shell e montare il file system di Zeroshell sulla postazione con la quale ci si collega al sistema. ` possibile montare il file system di Zeroshell utilizzando sftp e poi gestirlo come se facesse Infatti e parte del nostro sistema locale. ` necessario modificare la login shell Per abilitare Zeroshell ad accettare un collegamento sftp e impostata di default su “localman” in “/bin/bash”. ` sufficiente, dopo l’autenticazione, digitare il comando: Per eseguire tale operazione e “chsh” e alla richiesta della nuova login shell inserire “/bin/bash” Figura 167: Modifica login shell ` montare Zeroshell sul nostro PC in una cartella a nostro piacimento come evidenziato Ora si potra ` la configurazione se riavviato. nella figura seguente tenendo presente che Zeroshell eliminera ` le credenziali di autenticazione per terminare l’operazioLa procedura, naturalmente, richiedera ne regolarmente. Figura 168: 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 169: Nautilus 94 ` stato montato regolarmente ogni programma locale vi pota ` Se il file system di Zeroshell sara 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 170: Geany - apertura file Figura 171: Geany - interfaccia 95 B Scripts In questo allegato vengono riportati alcuni esempi di scripts da utilizzare nelle varie features di Zerotruth. B.1 Scripts per keypad ` possibile impartire dei comandi al sistema con Come illustrato nella sezione Keypad (Sez. 4.8) e 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 ` serve a convertire gli scan code in numeri per costruire il script dev’essere mantenuta perche 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 ` inserire qualsiasi comando che tenga presente i possibili codici pasSotto tale intestazione si puo sati 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 96 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 " 97 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 98
© Copyright 2024 ExpyDoc