Manual Hotspot Puente Verduzco

download Manual Hotspot Puente Verduzco

of 69

Transcript of Manual Hotspot Puente Verduzco

Instituto Tecnolgico de CelayaCarrera: Ingeniera en Sistemas Computacionales

Alumnas: Puente Rojas Cecilia Verduzco Bibian Berenice

Materia: Tpicos de Redes

Trabajo:Instalacin y configuracin de un servidor Hotspot

Agosto-Diciembre 2010

Qu es un hotspot? Un hotspot (en ingls punto caliente) es una zona de cobertura Wi-Fi, que por lo general sirve como punto de acceso (access point) y es capaz de proveen servicios de red a travs de un Proveedor de Servicios de Internet (ISP). Se caracteriza por implementar un sistema de logueo de usuarios con el fin tener control sobre el acceso a ciertos servicios de red. Se utiliza por lo general, en lugares pblicos, hoteles, restaurantes, aeropuertossolo por mencionar algunos. Los elementos necesarios para la creacin del hotspot: Software: Ubuntu 9.10.0 Desktop Edition Freeradius 2.1.0 Chillispot Apache2 phpMyAdmin MySQL

Hardware: Laptop con tarjeta inalmbrica y puerto Ethernet. PC con un puerto Ethernet. Cable ethernet directo.

Procedimiento: El primer requisito necesario es tener instalado el sistema operativo Ubuntu 9.10.0 y tener acceso a internet. Cuando ya se cuente con los elementos necesarios se comienza con las instalaciones de software necesario. Se debe de abrir una terminal dando clic en Aplicaciones > Accesorios > Terminal. Para poder realizar todas las operaciones necesarias de debe accesar con los privilegios de superusuario o root, para evitar teclear el comando sudo antes de cada comando, esto se logra con el comando: $ sudo s Y se puede apreciar en la siguiente imagen:

Pedir la contrasea del sistema para tener derecho a los privilegios de root o superusuario:

Despus teclear los siguientes comandos: # apt-get update

# apt-get upgrade

Al escribir el comando, mostrara una pregunta de: Desea continuar? Como se puede apreciar en la imagen:

Le respuesta debe ser s, es decir, teclear una s, para poder continuar con el proceso.

Que actualizan el sistema operativo. Tambin se pueden realizar algunas actualizaciones Sistema > Administracin > Controladores de hardware y activar el controlador. Donde se inician las actualizaciones correspondientes:

Se buscan los controladores disponibles para instalar:

Y se inicia la actualizacin dando clic en Activar:

En seguida se teclea el comando: # apt-get install modconf

Que sirve para que el chillispot cree un tnel virtual a travs de la interfaz de la pc servidor que conecta la red inalmbrica con la interfaz. Despus se ejecuta el comando: # modconf Que mostrara una ventana como se muestra a continuacin:

Se selecciona la categora Kernel/drives/net, direccionamiento se selecciona el botn de Aceptar.

con

las

teclas

de

Aparecer otra pantalla buscamos el mdulo tun--Universal TUN/TAP device driver support y se verifica que tenga un signo +, que indica que el

mdulo ya est instalado, de lo contrario se selecciona el modulo y se da enter para instalarlo.

Aparecer una ventana que se le debe dar la opcin de si:

Una vez que damos enter en el botn de aceptar, aparece una ventana como la siguiente:

No se necesario introducir ningn argumento, por lo que solo de da enter en la tecla Aceptar. Una vez realizado estos pasos se da clic en el botn salir.

Una vez que se haya instalado el tun de manera correcta al dar clic en la opcin salir mandara un mensaje como el siguiente:

Se construye un modulo para el soporte de la interfaz y se le asigna el nombre de tun con el comando: # modprobe tun Para que el modulo se cargue automticamente al reiniciar el sistema se necesita editar el archivo de mdulos con el comando: # gedit /etc/modules Con el cual se modificara el archivo con el editor de textos gedit y as agregar la palabra tun. El archivo se guarda y se cierra, como se muestra en la imagen.

Ahora se iniciara la configuracin de las interfaces de red. Se debe de conocer el nombre de las interfaces de red, esto se logra con el comando #ifconfig Y el comando mostrara la ventana que se muestra a continuacin:

Se debe editar el archivo que contiene la configuracin de la interfaces con el comando # gedit /etc/network/interfaces

Aparecer una ventana como la siguiente:

