Pagina 1 di 1

proxy autenticati con one-time-password

Inviato: gio gen 05, 2012 12:49
da ZeroUno
Il seguente è solo a fini didattici, non è una cosa che metterei in pratica, ma mi piacerebbe solo sapere come si potrebbe fare.


Immaginate lo scenario:
un bar, o un ristorante, o un qualche altro esercizio, vuole mettere a disposizione una wifi ai clienti paganti.

L'idea potrebbe essere il mettere a disposizione una wifi aperta ma in cui tutte le connessioni passano per trasparent proxy autenticato.

Il cliente va in cassa e fa lo scontrino.
Su tale scontrino c'è un codice che è un utente e una password autogenerati al momento dell'emissione dello scontrino.

L'utente accende il proprio portatile o cellulare e si connette ad internet e il browser gli chiede l'utente e la password scritte sullo scontrino.
Appena effettuato il login (da effettuarsi diciamo entro 15 minuti magari) quell'utenza viene bloccata a nuove connessioni, e al momento della chiusura della connessione corrente (o comunque dopo un'ora) l'utente viene del tutto cancellato.

In questo modo l'utente può navigare mentre consuma.
Quanto sopra dovrebbe evitare che lo scontrino possa utilizzarsi da due pc diversi o che l'utente possa scollegarsi, uscire dal locale e, nell'arco in cui prende ancora la wifi, ricollegarsi.
Non so se è sufficiente a evitare che il cliente possa fare ponte a qualche altro vicino (anche perchè se si è connessi in wifi è difficile fare ponte, a meno che non hai due schede wifi).

Uno dei problemi che mi vengono in mente è se l'utente chiude per qualche motivo il browser o ne apre un altro. Il browser gli richiede l'autenticazione ma ormai è bloccato.
Ho configurato più di una volta dei trasparent proxy, ma mai li ho messi con autenticazione e sinceramente non saprei come si comporterebbe.

Una idea potrebbe essere quella di non bloccare subito l'utenza al login ma vincolarla al macaddress del pc, rilevato a livello di dhcp, così quando spengo il pc e perdo l'indirizzo blocco anche l'utenza.


Io credo che se squid consente, in fase di authenticazione, di richiamare un programma esterno per la validazione della password il tutto si possa fare semplicemente con un scriptino bash che fa qualche grep su log vari.




Quale pensate potrebbe essere la soluzione migliore secondo voi?


edit: il problema della comunicazione tra la cassa e il server per la generazione dell'utenza è secondario. Per ora facciamo finta che il cassiere abbia un terminale con una interfaccia per creare l'utenza e una penna per scriverla sullo scontrino a mano. Al momento mi interessa solo la gestione del motore di connessione e sicurezza.

Re: proxy autenticati con one-time-password

Inviato: gio gen 05, 2012 15:03
da SIV
ZeroUno ha scritto:Non so se è sufficiente a evitare che il cliente possa fare ponte a qualche altro vicino (anche perchè se si è connessi in wifi è difficile fare ponte, a meno che non hai due schede wifi).


Di recente (qualche giorno fa) mi è capitato proprio di fare ponte con il mio portatile. Con il mio pc connesso ho creato una rete a cui altri utenti potevano connettersi wifi ed ovviamente potevano navigare dal momento che avevo anche condiviso la mia connessione.

Da qui la domanda: perchè ci vogliono necessariamente due schede wifi?

P.S.
Però forse, in questo caso specifico, la pagina per login esce anche ad utente collegato all'access point creato sul pc già connesso. Oppure no? :-k :-k

Re: proxy autenticati con one-time-password

Inviato: gio gen 05, 2012 22:36
da ZeroUno
SIV ha scritto:Di recente (qualche giorno fa) mi è capitato proprio di fare ponte con il mio portatile. Con il mio pc connesso ho creato una rete a cui altri utenti potevano connettersi wifi ed ovviamente potevano navigare dal momento che avevo anche condiviso la mia connessione.

Il pc era connesso in lan?

Una scheda di rete wifi classica non mi risulta possa gestire due reti wifi di cui una managed ed una adhoc allo stesso tempo, giusto?


Però forse, in questo caso specifico, la pagina per login esce anche ad utente collegato all'access point creato sul pc già connesso. Oppure no? :-k :-k

E poi si, è il browser che si autentica e naviga tramite proxy, anche se come dicevo non so come si comporta un trasparent proxy a livello di autenticazione, ma se chiede la password al browser nel momento che l'altro pc, collegato via ponte, la ri-chiede ormai non è più valida perchè onetime.

Re: proxy autenticati con one-time-password

Inviato: ven gen 06, 2012 1:03
da SIV
No, che io ricordi i due pc non erano in lan.

Comunque mi sono accorto che forse prima non mi sono espresso al meglio. Per dare un'idea pratica di ciò che ho fatto (da un pc con Windows):
-Aggiornato i drivers della scheda di rete (quelli vecchi non supportavano la creazione di connessioni virtuali)
-Avviata una rete virtuale a cui altri pc potevano connettersi con i comandi:

Codice: Seleziona tutto

netsh wlan set hostednetwork mode=allow ssid=Rete_Virtuale key=key_prova_prova (L'autenticazione dovrebbe essere in automatico WPA2)
netsh wlan start hostednetwork

(Navigando un po' sulla rete ho visto che si può fare il tutto anche in maniera molto più semplice ed automatica, che però a me dava problemi ad avviarsi: Virtual Router Manager )

Comunque sia (forse) rimane il problema che anche al pc che si collega alla rete virtuale viene richiesto il login, motivo per il quale fare da ponte con un altro pc non ne varrebbe la pena!

Re: proxy autenticati con one-time-password

Inviato: dom gen 08, 2012 12:52
da fiat595
http://www.wificash.it

provate e ditemi cosa ne pensate, naturalmente il wifi funzione nella mia zona Oristano Sardegna

Re: proxy autenticati con one-time-password

Inviato: dom gen 08, 2012 21:11
da ZeroUno
fiat595 ha scritto:http://www.wificash.it

provate e ditemi cosa ne pensate, naturalmente il wifi funzione nella mia zona Oristano Sardegna

e quindi naturalmente non sapremmo come provarlo :-D

Re: proxy autenticati con one-time-password

Inviato: dom gen 08, 2012 23:22
da fiat595
pero avete modo di farlo :slackware, freeradius, squid, coovachilli, mysar, mysql

questa è la base da cui sono partito :)