Salve a tutti,
mi è stato chiesto di rendere "Pisanu-compliant" l'accesso a Internet
degli ospiti di una scuola. Ho doverosamente spulciato gli archivi, e
ho trovato purtroppo perlopiù thread sospesi a metà, così vorrei
chiedere lumi agli iscritti a questa lista.
Dico "ospiti" perché è frequentata spesso da corsisti che arrivano
spesso dall'estero, seguono lezioni per tre-sei giorni e se ne vanno.
Punterei su un banale sistema che leghi ogni IP interno ad un utente
univoco (RADIUS, 802.1x, captive portal + log del DHCP, gli strumenti
ci sono e sono parecchi) e logghi le connessioni. Il "solito" problema
è che l'uscita verso Internet è NATtata su di un pool veramente misero
di indirizzi pubblici, e farsene assegnare di più dal provider sarebbe
probabilmente piuttosto costoso.
Un suggerimento che transitò in lista nel passato: "chiedete alla
Questura competente, perché ciascuna ha una propria opinione al
proposito". Forte di questa massima, sono stato presso la Questura
competente, che mi ha mandato alla sezione provinciale della Polpost.
Lì ho parlato con una persona che mi ha detto che basta tenere
l'indirizzo IP di partenza di ciascuna connessione, con data, ora e
identificativo dell'utente. Ho tentato di spiegare che cos'è il NAT e
come il solo indirizzo interno di partenza non sia sufficiente ad
identificare l'utente che effettua la connessione, ma la risposta è
stata del tipo "non me ne frega niente di IP, NAT e altre amenità
tecniche; basta che quando serve siate in grado di identificare chi ha
stabilito la connessione".
Lo stesso responsabile mi avrebbe anche lasciato capire che la
questione dei documenti d'identità è marginale, basta sapere chi è
stato in qualche maniera; questo, ad esempio, non mi convincerebbe per
nulla, e credo che i documenti vadano chiesti, copiati e
religiosamente custoditi, dato che è una delle poche cose che la
normativa richiede con chiarezza e senza molti margini di
interpretazione… o mi sbaglio?
Ora, leggendo il DL 144/2005, la legge 155/2005 ed il decreto del
16/8/2005 sui dati anagrafici, mi vengono in mente diverse possibilità:
1. loggo le connessioni con il loro IP interno sorgente e basta, e se
un giorno la polizia giudiziaria mi venisse a chiedere "chi si è
collegato all'IP 71.62.141.87 alle 16.11 del 6 ottobre 2008?",
fornirei una lista di una, due, dieci persone che avrebbero potuto
farlo in quel momento;
2. loggo le connessioni con IP sorgente, ma anche IP+porta di
destinazione. In questo caso andrei contro le disposizioni del Garante
per i service provider, e mi parrebbe strano che non si applicassero
ai soggetti "titolari e gestori" del decreto del 16/8/2005… se non si
applicassero, sarei a posto;
3. loggo le connessioni con IP interno sorgente, più la combinazione IP
+porta sorgente post-NAT. Questo presenta due problemi:
3.a) Non ho ancora trovato software già pronto che lo faccia, e temo
che dovrei inventarmelo;
3.b) quasi mai i server HTTP, che temo possano rivestire la
maggioranza di questi casi, loggano la porta sorgente di una
richiesta, quindi potrebbe rivelarsi inutile, se non come tentativo di
dimostrare di aver fatto il proprio dovere durante un'ipotetica
indagine;
4. Faccio passare tutte le connessioni HTTP tramite un proxy
trasparente che aggiunga, negli header, l'IP interno per il quale è
stata eseguita l'operazione. Temo che anche questo non venga loggato
quasi mai e si riveli inutile, senza considerare che non copre altri
protocolli;
5. concateno IP di partenza, IP e porta di destinazione, un
riferimento temporale preciso ma non troppo (fino ai minuti, per
esempio) e salvo uno hash di questi dati. Partiziono lo storage degli
hash in modo da minimizzare le probabilità di collisione ma rendere
difficile un eventuale tentativo di tracciamento individuale di un
utente o di una destinazione ("né troppo stretto né troppo largo",
insomma); per capirci, uso un "secchio" diverso ogni tre mesi, o ogni
uno, a seconda della quantità di connessioni. Quando mi chiedessero
chi si è collegato in quel momento a quell'IP, non dovrei fare altro
che prendere la lista degli IP interni attivi in quel momento,
concatenare ciascun IP interno ai dati forniti, e verificare quale di
essi corrisponda.
Mi sembra che la (5) vada incontro alla ratio e alla lettera della
legge, ma mi renderebbe difficile dimostrare che ho fatto il mio
dovere quando l'errore l'avesse compiuto qualcun altro… (ma questo
accadrebbe anche con dei log normali, no?)
Sono convinto che migliaia di scuole, circoli bocciofili, circhi
equestri e sale da tè abbiano implementato da tempo qualche modo
semplice di risolvere questo problema, o se non di risolverlo, almeno
di essere "a posto".
Grazie in anticipo per qualsiasi suggerimento!
--
Emanuele
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List