Y se verifica que sea similar al que se muestra en la imagen, si es necesario comentar (signo de #) o descomentar alguna lnea se puede realizar, solo se debe guardar el archivo y cerrar. De ser necesario se puede escribir en el archivo para que quede como el que se muestra a continuacion:

Se debe de acceder al archivo mediante el comando: # gedit /etc/sysctl.conf

Que despliega un archivo como el siguiente:

Se debe des comentar la lnea: net.ipv4.ip_forward=1 Instalacin de Apache, MySql y Apache Una manera sencilla de instalar todos los paquetes es con el comando: # tasksel El cual ahorra trabajo y no es necesario instalar paquete por paquete. Aparecer una ventana como la siguiente:

Se deben de seleccionar los programas: Basic Ubuntu Server. Servidor DNS. LAMP Server. OpenSSH. Una vez que se hayan seleccionado los programas se presiona la tecla Enter en el botn de Aceptar. Despus aparecern pantallas como las siguientes, nos se nos pedir una contrasea para mysql:

Se deben de instalar algunas libreras necesarias:

# apt-get install debhelper libltdl3-dev libpam0g-dev libmysqlclient15dev build-essential libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotoolsdev dpatch libperl-dev libtool dpkgdev libpq-dev libsnmp-dev libssl-dev Es necesario reiniciar el sistema. Ahora se verificara que el servidor Apache funcione correctamente. Se debe de abrir un navegador Web e ingresar en la barra de direcciones la URL:

localhost, para poder comprobar que el servidor Apache ya se est ejecutando. Si el servidor apache se est ejecutando de manera correcta y que est corriendo en el sistema, aparece un mensaje como el que muestra la siguiente imagen:

Se puede verificar que Php se configuro de manera correcta, es creando el siguiente scrip utilizando el comando: # gedit /var/www/info.php

Se abrir la ventana del editor y se coloca el siguiente cdigo que mostrar informacin acerca de PHP: Probando php

Algo importante es verificar que Php funcione correctamente. En la barra de direcciones se escribe localhost/info.php, y se mostrara una ventana como la siguiente:

Instalacin y configuracin del Chillispot: Se debe instalar el Chillispot mediante el comando:

# apt-get install chillispot

En el proceso de la instalacin de chillispot, se requiere alguna informacin, que es necesario que funcione correctamente. El primer dato que se requiere es la direccin Ip del server radius, que para este caso ser la direccin 127.0.0.1, como se muestra en la siguiente imagen:

Es seguida se requiere una contrasea que para este caso es ubuntu. Que es una contrasea compartida entre el chillispot y el Radius.

Enseguida aparecer una nueva pantalla que solicita la interfaz sobre la cual Chillispot aplicara los servicios solicitados DHCP que asigna las direcciones IP de los clientes que estn solicitando dichos servicios.

Como se pudo apreciar en la imagen la interfaz Ethernet es la etiqueta eth0.

Despus se necesita la direccin del servidor que este caso es la direccin:

https:// 10.255.255.1/cgi-bin/hotspotlogin.cgiSe requiere de cierto soporte para manejar conexiones encriptados durante la autenticacin de los usuarios. Ms adelante se creara el archivo el archivo cgi correspondiente. A continuacin se solicita la URL de la pgina de inicio, sta pgina ser la que se muestre a los clientes en el explorador antes de loguearse. Ingresamos la URL:

https://10.255.255.1/welcome.htmlEnseguida vuelve a pedir la contrasea, anteriormente trabajaremos ubuntu. como ya se menciono

Una vez concluido la instalacin del Chillispot, la configuracin que se pidi anteriormente se guarda en un archivo, que recibe el nombre de chilli.conf, y se puede acceder a el mediante el comando:

# gedit /etc/chilli.conf En dicho archivo se debe verificar que contenga la misma informacin que a continuacin se muestra:

interval 3600 net 100.0.0.0/24 dns1 200.33.148.193 dns2 200.33.148.193 domain key.chillispot.org radiusserver1 127.0.0.1 radiusserver2 127.0.0.1 radiussecret ubuntu dhcpif eth0 lease 600 uamserver https://10.255.255.0/cgi-bin/hotspotlogin.cgi uamhomepage https://10.255.255.1/welcome.html uamsecret ubuntu uamallowed www.itc.mx,100.0.0.1,200.33.148.193

De ser necesario se deben descomentar (quitar el smbolo de #) las lneas que lo requieran para que la configuracin del Chillispot no cause ningn problema. Algunas etiquetas son opcionales pero se recomienda que las mencionadas estn activas en el mismo archivo viene una descripcin de cada una de ellas. Por mencionar alguna, en la etiqueta 'uamallowed' podemos situar los sitios o direcciones IP sobre las cuales los clientes de la red interna puedan acceder sin previa autenticacin, el algunos tutoriales mencionan que es importante incluir las direccion IP de la interfaz del servidor Chillispot adems de la IP del DNS. Estuve probando sin estas IP's. Es necesario estar conectado a internet cuando se reinicie el demonio del Chillispot y estar seguro de que la configuracin del DNS este correctamente configurado, esto se logra descomentado la variable uamallowed.

Para habilitar el servicio del chillispot accesanod aun archivo, mediante el comando:

# gedit /etc/default/chillispot En este archivo solo se debe de verificar que la variable de ENABLED contenga el valor de 1, es decir: ENABLED=1

Instalacin y configuracin de freeradius con MySQLPara lograr este objetivo necesitaremos instalar algunos paquetes a travs de los comandos:

# apt-get install freeradius # apt-get install freeradius-mysql

Con estos dos paquetes ya instalados se realizara la configuracin para enlazar freeradius con MySQL. FreeRadius ofrece dos formas de configurar los usuarios y sus respectivas contraseas: 1) Desde el archivo de usuarios que posee freeradius /etc/freeradius/users. Por lo cual probaremos esta opcin editando el archivo con ayuda del siguiente comando: # gedit /etc/freeradius/clients.conf

Lo primero que revisaremos ser la etiqueta secret de la seccin client localhost tenga la contrasea compartida entre los servidores. Ahora agregaremos las siguientes lneas que se muestran para tener el usuario Jhon Doe. Guardamos los cambios y cerramos el archivo. A continuacin recargaremos el demonio del freeradius para que actualice el archivo de usuarios que utiliza con el siguiente comando: # /etc/init.d/freeradius force-reload Al actualizar el archivo debemos detener el demonio con el siguiente comando: # /etc/init.d/freeradius stop

Para realizar la prueba de que modificamos correctamente el archivo y tenemos un usuario, necesitamos poner el freeradius en modo de depuracin con ayuda del comando: # freeradius -XXX

Si la instalacin y la configuracin de freeradius es correcta; podremos observar en la terminal que nos muestra en la ltima lnea la fecha y hora actual, adems de la frase Ready to process requets. Necesitaremos abrir otra terminal y realizaremos la peticin de autorizacin para nuestro usuario John Doe con el comando: $ sudo radtest John Doe hello 127.0.0.1 1812 ubuntu NOTA: radtest es un comando que nos ayuda a probar el servidor, necesita los parmetros nombre de usuario y su respectiva contrasea. Adems de estos datos necesitara la direccin IP del servidor, en este caso, es la misma mquina por eso colocamos 127.0.0.1; a continuacin se coloca el puerto por el cual el servidor escucha las peticiones 1812 y la contrasea compartida entre los servidores. Si el servidor acepta la peticin y le da autorizacin al usuario, obtendremos la siguiente respuesta Access-Accept: Si por alguna razn nos enva un mensaje con Access-Reject, nos indica que debemos revisar la configuracin de freeradius realizando los pasos anteriores.

Ahora que la prueba fue correcta cerramos la segunda terminal donde realizamos la peticin, por consiguiente detendremos el modo de depuracin de freeradius en la primera terminal con la ayuda de la teclas CTRL + C. 2) A travs de la conexin con un servidor de base de datos, en este caso utilizaremos MySQL. Para lo cual cambiaremos la autorizacin de freeradius con los siguientes pasos: Comenzaremos con la creacin de la base de datos donde almacenaremos los usuarios. Le daremos el nombre de radius y un usuario que utilizara para acceder a la base de datos freeradius. En la terminal nos conectaremos al servidor de MySQL con el siguiente comando: #mysql u root p Nos solicitara la contrasea de MySQL: Enter password: ubuntu Creamos la base de datos con la siguiente instruccin de MySQL: mysql> CREATE DATABASE radius; Ahora cerramos la conexin con MySQL con la instruccin: mysql> quit Ahora necesitaremos agregar algunos archivos que contienen las sentencias para crear las tablas que conformaran la base de datos radius, para realizar esto nos ubicaremos en el directorio /etc/freeradius/sql/mysql con el comando: # cd /etc/freeradius/sql/mysql/ Los archivos que necesitaremos de este directorio son admin.sql, ippool.sql, nas.sql y schema.sql; para agregarlos al motor de MySQL ejecutaremos los siguientes comandos: #mysql -u root -p radius < admin.sql #mysql -u root -p radius < ippool.sql #mysql -u root -p radius < nas.sql #mysql -u root -p radius < schema.sql

