Instalacion y Configuracion de Chillispot
-
Upload
rosendo-ayala -
Category
Documents
-
view
96 -
download
5
Embed Size (px)
Transcript of Instalacion y Configuracion de Chillispot
-
Instalacin y
configuracin de
Chillispot sobre
Freeradius en
Debian. V1
R a l E s p i n o s a S o r i a n o
r a u l @ r a u e s s o . c o m
h t t p : / / r a u e s s o . c o m
h t t p : / / y o u t u b e . e s / r a u e s s o
2 5 / 0 2 / 2 0 1 2
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 1
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
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 2
Instalacion y configuracion de
ChilliSpot sobre FreeRadius
Introduccin En este tutorial, se va a presentar la Instalacin y configuracin de Chillispot en un sistema
Debian.
Ese sistema ya deber de tener instalado y configurado Freeradius, tarea realizada en otro
tutorial.
Para la puesta en marcha de Chillispot, deberemos de tener dos interfazces en nuestro
sistema:
ETH1: conectar con la red local(sea wifi o cableada)
ETH0: Conectar con Internet.
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:
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 3
Una vez entendida la topologa pasamos a configurar nuestro sistema
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 4
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 5
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
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 6
Instalar y configurar Apache 2 + SSL en Debian Necesitamos un servidor web con soporte SSL al cual redireccionar a los usuarios de la red
inalmbrica cuando intenten navegar. En nuestro caso instalaremos Apache y los mdulos
respectivos para soporte SSL:
# apt-get install apache2 apache2.2-common apache2-mpm-worker apache2-utils
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 make-
ssl-cert.
# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 7
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
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 8
El archivo debe quedar de la siguiente manera:
Para finalizar la configuracin de Apache, habilitamos el nuevo sitio:
# a2ensite ssl
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 9
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 10
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 +.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 11
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
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 12
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
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 13
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
Ahora modificamos el archivo sysctl:
# nano /etc/sysctl.conf
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 14
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.
Edicin de los archivos de configuracin Bsicamente los archivos de configuracin a modificar son cuatro:
/etc/chilli.conf
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 15
/usr/local/etc/raddb/clients.conf
/usr/lib/cgi-bin/hotspotlogin.cgi
/etc/init.d/chillispot.iptables
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 /.
'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
El archivo completo debe quedar con la siguiente estructura:
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 16
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 17
Una vez, nuestro fichero /etc/chilli.conf, tiene la configuracin denotada en las imgenes anteriores, pasamos a los siguientes ficheros de configuracin.
Modificacin de users en Freeradius
En este tutorial, se ha partido de un sistema Debian, el cual ya tena Freeradius configurado,
por lo que los usuarios, los cuales se configuran en el fichero /usr/local/etc/raddb/users, ya
estn creados.
A modo de repaso, se puede acceder al fichero users, anterior, y confirmar los usuarios.
En el caso que nos ocupa, como se puede aprecir, los usuarios son dos:
Usuario: test password: test
Usuario: rauesso password: test
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 18
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
Para el primer caso expuesto, el archivo debe quedar as:
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 19
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
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 20
Copia y edicin de chillispot.iptables
Chillispot ya incluye una configuracin de iptables sugerida. La podemos encontrar dentro de su documentacin y copiarla para hacer uso de ella y de ser necesario modificarla.
# cp /usr/share/doc/chillispot/firewall.iptables /etc/init.d/chillispot.iptables # chmod 755 /etc/init.d/chillispot.iptables
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
Configuracin de Eth0 y Eth1
Nuestro sistema Freeradius+Chillispot, como se ha comentado al inicio del tutorial, deber de
tener dos interfaces (eth0 y eth1).
Eth1 deber de conectar a la red interna (o al punto de acceso Wifi, en el caso de que se utilice
tambin para controlar el acceso desde Wifi), y eth0, al router que da acceso a internet.
En deban, y en el caso que nos ocupa, la configuracin es la siguiente:
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 21
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 22
Una vez confirmada la configuracin IP de cada uno de los interfaces, pasamos a crear nuestro
sitio de recepcin de peticiones de conexin.
Creacin Sitio Corporativo de recepcin de peticiones de conexin
Accedemos a nuestra carpeta /var/www, y creamos un directorio donde depositaremos la
pagina que los usuarios vern cuando se quieran conectar por primera vez.
En este ejemplo, este directorio, se llamar, por ejemplo, spot.
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.
Iniciando nuestro servidor Chillispot
Ahora nuestro Servicio de portal cautivo est listo para iniciarse. Basta con ejecutar los
siguientes comandos para iniciar Chillispot y los servicios relacionados:
# /etc/init.d/apache force-reload
#/etc/init.d/chillispot.iptables restart
# /etc/init.d/chilli restart
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 23
# radiusd
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.
Tambin iniciamos todos los servicios restantes.
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.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 24
Comprobacin del funcionamiento Ahora solo nos queda confirmar el buen funcionamiento del sistema instalado y configurado.
Configuracin del cliente
Lo primero que haremos, ser acceder a un cliente, por ejemplo un sistema XP que est
fsicamente conectado a la red del servidor Debian que acabamos de configurar.
Le configuraremos un IP dinmica, de forma que Chillispot, le conceda direccin IP, ya que es
servidor DHCP.
Como podemos observar en la siguiente captura, los datos IP de nuestro cliente XP coinciden
con los configurados en apartados anteriores, en el servidor Debian:
De esta forma est todo correcto.
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):
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 25
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:
Una vez validado, ya nos direcciona al internet, y tenemos acceso completo.
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 26
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
-
Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1
Ral Espinosa Soriano Pgina 27
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,