Questa è una vecchia versione del documento!


Preambolo

Nella sede del FoLUG è disponibile un collegamento ad internet ADSL tramite un router telecom ed un access point wifi Linksys wrt54g. Abbiamo anche un pc P4 3Ghz, 2Gb di ram, 160Gb di disco, è un pc general purpose da utilizzare in sede ed inizialmente farà da server per questo sistema, a regime, se il progetto andrà bene, acquisteremo un minipc a basso consumo energetico che stia spesso acceso. L'obbiettivo di questo progetto è predisporre un sistema hw/sw che permetta agli utenti di collegarsi ad internet solo previa autenticazione. I software di questo tipo si chiamano “captive portal”, sono spesso utilizzati negli internet cafè, utilizzano un database per l'autenticazione ed un transparent proxy per intercettare la connessione e richiedere la password al primo accesso.

Requisiti

  • Il sistema non deve necessitare di nessun software installato sul client, quindi l'autenticazione deve essere preferibilmente via web in modo da funzionare con qualsiasi sistema operativo.
  • Il traffico di rete tra il pc client ed il router wifi dovrà essere preferibilmente criptato per maggiore sicurezza.
  • Il sistema dovrà autenticarsi su un database SQL dove saranno inserite username e password dei soci, se non fosse disponibile una interfaccia web per inserire i dati nel db la scriveremo noi.
  • Ovviamente tutto il software deve essere libero
  • Il sistema di valutazione dei software è lo stesso utilizzato per altri progetti: deve essere attivamente mantenuto, aggiornato recentemente, avere una buona comunità di sviluppo dietro, utilizzare preferibilmente db MySQL o PostgreSQL, avere un'interfaccia utente scritta in un linguaggio di scripting facilmente modificabile (Perl,PHP)
  • Deve utilizzare il maggior numero di access point disponibili sul mercato, attualmente abbiamo un access point linksys con firmware Linux, quindi facilmente modificabile, ci sono vari progetti liberi disponibili per questo hardware quindi è sicuramente la piattaforma più facile, però in futuro non escludiamo di cambiare access point con uno più potete o da esterno quindi vogliamo meno vincoli possibili.
  • Tutti i software utilizzano regole di firewall iptables, queste regole le scriverò con Firewall Builder perchè è una buona interfaccia e voglio impararla.

Software identificati

Ho fatto una ricerca su freshmeat,wikipedia, google e link vari, su wikipedia italiano ho trovato un buon riassunto di cos'è un captive portal e quali sono i software (liberi e non) utilizzati per questo scopo: http://it.wikipedia.org/wiki/Captive_portal. I software identificati sono i seguenti:

  • NoCatAuth: assieme a ChilliSpot è sicuramente il software libero più utilizzato. Non è più mantenuto e si è evoluto nel progetto NoCatSplash che è scritto in C e quindi è più adatto a dispositivi embeded, ha il supporto per l'autenticazione in beta quindi non è il caso.
  • ChilliSpot: non è aggiornato spesso, ora non mi ricordo perchè ma l'ho scartato.
  • PepperSpot: Progetto nuovo, l'ho scartato perchè troppo legato a ipv6, sistemi di routing avanzati (zebra e altro), mi sembra troppo complesso quindi l'ho scartato.
  • Captivator-gw: non mi ricordo perchè ma l'ho scartato.
  • WiFiDog: progetto nuovo, attivamente mantenuto, GPL, controllo e limitazione della banda, non usa javascript e va su tutti i browser, il core è scritto in C e gira su tutti i Linux anche sul dd-wrt, backend su db PostgreSQL con frontend in PHP.

Qui trovi la lista completa delle feature.

Ho scelto WiFiDog.

Installazione

Come documentazione principale ho seguito quella ufficiale http://dev.wifidog.org/wiki/doc, anche queste FAQ sono chiarificatrici.

Scarico in /usr/src i sorgenti di wifidog con svn seguendo le istruzioni http://dev.wifidog.org/wiki/Download. Installo il gateway sul server Linux.

Continuerò seguendo queste istruzioni fatte bene:

gateway e portal su debian

auth server su debian step-by-step

captive_portal.1253824274.txt.gz · Ultima modifica: 2009/09/24 22:31 da davide