Si el motor nos devuelve algn error deberemos verificar que existan en el directorio correspondiente. A continuacin observaremos si las tablas se han creado correctamente en la base de datos radius, con los siguientes comandos: Acceso al manejador de base de datos MySQL: mysql -u root p Nos solicita la contrasea: Enter password: ubuntu Indicamos que la base de datos a utilizar: mysql> use radius; Solicitamos las tablas de dicha base de datos: mysql> show tables; Nos mostrara una tabla como la siguiente:

Ahora salimos del motor de base de datos MySQL con el comando: mysql> quit Para continuar con la configuracin necesitamos editar el siguiente archivo /etc/freeradius/sql.conf con el siguiente comando: # gedit /etc/freeradius/sql.conf

Dentro del archivo buscaremos las siguientes etiquetas para lograr la conexin de freeradius con MySQL, los datos dependern de la configuracin anterior; en este caso localhost por que es en la misma mquina donde se encuentra el archivo, usu es el usuario con el que freeradius se conectar con MySQL, ubuntu es la contrasea con la que acceder y radius es la base de datos a la que acceder. Por lo cual las etiquetas quedaran as: server = localhost login = usu password = ubuntu radius_db = radius Ahora debemos descomentar la etiqueta para la lectura de clientes desde una base de datos: readclient = yes Guardamos los cambios y cerramos el archivo. En este momento le indicaremos a freeradius que la autorizacin se realizara con base en los usuarios que tenemos en nuestra base de datos radius que se encuentra en MySQL. Para esto necesitamos acceder al archivo /etc/freeradius/sites-available/default con el comando: # gedit /etc/freeradius/sites-available/default

