Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instalacion y Configuracion de Chillispot
Instalacion y Configuracion de Chillispot
V1
Raul Espinosa Soriano
En este tutorial, se trata la instalacin, configuracin y puesta en marcha de un servidor Chillispot, sobre Debian, sistema en el que debe de haber instalado un servidor Freeradius.
Tabla de contenido
Introduccin .................................................................................................................................. 2 Descarga de ChilliSpot ................................................................................................................... 3 Instalar y configurar Apache 2 + SSL en Debian ............................................................................ 6 Soporte TUN/TAP ........................................................................................................................ 10 Forwarding de direcciones IP ...................................................................................................... 12 Instalacin de ChilliSpot .............................................................................................................. 14 Edicin de los archivos de configuracin .................................................................................... 14 Modificacin de chilli.conf ...................................................................................................... 15 Modificacin de users en Freeradius ...................................................................................... 17 Configuracin de clients.conf .................................................................................................. 18 Modificacin de hotspotlogin.cgi ............................................................................................ 19 Copia y edicin de chillispot.iptables ...................................................................................... 20 Configuracin de Eth0 y Eth1 .................................................................................................. 20 Creacin Sitio Corporativo de recepcin de peticiones de conexin ..................................... 22 Iniciando nuestro servidor Chillispot .......................................................................................... 22 Comprobacin del funcionamiento ............................................................................................ 24 Configuracin del cliente ........................................................................................................ 24 Conectar .................................................................................................................................. 24 Desconectar............................................................................................................................. 26
Pgina 1
A lo largo de la configuracin, se hace uso de un adaptador virtual TUN, el cual har las veces de servidor de autentificacin en el sistema local. A continuacin se muestra alguna imagen que denota la topologa de nuestra red, haciendo uso de un servidor Chillispot:
Pgina 2
Descarga de ChilliSpot
Lo primero que realizaremos, ser la descarga del paquete de Chillispot. Para ello, confirmamos que nuestro sistema est conectado a Internet, y posteriormente, si es asi, descargamos el paquete desde la pgina de Chillispot. Como Administrador, desde un terminal, ejecutamos el comento ifconfig, y, en el caso que nos ocupa, vemos que uno de los interfaces tiene conexin a internet. En concreto el interfaz eth1, con IP 172.26.0.69, nos conecta a internet.
Pgina 3
Una vez confirmada la existencia a una conexin de internet, nos conectamos desde un navegador a la web de Chillispot (http://www.chillispot.info), y en su seccin de descargas, podremos ver el enlace al paquete. El que nos interesa es el paquete .deb.
Pgina 4
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 Si le pinchamos al paquete de descarga *.deb, segn el navegador, no se produce la descarga, sino que nos abre el fichero, cuyo contenido es incomprensible para nosotros. Ese es el caso de nuestra instalacin. De esta forma, lo que debemos de anotar, es la URL del paquete, y desde un terminal hacer uso de wget para dicha descarga.
En la capturo anterior, se puede ver la URL de descarga, que es la correspondiente al paquete *.deb. Abrimos un terminal como Adminstrador, y tecleamos el siguiente comando: #wget <url_paquete> De esta forma se procede a la descarga del mismo, en la carpeta donde nos encontremos.
Unas vez descargado, ya podremos verlo en nuestro directorio. En nuestro caso, en /home/rauesso.
Pgina 5
Pasamos ahora a generar el certificado SSL con el que trabajar Apache, ya que la pgina de autentificacin, ser bajo el protocolo SSL+HTTP, es decir, HTTPS. Para ello, desde un terminal, creamos la carpeta ssl, dentro de /etc/apache2, que es la ubicacin donde se depositar el certificado una vez creado. #mkdir /etc/apache2/ssl Una vez creado el directorio ssl, pasamos a crear el certificado, por medio del comando makessl-cert. # make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Pgina 6
Llenamos los datos que pida segn sea nuestro caso y luego habilitamos el mdulo: # a2enmod ssl Debemos verificar que Apache est configurado para escuchar por el puerto 443 cuando trabaje con el mdulo SSL (las versiones recientes de Apache suelen ya venir configuradas de esta manera): # nano /etc/apache2/ports.conf El archivo debe tener la siguiente forma:
Ahora creamos el sitio SSL. Por defecto, Apache trae el fichero default ubicado en la carpeta /etc/apache2/sites-available/. Copiamos este archivo para luego poder modificarlo: # cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl # nano /etc/apache2/sites-available/ssl
Pgina 7
Pgina 8
Una vez habilitado, el sitio ssl, reiniciamos el servicio apache2, tal y como se muestra en la siguiente captura:
Y ya podremos acceder a nuestro sitio, tanto de forma normal, como por acceso seguro SSL, tal y como se aprecia en las siguientes capturas.
Pgina 9
Soporte TUN/TAP
En primer lugar, nuestro sistema debe tener habilitado el soporte TUN/TAP para interfaces virtuales. Desde la terminal ejecutamos los siguientes comandos: #apt-get install modconf
Ahora pasamos a la configuracin de TUN, por medio del comando modconf: # modconf
Con esto aparecer un recuadro que muestra las categoras de los mdulos soportados por el sistema. Para nuestro caso, buscaremos seccin kernel/drivers/net:
Haciendo uso de la tecla tab, seleccionamos Aceptar y aparecer un nuevo recuadro en el que buscamos tun. Si posee soporte debe aparecer con un signo +.
Pgina 10
Si tenemos soporte TUN/TAP nuestro sistema posee soporte para un mdulo indispensable para Chillispot, sin embargo, an debemos agregarlo al inicio del sistema. Desde terminal ejecutamos las siguientes lneas de comando: # modprobe tun
Ahora pasamos a editar el fichero /etc/modules, y en la ltima lnea deber de aparecer tun. Si no fuera as lo aadiremos nosotros. # nano /etc/modules
Pgina 11
Con la ltima lnea abrimos el archivo /etc/modules con nano. Vamos al final del archivo y en una nueva lnea agregamos tun, quedando ms o menos as (puede variar en su sistema segn los mdulos que cargue al arrancar-la entrada Tun ya estar creada en la mayora de las ocasiones).
Forwarding de direcciones IP
Nuestro equipo con Chillispot estar trabajando como un firewall, de hecho, sin las reglas de firewall no sera posible que Chillispot funcionara. Al funcionar como firewall
Pgina 12
debe tener la capacidad de hacer NAT (Network Address Translation) para lo que ejecutamos la siguiente lnea: # echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward Alternativamente podemos utilizar nano y manualmente cambiar el valor (por defecto 0) a 1. Este valor es un bit binario que hace las veces de un booleano.(0=falso y 1=verdadero) # nano /proc/sys/net/ipv4/ip_forward
Nos aseguramos que posea la siguiente lnea (si no la posee la agregamos y si se encuentra comentada con # al principio se lo quitamos) net.ipv4.ip_forward=1
Ahora ya tenemos configurado nuestro firewall para que sea capaz de el redireccionamiento entre los interfaces internos y externos.
Pgina 13
Instalacin de ChilliSpot
Para proceder a la instalacin de Chillispot, accederemos al directorio donde, en el primero de los puntos, nos descargamos el paquete *.deb de chillispot. Una vez en la ubicacin oportuna, en nuestro caso /home/rauesso, ejecutamos el comando: #dpkg i chillispot_version.deb
Hasta aqu ya tenemos instalado Chillispot con alguna configuracin bsica. Estas configuraciones se encuentran en /etc/chilli.conf donde podemos modificarlas y an definir otros parmetros. Esto lo haremos posteriormente. Dentro de la documentacin de Chillispot encontramos el archivo hotspotlogin.cgi (generalmente viene comprimido y lo encontramos como hotspotlogin.cgi.gz). Descomprimimos el archivo y lo copiamos en la carpeta /usr/lib/cgi-bin. # gunzip /usr/share/doc/chillispot/hotspotlogin.cgi.gz # cp /usr/share/doc/chillispot/hotspotlogin.cgi /usr/lib/cgi-bin/
Con esto ya tenemos nuestro servidor de autenticacin. Faltara configurarlo los aspectos ms relevantes.
Pgina 14
Modificacin de chilli.conf
Aqu es donde definimos los parmetros propios de Chillispot, los cuales explicamos a continuacin. 'net': Es la red sobre la cual estar trabajando Chillispot, es decir la Wireless LAN. Se debe poner con el formato <direccin IP>/<mscara de subred>. 'radiusserver': La direccin IP de los servidores RADIUS. Es necesario indicar dos servidores, aunque en nuestro caso solamente contamos con uno. Debido a que el servicio de RADIUS se encuentra corriendo en el mismo equipo, utilizamos la direccin de loopback. 'radiussecret': Cadena de caracteres que indica el secreto compartido entre Chillispot y el servidor RADIUS. 'dns': Direccin IP del servidor DNS. 'dhcpif': Interfaz conectada al punto de acceso y por la que se proveer DHCP. Dicho sea de paso que en la red sobre la que est trabajando Chillispot no debe haber ningn servidor DHCP activado, dado que este servicio lo proporciona Chillispot mismo. 'uamallowed': Aqu podemos especificar direcciones IP o nombres de dominio a los que se permitir el acceso sin autenticacin. Como mnimo debemos poner la direccin IP del servidor web al que sern redireccionados los usuarios no registrados y la direccin IP del Servidor de Nombres de Dominio (DNS). 'uamserver': URL del servidor de autenticacin. 'uamsecret': Secreto compartido entre Chillispot y el servidor de autenticacin. Utilizando nano abrimos el archivo para poder editarlo: # nano /etc/chilli.conf
Pgina 15
Pgina 16
Una vez, nuestro fichero /etc/chilli.conf, tiene la configuracin denotada en las imgenes anteriores, pasamos a los siguientes ficheros de configuracin.
Al final de documento se pueden observar los usuarios, junto con la sintaxis. Podramos aadir tantos usuarios como quisiramos.
Configuracin de clients.conf
Dado a que en nuestro caso la direccin IP del servidor RADIUS es la de loopback por estar en el mismo equipo en que se encuentra Chillispot, debemos verificar que dentro de los clientes se encuentre especificado nuestro host local y si no se encuentra agregarlo. Si el caso fuera un servidor RADIUS remoto, deberamos agregar la direccin IP atravs de la cual es visible para RADIUS el host con Chillispot. Abrimos el fichero con nano: # nano /usr/local/etc/raddb/clients.conf
Pgina 18
Modificacin de hotspotlogin.cgi
Abrimos el fichero con nano: # nano /usr/lib/cgi-bin/hotspotlogin.cgi
Lo nico que debemos hacer es verificar que no se encuentre comentada la lnea $uamsecret = secretouam; Donde secretouam es el secreto compartido entre Chillispot y el servidor de autenticacin. Adems, descomentamos la lnea $userpassword=1;
Posteriormente, deberemos de dar permisos al fichero: #chmod 755 /usr/lib/cgi-bin/hotspotlogin.cgi #chmod 755 /usr/lib/cgi-bin
Pgina 19
Despus de copiarla y darle permisos de ejecucin abrimos el archivo con nano: # nano /etc/init.d/chillispot.iptables Luego verificamos que los parmetros INTIF y EXTIF contengan las interfaces interna (la que va a la red inalmbrica) y externa (la que conecta a la WAN), respectivamente. En nuestro caso queda de la siguiente manera: EXTIF = eth0 INTIF = eth1 Por ltimo agregamos las reglas al inicio del sistema: # ln -s /etc/init.d/chillispot.iptables /etc/rcS.d/S40chillispot.iptables
Pgina 20
Pgina 21
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 Una vez confirmada la configuracin IP de cada uno de los interfaces, pasamos a crear nuestro sitio de recepcin de peticiones de conexin.
En su interior, con un editor, como por ejemplo nano o gedit, creamos un archivo index.html, el cual contendr esa pequea pgina web de acceso. En este tutorial, simplemente he creado un enlace al fichero prelogin que ofrece chillispot. El contenido se puede observar en la siguiente captura.
Pgina 22
A la hora de lanzar radiusd, tenemos la opcin de lanzarlo en un terminal independiente, y que las peticiones que reciba sean visibles. Para ella procederemos como se presenta en la siguiente captura.
Se puede realizar un testeo de funcioamiento de Freeradios, por medio del comando radtest. La sintaxis sera: #radtes usuario contrasea localhost 1465 contrasea_cliente_freeradius En la siguiente captura, podeis ver un ejemplo.
Pgina 23
Conectar
Para conectar, sobra con intentar acceder a una pgina web. El sistema directamente nos deriva a la pgina web creada anteriormente, la cual contiene un simple enlace:
Si le pinchamos al enlace, el sistema nos lleva al sitio HTTPS del chillispot. El certificado utilizado es el creado anteriormente, al confitgurar Apache, y evidentemente no es reconocido por nuestro navegador. No obstante, pinchamos a Vaya a este sitio Web (no recomentado):
Pgina 24
Y nos pide usuario y contrasea para acceder a la red. Introducimos alguno de los que se ha configurado en el fichero users de Freeradius, por ejemplo rauesso/test:
Pgina 25
Desconectar
Para desconectar, deberemos de acceder a la direccin: http://IP_Adaptador_TUN_servidor_chillispot:3990/prelogin Aceptamos el certificado, y se nos da la opcin de desconectar:
Seleccionamos Logout, y ya nos desconectamos del sistema de red facilitado por Chillispot y Freeradius
Pgina 26
De esta forma, queda clara la instalacin y configuracin de Chillispot en Debian. Este tutorial, es complementario al Tutorial de Instalacin y Configuracin de Freeradius,
Pgina 27