|
|
|
|
Debian Última actualización | stable: 30/01/2010
testing: 09/02/2010
unstable: 09/02/2010
|
|
|
|
|
|
|
|
Configurar un HOTSPOT rapidamente con portal captivo chillispot.
(48154 lecturas)
Por PEDRO LUIS GARCIA
pedrol
(http://delpuerto.com)
Creado el 16/07/2004 16:46 modificado el 16/07/2004 16:46
|
Configurar de forma sencilla y rapida un HOTSPOT sobre Debian para captar clientes asociados al NODO y gestionar accesos y usuarios. Chillispot + freeradius + apache-ssl. | Pagina1/1 |
CONFIGURAR UN HOTSPOT RAPIDAMENTE
SOBRE GNU/LINUX Portal Captivo Chillispot
--------------------------------------------------------------------------------------------------------------------------------------------
Para configurar este hotspot nos hemos
decantado por chillispot por su sencillez en la instalación y
por lo poco puntilloso que es a la hora de pedir requisitos de software
y configuración de la red . (de hardware pocos, que es linux
:P).
Si disponemos de un AP y queremos que los clientes que accedan a
él sean recibidos por una web de presentación en la que
ofrezcamos los servicios de nuestro NODO o información variada ,
podemos utilizar este software sin mayor problema, si necesitamos mas
opciónes podemos obtar por alguno mas completo como nocat.
Cualquier petición http es redirigida
por el firewall contra un script que presenta una web de bienvenida y
toda la información que queramos.
Una de las principales opciónes de este software es el
acceso a la red.
Se le puede configurar para permitir libre acceso a ciertos
servicios y a ciertas ips. Asi como no permitir accesos no deseados a
otras ips...
De esta forma, podemos dejar libre acceso a desconocidos a la web de
nuestro grupo o al servidor local pero no al resto de servicios
(internet, ftp,....)
El sistema controla en todo momento los accesos y presenta una pantalla
con el estado del cliente logeado o no logeado .
Chillispot se encuentra en chillispot.org
es open source y se mantiene bajo licencia GPL
.
Tal y como informa en su web, es un portal captivo para control de
accesos wireless a una red LAN. Soportando WPA.
Tiene binarios creados para Redhat, Febora, Debian y OpenWRT (AP).
Su configuración es sencilla y permite la instalación de
todo el sistema sin problemas en un mismo equipo.
A continuación explicaremos su instalación sobre
una maquina con Debian .Para mas
info,la web oficial donde
aparece la
documentación completa y detallada.
..........
LOS
REQUISITOS :
Tal y como aparece en su web principal, estos son los requisitos:
#
Internet connection
# Wireless LAN access point
# ChilliSpot software for your PC
# Radius server
# Web server
La conexión a internet la vamos a limitar solo para nosotros,
los propietarios del nodo y demas familia, pues recordamos que entre
otras cosas , "regalao se murió" :) y seria
ilegal ceder la conexión de internet alegremente. ... por lo
tanto, si queremos captar los equipos que accedan a nuestro NODO y
presentarles una web informativa con toda la info... ok :)
- Necesitamos un S.O. Linux, en este caso , se ha instalado sobre
Debian GNU/LINUX.
- Un servidor radius, en este caso, sobre freeradius, tal y como
aparece en al documentación (es GPL y aparece en las sources
debian)
- Un servidor web. Claramente APACHE.
Necesita soporte para SSL para autenticación con el servidor
radius. Podemos bien instalar el modulo ssl al apache o instalar el
apache-ssl. (haremos lo segundo)
- Un punto de acceso wireless. (en este caso, el nodo funciona con un
DLINK900AP+ a la intemperie :P)
La configuración en general podria ser la siguiente :