Buscaremos las secciones authorize{ }, accounting{ }, session{ } y postauth{ } donde descomentaremos la variable sql de cada una de estas secciones, con lo cual le indicaremos que obtendr los datos de los usuarios desde las tablas de la base de datos radius y as mismo nos permitir guardar informacin de los inicios de sesin de cada usuario. authorize { preprocess chap mschap suffix eap sql pap } accounting { detail sql } Guardamos los cambios y cerramos el archivo. En seguida entraremos al archivo /etc/freeradius/radius.conf para descomentar la lnea $INCLUDEsql.conf con el comando: # gedit /etc/freeradius/radiusd.conf

Guardamos los cambios y cerramos el archivo. Ahora crearemos el usuario que utilizara freeradius para conectarse con MySQL con los siguientes comandos: Accedemos al motor de MySQL: #mysql -u root p Nos solicita la contrasea: Enter password:ubuntu

Creamos el usuario usu con la contrasea ubuntu con todos los privilegios sobre la base de datos radius: mysql> GRANT ALL PRIVILEGES ON radius.* TO usu@localhost IDENTIFIED BY ubuntu; Ahora refrescaremos la tabla de privilegios del servidor de base de datos, para que nos permita hacer los accesos necesarios a la base de datos con el siguiente comando: mysql> FLUSH PRIVILEGES; Ahora insertaremos un usuario en la base de datos radius para que se pueda realizar la peticin con dicho usuario: mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES('cecy','Password', 'ubuntu'); Hay que comprobar que el usuario se haya insertado correctamente para lo cual usamos el comando: mysql> select * from radcheck where UserName='cecy';

Ahora salimos del motor de base de datos MySQL con el comando: mysql> quit

Es tiempo de probar el funcionamiento de freeradius con nuestro manejador de base de datos MySQL. A continuacin recargaremos el demonio del freeradius para que actualice el archivo de usuarios que utiliza con el siguiente comando: # /etc/init.d/freeradius force-reload

Al actualizar el archivo debemos detener el demonio con el siguiente comando: # /etc/init.d/freeradius stop Para realizar la prueba de que modificamos correctamente el archivo y tenemos un usuario, necesitamos poner el freeradius en modo de depuracin con ayuda del comando: # freeradius XXX

Abriremos una segunda terminal en la cual realizaremos la peticin con ayuda del comando: $ sudo radtest cecy ubuntu 127.0.0.1 1812 ubuntu NOTA: Recordemos que radtest es un comando que nos ayuda a probar el servidor, necesita los parmetros nombre de usuario y su respectiva contrasea. Adems de estos datos necesitara la direccin IP del servidor, en este caso, es la misma mquina por eso colocamos 127.0.0.1; a continuacin se coloca el puerto por el cual el servidor escucha las peticiones 1812 y la contrasea compartida entre los servidores. Si el servidor acepta la peticin y le da autorizacin al usuario, obtendremos la siguiente respuesta Access-Accept: Si por alguna razn nos enva un mensaje con Access-Reject, nos indica que debemos revisar la configuracin de freeradius realizando los pasos anteriores. Ahora que la prueba fue correcta cerramos la segunda terminal donde realizamos la peticin, por consiguiente detendremos el modo de depuracin de freeradius en la primera terminal con la ayuda de la teclas CTRL + C.

Configuracin de Apache2 para SSLEl primer paso que realizaremos ser instalar el modulo de apache2 para la autenticacin de MySQL, para lo cual tecleamos en la terminal el comando:

