====== Differenze ====== Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

captive_portal [2009/09/10 21:56]
davide
captive_portal [2009/10/24 16:47] (versione attuale)
metalmaga
Linea 1: Linea 1:
- 
 ===== Preambolo ===== ===== Preambolo =====
  
  
 Nella sede del FoLUG è disponibile un collegamento ad internet ADSL tramite un router telecom ed un access point wifi Linksys wrt54g. 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. 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. 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.
Linea 10: Linea 10:
  
  
-* 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 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 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. +  * 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 +  * Ovviamente tutto il software deve essere libero 
-Tra i vari software verranno preferiti quelli +  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ù potente o da esterno quindi vogliamo meno vincoli possibili. 
 +  * Tutti software utilizzano regole di firewall iptables, queste regole le scriverò con [[http://www.fwbuilder.org|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|http://it.wikipedia.org/wiki/Captive_portal]]. 
 +I software identificati sono i seguenti: 
 + 
 +  * [[http://nocat.net/|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. 
 +  * [[http://www.chillispot.info/|ChilliSpot]]: non è aggiornato spesso, ora non mi ricordo perchè ma l'ho scartato. 
 +  * [[http://pepperspot.sourceforge.net/|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. 
 +  * [[http://net.doit.wisc.edu/~dwcarder/captivator/|Captivator-gw]]: non mi ricordo perchè ma l'ho scartato. 
 +  * [[http://dev.wifidog.org/|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. 
 +[[http://dev.wifidog.org/wiki/Features|Qui]] trovi la lista completa delle feature. 
 + 
 +Ho scelto WiFiDog. 
 + 
 + 
 +===== Installazione ===== 
 + 
 + 
 +Come documentazione principale ho seguito quella ufficiale [[http://dev.wifidog.org/wiki/doc|http://dev.wifidog.org/wiki/doc]], anche queste [[http://dev.wifidog.org/wiki/FAQ|FAQ]] sono chiarificatrici. 
 + 
 +Scarico in /usr/src i sorgenti di wifidog con svn seguendo le istruzioni [[http://dev.wifidog.org/wiki/Download|http://dev.wifidog.org/wiki/Download]]. 
 +Installo il gateway sul server Linux. 
 + 
 +Continuerò seguendo queste istruzioni fatte bene: 
 + 
 +[[http://dev.wifidog.org/wiki/doc/install/debian|gateway e portal su debian]]
  
 +[[http://dev.wifidog.org/wiki/doc/install/debian/auth-server|auth server su debian step-by-step]]
captive_portal.1252612563.txt.gz · Ultima modifica: 2009/09/10 21:56 da davide