Instalacion y Configuracion de Chillispot

Embed Size (px)

Citation preview

  • 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,