Que és NoCat?
NoCat és un programari escrit en perl que permet autenticar l'accès a una xarxa via un portal cautiu. S'utilitza típicament per a controlar l'accès a les insegures xarxes 802.11.
NoCat es divideix amb dos 'mòduls' un gateway i un servidor d'autenticació. I es permeten tres tipus d'accès: propietari, membres i tipus d'accès sense nececitat d'autenticació que es convidat.
La idea de funcionament es la seguent: Existeixen dues xarxes de les quals una es la xarxa sense fils i l'altre xarxa contè el router de connexió a Internet. Llavors quan un client de la xarxa wireless es connecta se li assigna una ip dinàmicament així com les DNS i gateway. En el moment que el client executa el navegador i demana una pàgina web, el gateway li redirigeix la petició al servidor d'autenticació. Llavors s'estableix un tunel amb ssl entre el servidor d'autenticació i el client. En aquest moment el client introdueix el seu login i passwd, llavors el servidor d'autenticació envia un missatge xifrat amb gpg al gateway i li dóna l'ordre de redefinir la seva taula de routeig aixi com de definir les polítiques d'ample de banda per a un client determinat.
Es a dir si internet es la discoteca i el carrer es la xarxa wireless el NoCat es el Gorila que decideix si pots passar o si no pots passar :)
Objectiu :
L'objectiu del document es mostrar els passos generals per instal·lar el NoCat i dic passos generals perque es possible que fent tot el que jo et poso aqui no et funcioni a la primera. Es una cosa que sovint passa. Aixi que pensa que aquest document NO ho diu tot sobre el Nocat sino que tans sols dóna alguna idea i passos generals.
Tot i que el Nocat està pensat per instalar el Gateway i el servidor d'autenticació en màquines diferents per raons de seguretat. Jo instalaré els dos mòduls en la mateixa màquina per raons econòmiques.
Que nececito per instalar el NoCat?
La majoria de Howto's de NoCat estan pensats per còrrer sobre un RedHat però en aquest document explicarem com fer-ho còrrer sobre una debian.
El primer que farem es recompilar el kernel i introduir-hi els mecanismes de tallafocs, routing i QoS. Podeu trobar exemples de configuració a la direcció http://blyx.com/public/wireless/nocatbox/.
Una vegada tenim el kernel recompilat descarreguen el NoCat de la Pàgina oficial http://nocat.net i instal·lem tot el que nececitarem amb apt-get:
> apt-get install perl
> apt-get install iptables
> apt-get install iproute2
> apt-get install apache-ssl
> apt-get install mysql-server
> apt-get install libnet-ldap-perl # per autentificar sobre ldap
> apt-get install libnet-netmask-perl
> apt-get install libgnupg-interface-perl
Això hauria de ser suficient.
Jo he utilitzat una versió del gpg mes moderna la 1.2.3 perquè la que porta debian woody hem dóna problemes. Podeu descarreguar la nova versió de http://www.gnupg.org i la he instalat d'aquesta manera:
> tar xvfj gnupg-1.2.3.tar.bz2
> cd gnupg-1.2.3
> ./configure
> make
> make install
I ara ja pasem a instal·lar el NoCat:
> tar xvfz NoCatAuth-0.82.tar.gz
> cd NoCatAuth-0.82
> mkdir /usr/local/nocat
Instal·lem el mòdul del Gateway
> make PREFIX=/usr/local/nocat/gateway gw
Instal·lem el mòdul d'autenticació
> make PREFIX=/usr/local/nocat/authserv authserv
Generem les claus del gpg. Es important escriure alguna clau per evitar errors.
> make PREFIX=/usr/local/nocat/authserv pgpkeys
Distribuim les claus del servidor d'autenticació al gateway i hens assegurem que apache tindra permisos per llegir les claus.
cp /usr/local/nocat/authserv/pgp/trustedkeys.gpg /usr/local/nocatgw/gpg
chown -R www-data:www-data /usr/local/nocat/authserv/pgp
cp /usr/local/nocat/authserv/pgp/trestedkeys.gpg /usr/local/nocat/authserv
Ara hens resta per configura l'arxiu de configuracio del servidor d'autenticació, l'arxiu de configuració del gateway i l'arxiu de configuració de apache-ssl.
Podeu trobar tots aquests archius a:
http://www.callusdigital.org/~m40333725/nocat/authserv/nocat.conf
http://www.callusdigital.org/~m40333725/nocat/gw/nocat.conf
http://www.callusdigital.org/~m40333725/httpd.conf
fitxer de configuracio del kernel
I si no funciona ja saveu tail -f /usr/local/nocat/gw/nocat.log o sino tail -f /var/log/apache-ssl/error.log
En pocs dies espero poder extendre una mica mes el document.Per qualsevol dubte podeu enviar un correu a josep.fe(arrova)terra.es.