[Scuola] Chioschi GNU

Damiano Verzulli damiano@verzulli.it
Fri Mar 30 23:54:30 CEST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 30/03/2012 13:02, Andrea Brugiolo ha scritto:
> Cari tutti, qualcuno qui ha esperienza di postazioni di navigazione
> per gli utenti, con controllo possibilmente centralizzato (e remoto)
> degli accessi, ovviamente con Software Libero?

Se capisco bene, tu vuoi risolvere due problemi. Forse tre.

1 - tener traccia di tutti quelli che si loggano ad una delle tue N
postazioni "pubbliche" (loggando su un server remoto USERNAME,
DATA_ORA_LOGIN, DATA_ORA_LOGOUT, IP_MACCHINA_USATA);

2 - tracciare la navigazione dell'utente, per poter risalire alle URL visitate.

Queste due informazioni, aldila' delle questioni "legali", ti servono
_SICURAMENTE_ nel caso in cui un funzionario della PolPost bussi alla tua
porta per chiederti chiarimenti del tipo: "Chi e' che il giorno X, alle ore
Y, ha acceduto al sito Z?"

Per eliminare alla base eventuali problematiche di "privacy", e'
sufficiente che prima che l'utente si autentichi, gli fai cliccare un bel
bottone che dice: "Attenzione: tutta l'attivita' di navigazione viene
tracciata al fine di renderla disponibile su richiesta dell'autorita'
giudiziaria". Magari lo scrivi rosso, grande, bello evidenziato, cosi' che
non si possa dire che non l'abbiano letto.

La soluzione del punto 2 e' banale nel caso in cui, come dici tu, ti
accontenti di "navigazione" (ossia HTTP). In tal caso basta fare in modo
che i client _NON_ abbiano accesso diretto ad Internet ma, piuttosto,
abbiano soltanto un browser configurato con un proxy. Il proxy potrebbe
gia' fare da autenticatore (magary su un DB MySQL remoto, in modo da
centralizzare il tutto) ma questo rende piu' complicato l'"accettazione"
della clausola sulla privacy (il proxy richiede l'autenticazione in un BOX
sul quale e' sostanzialmente impossibile scrivere alcunche').

L'alternativa e' utilizzare un "Captive Portal" (ti hanno gia' suggerito
ZeroShell. Aggiungo PacketFence, nella modalita' "inline" [1]).
Il Captive-Portal, di suo, ti fornisce il sistema di gestione delle AUP
(Acceptable-User-Policy, ossia della clausola "privacy" da accettare per
poter utilizzare il servizio) e ti risolve, centralizzandolo, il problema
dell'autenticazione.
Purtroppo non e' detto che ti risolva (di default) il punto 2. Puoi pero'
facilmente rimediare aggiungendo, sul Captive-Portal, sempre un Proxy
(SQUID), ma che funziona in modalita' "trasparente", ossia senza che venga
esplicitamente configurato sul browser.

Chiaramente affinche' tutto funzioni e' necessario che il captive-portal,
dopo l'autenticazione, faccia passare soltanto il traffico HTTP.
Se passasse traffico diverso, infatti, questo non verrebbe "loggato" (in
modo trasparente, da squid) e quindi l'utente riuscirebbe a fare
attivita'... anonime.

Attenzione all'HTTPS: se ci pensi bene, _NON_ e' possibile proxarlo (se
fosse possibile, non sarebbe un protocollo "sicuro"). Tuttavia un logging
minimale dovrebbe essere possibile (ma non in tutti i casi).

Se proprio hai necessita' di consentire all'utente qualunque tipologia di
traffico (e non solo l'HTTP) e, al tempo stesso, vuoi essere in grado di
associare quel traffico a lui, allora puoi dare un'occhiata a sistemi di
"controllo dei flussi" (di traffico). Primo fra tutti: PMACCT [4]
Con questi sistemi puoi abbinare temporalmente una certa quantita' di
"flussi" di traffico, ad un "indirizzo" IP. Se con qualche altro meccanismo
(es.: captive-portal) riesci ad associare l'IP ad uno username... il gioco
e' fatto.


Dicevo all'inizio, due o forse tre problemi.

Il terzo problema e' che un utente potrebbe... "massacrare" il tuo desktop
e renderlo inutilizzabile all'utente successivo. Ecco quindi che hai il
problema di "resettare" la configurazione ad ogni "logout". Cio' ti mette
al riparo anche da situazioni imbarazzanti: l'utente A memorizza sul
desktop una foto un po'.... X. Arriva l'utente B, dopo A, e trova la foto
sul desktop. Siccome B e' piu' suscettibile di A, si innervosisce molto e
"denuncia" la cosa. Come se non bastasse, A denuncia te (gestore) perche'
hai consentito a B di vedere cose che A credeva fossero a lui riservate.

Il problema lo risolvi "franzando" tutti i dati ad ogni logout.

Con client linux la cosa e' piuttosto semplice. Ad esempio, a tempo debito
(dopo il logout; ad ogni reboot; come primo step del login; etc.) rimuovi
la home-dir dell'utente e la ricrei scompattando il contenuto da un TGZ che
hai da qualche parte.
Se invece hai macchine windows... opterei per virtualizzare le stesse (con
VirtualBox, all'interno di una macchina Linux) utilizzando come dischi
virtuali dei dischi "immutabili" [2]. A quel punto non devi far altro che,
all'uscita da windows, riavviare la macchina virtuale. Forse riesci anche a
convincere windows a fare reboot automaticamente ad ogni logout.


> In rete trovo diversi progetti di chioschi, liberi o proprietari,
> [...]
> Insomma, non ho ancora trovato una proposta "killer", libera e
> funzionante :)

Ho appena scorso velocemente questo thread [3] e... oltre ad essermi fatto
qualche risata, vi ho trovato degli spunti interessanti. Tanto per
cambiare, la questione e' piu' complessa di quello che sembra: si tratta di
trovare il corretto trade-off fra "effettivo lockdown" e "difficolta'
nell'implementarlo".

Spero di esserti stato utile.

Bye,
DV

[1] http://www.packetfence.org/about/overview.html
[2] https://www.virtualbox.org/manual/ch05.html#hdimagewrites
[3]
http://developers.slashdot.org/story/11/12/07/2229246/ask-slashdot-ubuntu-lockdown-options
[4] http://www.pmacct.net/
- -- 
Damiano Verzulli
e-mail: damiano@verzulli.it
- ---
possible?ok:while(!possible){open_mindedness++}
- ---
"Technical people tend to fall into two categories: Specialists
and Generalists. The Specialist learns more and more about a
narrower and narrower field, until he eventually, in the limit,
knows everything about nothing. The Generalist learns less and
less about a wider and wider field, until eventually he knows
nothing about everything." - William Stucke - AfrISPA
  http://elists.isoc.org/mailman/private/pubsoft/2007-December/001935.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk92K5YACgkQcwT9fsMT4SxCbwCfSTYvdaB4xH70Db3VSejcBC9A
HnYAn3RzC+Za2TRsZSnDMsqGBI9mbn2b
=RHhm
-----END PGP SIGNATURE-----


More information about the scuola mailing list