# apt-get install libapache2-mod-auth-mysql Cuando tenemos el mdulo instalado podemos utilizar dos comandos: 1) a2enmod que nos permite habilitar un determinado mdulo. 2) A2dismod que nos permite deshabilitar un mdulo. Como recordaremos ya habamos instalado LAMP por lo cual procederemos a crear un certificado de seguridad que nos ayudara para realizar conexiones seguras que nos solicita Chillispot. Ahora necesitamos instalar el paquete ssl-cert para lo cual utilizaremos el siguiente comando: # apt-get install ssl-cert

Creacin del certificadoEn este momento necesitaremos crear un directorio en el cual vamos a almacenar el certificado, por lo cual nos ayudaremos del comando: # mkdir /etc/apache2/ssl Ahora para crear nuestro certificado necesitaremos conocer el nombre de nuestra maquina servidor; sino lo conocemos podemos utilizar un sencillo comando para obtenerlo, para este tecleamos: # hostname -f A continuacin crearemos el certificado debemos tener a la mano el nombre de la maquina servidor ya que no lo solicitara. Utilizaremos el siguiente comando: # make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem Ingresamos el nombre de host o maquina servidor.

Habilitar el modulo SSLAl habilitar el modulo SSL agregamos la capacidad de utilizar comunicaciones encriptadas al servidor Apache2, esta caracterstica la utilizara el Chillispot y podremos constatarla cuando en nuestro navegador observemos que hacemos uso del prefijo https:// para acceder a un sitio. Para habilitar el mdulo tecleamos el siguiente comando: # a2enmod ssl Para saber que todo funcionara bien verificaremos que Apache2 este escuchando las peticiones de conexiones http por el puerto 80 y que

escuche las peticiones de conexiones https por el puerto 443. Para lo cual revisaremos el archivo /etc/apache2/ports.conf con el siguiente comando: # gedit /etc/apache2/ports.conf ************************************

Creamos y habilitamos el sitio SSLPara crear el archivo etc/apache2/sites-available/ssl habilitaremos SSL utilizamos el siguiente comando: # gedit /etc/apache2/sites-available/ssl donde

Con el archivo abierto copiaremos y pegaremos la siguiente estructura: NameVirtualHost *:443 ServerAdmin webmaster@localhost SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem DocumentRoot /var/www/ Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place # Commented out for Ubuntu #RedirectMatch ^/$ /apache2-default/ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg.

LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Cuando tengamos toda la estructura en el archivo guardaremos los cambios y cerraremos el editor. Ahora tenemos que habilitar el sitio con la ayuda del siguiente comando: # a2ensite ssl A continuacin reiniciaremos apache2 para que actualice los cambios realizados con el siguiente comando: # /etc/init.d/apache2 force-reload Si al tratar de reiniciar el servicio de apache2, debemos verificar que hayamos realizado correctamente los pasos anteriores. NOTA: Si al reiniciar el servicio nos marca un error de nombre del servidor podemos editar el archivo /etc/apache2/apache2.conf en el cual agregaremos la lnea ServerName 100.0.0.1 con el comando: # gedit /etc/apache2/apache2.conf Guardamos los cambios y cerramos el editor. Volvemos a reiniciar apache.

Creacin del archivo cgiEl archivo cgi, es aquel que el usuario visualizara al momento de abrir algn navegador, al momento de que desee iniciar sesin, y guardara los datos del usuario. El chillispor ahorra un poco de trabajo, pues el archivo ya contiene la estructura principal, solo se necesita realizar algunos ajustes, los cuales se mencionan a continuacin: 1. Primero se copia el archivo comprimido con el comando:# cp /usr/share/doc/chillispot/hotspotlogin.cgi.gz /usr/lib/cgi-bin

2. Enseguida es necesario descomprimir el archivo, mediante el comando: # gunzip /usr/lib/cgi-bin/hotspotlogin.cgi.gz 3. Se le debe asignar los permisos al archivo previamente descomprimido: # chmod 755 /usr/lib/cgi-bin/hotspotlogin.cgi 4. Se Deben realizar algunas modificaciones al archive mediante el comando: # gedit /usr/lib/cgi-bin/hotspotlogin.cgi 5. Se deben configurar las variables $uamsecret y $userpassword como se muestra en la imagen siguiente: ***************************************** 6. Para concluir en necesario guardar y cerrar el archivo.

Creacin de la pgina de inicioPara la creacin de la pgina de inicio se debe crear un archivo con el nombre de welcome.html, esto se logra con el comando: # gedit /var/www/welcome.html Aparecer una ventana como la siguiente: ********************************************************* En ella se debe copiar el siguiente codigo: Click here to login and agree to the terms below This is a private network. This network, including all related equipment,
networks, and network devices (specifically including Internet access) are
provided only for authorized use.