En nuestro caso, todos
los servidores se encuntran sobre la misma maquina, pudiendo estar
separados (seria lo mejor por temas de seguridad, pero no le pidamos
peras al arbol... :) )
EL S.O. ,
CONFIGURACIONES VARIAS
Deberemos
tener un Debian instalado. (mas
info)
descargamos el .deb de chillispot en la siguiente dirección http://www.chillispot.org/download.html
Login erroneo. No Puede conectar . clipse en delpuerto.com para
mas info auauauauUAUUUUUUU SANTOÑA
--(el .deb).
nos marcamos alegremente un "apt-get
install freeradius apache-ssl"
configurando el apache con la configuración minima contestando
todo lo bien que queramos a las preguntas necesarias para las ssl
(lugar, nombre, mail....) que apareceran posteriormente en la info del
certificado al acceder al nodo.
instalamos tambien el chillispot con "dpkg -i
chillispot_VERSION.deb"
los archivos de chillispot se localizan en /etc/chilli.conf y en
/usr/share/doc/chillispot/
enredaremos en /etc/chilli.conf y en
/usr/share/doc/chillispot/firewall.iptables y
/usr/share/doc/chillispot/hotspotlogin.cgi
lo primero, vamos a hacerlo facil, copiemos hotspotlogin.cgi a nuestro
sitio de cgi, /usr/lib/cgi.bin/
podemos tambien editar el firewall.iptables a nuestro gusto con reglas
propias (en este caso no lo tocaremos). Lo que si debemos hacer es
procurar que las reglas de firewall.iptables se carguen al arranque
editamos el /etc/network/options con ip_forward=yes
reiniciamos la red con "/etc/init.d/networking restart"
y de esta parte , una cosa importante, tener configurado en el kernel
el soporte para tun/tap para levantar el interface tun0 en este
caso.
p-t-p.
tal como aparece en la configuración realizaremos lo siguiente :
mkdir /dev/net
mknod /dev/net/tun c 10 200
para crear el dispositivo
y ahora :
añadir la siguiente linea a /etc/modules.conf
"alias char-major-10-200 tun"
luego "depmod -a " para actualizar cambios.
ahora, ya tenemos configurado el equipo.
FREERADIUS
vamos a retocar la configuración del freeradius en
/etc/freeradius/ :
modificamos clients.conf y cambiamos la clave de secret= ...123 por una
propia como por ejemplo "linuxpower":)(no está de mas aunque sea
en local :) )
modificamos users para añadir los usuarios, para no dar muchas
vueltas, copiemos y modifiquemos el usuario que sugiere chillispot , el
usuario steve. En el pondremos nuestro propio nombre de usuario,
quedando algo asi como :
clipse Auth-Type := Local, User-Password == "atitelovoyadecir"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 172.16.3.33,
Framed-IP-Netmask = 255.255.255.0,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "std.ppp",
Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP
como se puede observar, basta con modificar user y password, para
mas usuarios, copiamos lo mismo y cambiamos la IP-address
CHILLISPOT
ahora enredamos con el /usr/lib/cgi-bin/hotspotlogin.cgi para
personalizarlo un poquillo entre otras cosas
en él , observaremos partes de codigo como las siguientes :
if (!($ENV{HTTPS} =~ /^on$/)) { print "Content-type: text/html\n\n
meta http-equiv="\"Pragma\"" content="\"no-cache\"">
h1 style="" center="">Acceso a hotspot erroneo. , pirate zaragatas
/h1>
p>
NO ACEPTA ACCESOS NO AUTORIZADOS. NODO
SANTOÑA/p>
center> Se debe usar encriptación. /center>
"; exit(0);
}
es html puro y duro, asi que podemos modificarlo a nuestro gusto
con la
web que queramos, bien pegandolo en este archivo o incluyendolo desde
otro archivo aparte con el tocho de html (en este caso, que es poco,
lo dejamos)
ahora, lo que nos queda, editar /etc/chilli.conf para que case con la
clave que hemos cambiado por si las moscas en el servidor radius, en
este archivo se encuentra en el apartado de la configuración del
servidor radius "radiussecret " donde pondremos la clave del freeradius
"radiussecret linuxpower" :P ..............................
y mas o menos ya estaria el asunto, :) ,
relanzamos todos los
chismes por si las moscas /etc/init.d/freeradius restart (al loro con
los mensaje que igual hace falta añadirle un -x para recargarlo)
/etc/init.d/chilli restart
y si quereis :) el apache tambien :)
, si asociamos cualquier cliente al AP y le decimos que obtenga la
ip automaticamente mediante dhcp, las peticiones a cualquier web nos
llevarian a la web de presentación que hemos metido en
hotspotlogin.cgi (recordad que hotspotlogin almacena varias webs y solo
una es la de presentación, el resto es para mensajes de error y
aceptación)
por defecto, las dns seran las configuradas en el servidor.
y una de las cosas que tiene de bueno (que tambien lo tiene el resto de
portales captivos como el nocat :) ) es el poder dejar acceso a ciertas
paginas sin necesidad de estar logeado, para el resto de cosas , se
puede editar la configuración del firewall.iptables.
si
modificamos /etc/chilli.conf , al final del archivo :
TAG: uamallowed
# Comma separated list of domain names, IP addresses or network
segments
# the client can access without first authenticating.
# Normally you do not need to uncomment this tag.
#uamallowed www.chillispot.org,10.11.12.0/24
uamallowed www.cantabriawireless.net,www.linuca.org,www.delpuerto.com
dejamos acceso libre a estas webs. (shhhhhhhhhh pero no lo digais
muy
alto :) )
. y dejariamos a grandes rasgos configurado el sistema para cualquier
petición.
terminando...
Uno de los grandes problemas del wifi, como siempre,
la seguridad. Este sistema solo nos cubre de accesos no deseados , no
de
ser escaneados ni evitar el snifing. Tampoco de un man-in-the-middle y
que nos vuelvan locos y se hagan de las passwords (recordad que el
login y pass de acceso si viaja encriptado).
Deberemos entonces estar al loro de aceptar el certificado
correctamente y de si aparecen nuevos certificados de algun
malo malisimo :) . Para asegurarlo mejor, se podria configurar un proxy
seguro con un squid y ssl de forma que todas las peticiones al web
esten encriptadas y procurar utilizar puertos seguros para el resto...
pero eso es cantar de otro dia :)
...
habra que esperar a que alguien lo intente para confirmar que
está "correcto" el documento, recordad que la información
sin errores :) está en la web oficial en ingles :P .
salu2 y suerte :)
Pedro Luis clipse en delpuerto.com
| | | |