Use of this network, authorized or unauthorized, constitutes consent

to monitoring of this network. Unauthorized use will subject you to criminal
prosecution. Evidence of unauthorized use collected during monitoring may be
used for administrative, criminal, or other adverse action. Use of this system
constitutes consent to monitoring for these purposes.
Para concluir, se guarda y se cierra el archivo.

Creacin de los iptablesPara la creacin de los iptables es necesario crear un archivo mediante el comando: # gedit /etc/init.d/chilli.iptables Al ejecutar el comando aparece una ventana como la siguiente: ********************************** En la cual se debe copiar el siguiente cdigo: #!/bin/sh # # Firewall script for ChilliSpot # A Wireless LAN Access Point Controller # # Uses $EXTIF (eth0) as the external interface (Internet or intranet) and # $INTIF (eth1) as the internal interface (access points). # # # SUMMARY # * All connections originating from chilli are allowed. # * Only ssh is allowed in on external interface. # * Nothing is allowed in on internal interface. # * Forwarding is allowed to and from the external interface, but disallowed # to and from the internal interface. # * NAT is enabled on the external interface. #Added by Ransomed to enable ip_forwarding echo 1 > /proc/sys/net/ipv4/ip_forward IPTABLES="/sbin/iptables"

EXTIF="eth2" INTIF="eth0" $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT #Allow related and established on all interfaces (input) $IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #Allow releated, established and ssh on $EXTIF. Reject everything else. $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -j DROP #Allow related and established from $INTIF. Drop everything else. $IPTABLES -A INPUT -i $INTIF -j DROP #Allow http and https on other interfaces (input). #This is only needed if authentication server is on same server as chilli $IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT $IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT #Allow 3990 on other interfaces (input). $IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT #Allow everything on loopback interface. $IPTABLES -A INPUT -i lo -j ACCEPT # Drop everything to and from $INTIF (forward) # This means that access points can only be managed from ChilliSpot $IPTABLES -A FORWARD -i $INTIF -j DROP $IPTABLES -A FORWARD -o $INTIF -j DROP #Enable NAT on output device $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE Se debe tener mucho cuidado con las interfaces, como la exterior (EXTIF) que se le asignan a la etiqueta eth2, pues es la que se conectara a internet. Como la interior (INTIF) que se le asigna la etiqueta eth0. Que para nuestro son la eth2 y eth0. Para terminar se debe guardar y cerrar el archivo. Tambin es necesario asignar los permisos al archivo mediante el comando: # chmod 700 /etc/init.d/chilli.iptables Se debe crear un enlace para que el archivo se ejecute al iniciar el sistema, mediante el comando: # ln -s /etc/init.d/chilli.iptables /etc/rcS.d/S40chilli.iptables Ejecutamos el script para configurar las iptables # /etc/init.d/chilli.iptables

Para concluir solo se reinician los servicios mediante los comandos: # /etc/init.d/apache2 force-reload # /etc/init.d/freeradius force-reload # /etc/init.d/chillispot force-reload

Probar el servidor.Ahora, es necesario conectar la maquina servidor con la maquina del cliente mediante un cable cruzado. No se olvide que el servidor debe de tener acceso a internet. Lo primero que se debe hacer es abrir un explorador, que para nuestro caso es Internet Explorer, y mostrara la ventana de certificacin, como a continuacin se muestra:

Al darle en el botn de Si, desplegara una ventana como se muestra a continuacin:

Se da clic en la liga para la autenticacin, y desplegara la ventana donde el usuario se debe autenticar, e ingresar su usuario y contrasea:

Una vez que se introdujo el usuario y contrasea de manera correcta se puede tener acceso a internet. INSTALACIN DE DALORADIUS. Daloradius es un programa que trabaja mediante una interfaz web, que da la opcin de administrar la base de datos de los usuarios que maneja freeradius, para que esto pueda ser posible, es necesario instalar el daloradius y configurar. Para esto es necesario entrar como superusuario o root, que esto ya se menciono anteriormente. Primeramente se debe abrir una terminal y se debe bajar un paquete con el comando: wgethttp://softlayer.dl.sourceforge.net/project/daloradius/daloradius /daloradius-0.9-8/daloradius-0.9-8.tar.gz

En la siguiente pantalla se puede visualizar que la descarga del paquete ha finalizado:

Si se ingresa el comando Is:

Se puede ver el archivo daloradius-0.9-8.tar.gz:

Es cual se debe descomprimir con el comando: tarxvzfdaloradius-0.9-8.tar.gz

En seguida el archivo se debe copiar bajo el directorio de publicacin del servidor web. Se debe tener cuidado con la distribucin del sistema operativo con el que se est trabajando, para este caso recuerde que es Ubuntu 9.10, entonces el directorio de publicacin es: /var/www/. Y se debe teclear el siguiente comando: cp daloradius-0.9-8 /var/www/daloradius -R

Como ya se tiene instalado Apache2 se debe instalar algunas libreras con el comando:

apt-get install php5 php5-mysql php-pear php5-gd php-DB

En el transcurso de la instalacin se hace una pregunta, la respuesta a esta de ser si:

Es necesario cambiar los permisos y propiedades del directorio de daloradius con el comando:

chownwww-data:www-data /var/www/daloradius/ -R

Se cambian los permisos con el comando: chmod 644 /var/www/daloradius/library/daloradius.conf.php

Para que Daloradius funcione correctamente, se requiere agregar algunas tablas ms a la base de datos de MySQL. Estas tablas ya estn incluidas

en el directorio de DaloRadius, por lo que solo es necesario ejecutar el siguiente comando: mysql -u root -p radius< /var/www/daloradius/contrib/db/fr2-mysqldaloradius-and-freeradius.sql

Es necesario ingresar el password:

Se podr apreciar que se muestran errores en la ejecucin del comando antes mencionado:

Para este error se denem borrar las tablas que se tenan anteriormente con el comando de mysql: drop table nombre_tabla

Una vez que se hayan eliminado todas las tablas se pude apreciar que ya no marca el error que entes marcaba.

Pero para esto es necesario ejecutar nuevamente el comando:

Se ejecuta el comando para mostrar las nuevas tablas:

Se debe editar el archivo daloradius.conf.php, posteriormenete agregar los valores que conectaran al servidor de la base de datos. Esto de logra con el siguiente comando: gedit /var/www/daloradius/library/daloradius.conf.php

Una vez ejecutado el comando anterior, aparece un archivo:

En el cual se debe de verificar los siguientes comandos: $configValues['CONFIG_DB_ENGINE'] = 'mysql'; $configValues['CONFIG_DB_HOST'] = '127.0.0.1'; $configValues['CONFIG_DB_USER'] = 'freeradius'; $configValues['CONFIG_DB_PASS'] = 'mysuperpassword'; $configValues['CONFIG_DB_NAME'] = 'radius'; Los comandos anteriores se refieren a motor de la base de datos, como: La direccin donde se encuentra el servidor de la base de datos. El usuario de la base de datos. El password del usuario. El nombre de la base de datos.

El archivo tambin tiene referencias a cada una de las tablas que verifican que los nombres corresponden con las tablas creadas en MySQL. Es importante reinicir el servidor apache mediante el comdando: /etc/init.d/apache2 restart

Como ya se instalo todo lo necesario para usar el daloradius, se puede acceder a la interfaz grafica, introduciendo la siguiente direccin http://localhost/daloradius en la barra de direcciones de un explorador. La interfaz grafica en la siguiente:

Para accede, entramos con el usuario Administrador y el password radius. Y aparece una ventana como la siguiente:

Se puede apreciar que se pueden hacer varias acciones, como crear un nuevo usuario. INSTALACIN DE SQUID Squid es un servidor proxy cache que se instala de la siguiete manera: apt-get install squid Como se puede mostrar en la siguiente imagen:

Aparece una pregunta como la siguiente:

Se debe responder de manera positiva, es decir, se debe teclear s. una vez instalado el squid, se podr visualizar un mensaje como se puede apreciar en la siguiente imagen.

Una vez instalado, se debe de configurar el archivo de configuracin, con el siguiente comando: gedit /etc/dansguardian/dansguardian.conf Se debe cambiar y descomentar la siguiente linea acl localnetsrc 10.0.0.0/24

En este caso, se una la direccin 10.0.0.0/24, debido a que es la direccin de la red que se est usando. En el archivo de configuracin se debe de verificar que las siguientes lneas estn sin comentar. http_access allow localnet

icp_access allow localnet

http_port 3128 transparent

cache_mem 16 MB

Si es necesario se debe de cambiar los 8 MG por 16 MB

cache_dir ufs /var/spool/squid 700 16 256

Si en necesario de deben cambiar los valores como se muestra en la imagen.

Ahora solo es cuestin de reiniciar el servicio de squid, con el siguiente comando /etc/init.d/squidrestart

INSTALACIN Y CONFIGURACIN DE DANSGUARDIAN

Dansguardian es un filtro de contenido que junto con un servidor proxy, Squid en nuestro caso, controla el acceso a diversos contenidos de internet desde paginas, tipos de archivos y frases que se colocan en un buscador. En primer lugar vamos a instalar Dansguardian en nuestra mquina, desde un terminal tecleamos el siguiente comando:

#aptitudeinstalldansguardian Una vez instalado dansguardian, realizaremos algunas configuraciones. Para necesitamos abrir el fichero /etc/dansguardian/dansguardian.conf. Con ayuda del siguiente comando:

#gedit /etc/dansguardian/dansguardian.conf En primer lugar vamos a ponerlo en castellano, buscamos la directiva language, y modificamos su valor:

languaje: = spanish Ahora vamos a comentar una lnea del archivo, en la que indicamos a Dansguardian que ya lo hemos configurado, el hecho de no comentar esta lnea supone un modesto recordatorio cuando reiniciamos Dansguardian.

# UNCONFIGURED - Please remove this line after configuration Modificamos la siguiente linea en el mismo archivo:

filterport: = 8080

Define el puerto que usar Dansguardian para filtrar

proxyip: = 127.0.0.1 Indica cual es la direccin ip de nuestro proxy, en este caso es la misma maquina

proxyport = 3128

El puerto en que escucha nuestro proxy Para restringir contenidos tenemos varios archivos para configurar, acontinuacin examinaremos algunos de ellos. Para denegar el acceso a sitios web editamos el fichero bannedsitelist, con el siguiente comando:

#gedit /etc/dansguardian/lists/bannedsitelist En el cual slo es cuestin de agregar el sitio web que queremos prohibir.

Para prohibir la descarga de archivos con cierta extensin editamos el archivo bannedextensionlist; con el siguiente comando:

#gedit /etc/dansguardian/lists/bannedextensionlist De igual manera es cuestin de descomentar la extensin de los tipos de archivos que se desea prohibir.

Para denegar el acceso a paginas con determinada frase o palabra editamos el archivo bannedphraselist, con el siguiente comando:

#gedit /etc/dansguardian/lists/bannedphraselist Ahora se agrega la palabra que deseamos bloquear en una pgina por ejemplo .

Ahora solo es cuestin de detener el servicio si esta activo y volverlo a activar para que los cambios surtan efecto con el siguiente comando: # /etc/init.d/dansguardian stop

# /etc/init.d/dansguardian startINSTALACIN Y CONFIGURACIN DIBBLER Dibbler es un servidor dhcp ipv6 que corre bajo plataformas linux. Para instalarlo: #apt-get install dibbler-server #apt-get install dibbler-client #apt-get install dibbler-relay Nos aseguramos de que existan las carpetas: /var/lib/dibbler /etc/dibbler A continuacin editamos el archivo, en caso de que no exista lo creamos: gedit /etc/dibbler/server.conf Si exista el archivo borramos todo su contenido y colocamos en su lugar: log-level 7 log-mode short iface eth0 { T1 1000 T2 2000 class { pool 2001:db8:1234:5678::10-2001:db8:1234:5678:ffff:ffff:ffff:ffff } option dns-server 2001:db8:1::2,2001:db8:1::4 option domain example.com,test1.example.com } Las direcciones proporcionadas estarn en el rango 2001:db8:1234:5678::/64 a partir de la 2001:db8:1234:5678::10

Arrancamos el servidor dhcpv6 con el comando: #dibbler-server run[start] Enseguida crearemos o modifaremos el archivo client.conf con el siguiente comando: #gedit /etc/dibbler/client.conf Borramos todo lo que se encuentre en este archivo y colocamos lo siguiente: log-level 7 iface eth0 { IA option dns-server option domain } Esta configuracin nos permite obtener una direccin IPv6, los servidores dns y un nombre de dominio. Arrancamos el cliente dhcpv6 con el comando: #dibbler-client run[start]

INSTALACIN Y CONFIGURACIN APACHE IPV6 Contando con el servidor Apache instalado, el primer paso es indicarle que escuche pedidos HTTP en un socket IPv6. Se entra como sper usuario en una terminal, y se teclea el comando: nautilus Se debe modificar el archivo /etc/apache2/sites-enabled/000-default A final del archivo agregaremos lo mismo:

Se observa que la direccin debe ir entre corchetes "[" para separar el puerto, debido a que IPv6 utiliza dos puntos ":" en lugar de punto "." en las direcciones IP. En este caso se eligi el puerto 8008. Luego debe reiniciarse el servidor Apache para que utilice la nueva configuracin: $ sudo /etc/init.d/apache2 restart

Se puede comprobar, haciendo una pgina de prueba y escribiendo el nombre despus de la direccin, como se puede apreciar a continuacin:

Fuentes consultas.http://www.soportejm.com.sv/kb/index.php/article/daloradius https://help.ubuntu.com/community/WifiDocs/ChillispotHotspot https://www.jransomed.com/mywiki/Linux/Chillispot