Vous êtes sur la page 1sur 20

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA ELECTRICA REDES DE COMPUTADORA (RDC-115) CICLO I-2012

TAREA 1:

Implementacin de un servidor de Radius con gestin web: FreeRadius + daloRadius


DOCENTE: Ing. Carlos Osmin Pocasangre. ALUMNOS: Manfred Mauricio Gonzlez Romero Daniel Alejandro Flores Abrego Marvin Ivan Hernndez Vzquez Carlos Mauricio Rodrguez Cruz

Ciudad Universitaria, 20 de Abril del 2012.

RADIUS (acrnimo en ingls de Remote Authentication Dial-In User Server). Es un protocolo de autenticacin y autorizacin para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1812 UDP para establecer sus conexiones.

Cuando se realiza la conexin con un ISP mediante mdem, DSL, cablemdem, Ethernet o Wi-Fi, se enva una informacin que generalmente es un nombre de usuario y una contrasea. Esta informacin se transfiere a un dispositivo Network Access Server (NAS) sobre el protocolo PPP, quien redirige la peticin a un servidor RADIUS sobre el protocolo RADIUS.

El servidor RADIUS comprueba que la informacin es correcta utilizando esquemas de autenticacin como PAP, CHAP o EAP. Si es aceptado, el servidor autorizar el acceso al sistema del ISP y le asigna los recursos de red como una direccin IP, y otros parmetros como L2TP, etc. Una de las caractersticas ms importantes del protocolo RADIUS es su capacidad de manejar sesiones, notificando cuando comienza y termina una conexin, as que al usuario se le podr determinar su consumo y facturar en consecuencia; los datos se pueden utilizar con propsitos estadsticos.

En esta entrega vamos a ver cmo montar un servidor RADIUS con gestin Web para nuestra infraestructura. Con la integracin de este servicio conseguiremos unificar en un lugar todas las peticiones de autenticacin que se producen a travs de los distintos dispositivos que soportan este protocolo.

FREERADIUS : Es un open sourcer raduis server, entre sus principales caractersticas esta la facilidad de usar un software de base de datos como openLDAP, MYSQL, Postgresql, Oracle y soporta varios protocolos de autenticacin.

A continuacin se describen los pasos necesarios para la instalacin, configuracin y la puesta en marcha del del servidor Radius:

Primero instalaremos los servicios necesarios para el uso y la gestion de freeradius. #sudo apt-get install mysql-server mysql-client phpmyadmin php5 phppear php5-gd php-DB Luego instalaremos freeradius y la integracin de este con mysql:

#sudo apt-get install freeradius freeradius-mysql En caso de que los servicios no iniciaran de manera automtica despues de la instalacin, estos se puede lograr de la siguiente forma: #sudo /etc/init.d/apache2 start #sudo /etc/init.d/mysql start #sudo /etc/init.d/freeradius start Se realiza un procedimiento similar para o reiniciar los servicios sustituyendo la palabra start por stop o restart segn sea el caso.

NOTA: recordar que cada vez que se modifica un archivo de configuracin, es necesario reiniciar el servicio al cual pertenece ese archivo para que los cambios surtan efecto.

Con esto ya podemos hacer pruebas en nuestro servidor radius, mediante la creacin o el uso de algn usuario que se encuentran en el archivo de texto plano llamado users. Antes que nada nos ingresamos como usuario root; Seguidamente nos cambiamos al directorios donde se encuentran los archivos de configuracin: #sudo -s #cd /etc/freeradius

Para realizar un prueba utilizamos el comando radtest de la siguiente manera: #radtest redes123 1234 192.168.0.103 1812 testing123 Password para consultar a radius

Usuario

Password

IP

Puerto

El resultado esperado es Access-Accept como se muestra en la siguiente captura:

Si todo sale bien, procederemos a la integracin de radius con mysql; para que radius consulte la lista de usuarios en una base de datos. Creamos la base de datos en mysql. #mysql -u root -p mysql>CREATE DATABASE radius mysql>quit

Ahora crearemos las tablas necesarias para radius. Nos desplazamos al directorio que contiene los scripts para crear las tablas. #cd /etc/freeradius/sql/mysql

para crear las tablas hacemos lo siguiente:

#mysql -u root -p radius < nas-sql #mysql -u root -p radius < schema.sql

Si no nos muestra nada en ninguno de los dos casos la creacin de las tablas fue exitosa. Ahora que tenemos creadas las tablas nos regresamos a la carpeta de freeradius y ahi modificaremos el archivo sql.conf. En el cual se configuran los parmetros con los cuales freeradius se conectara a la base de datos de mysql. #gedit sql.conf & Buscamos la seccin mostrada y en el Apartado de login colocamos el usurio con El que se ingresara a la base de datos. Y el apartado de password la contrasea De este usuario.

Casi al final del archivo tambin descomentamos la linea: Readclients = yes

Nota: Es recomendable que el usuario que se conecta a la base de datos sea diferente al root, y que este tenga privilegios sobre la base de datos radius. Esto se hace de la siguiente manera: Mysql> grant all on radius.* to 'usuario'@'localhost' identified by 'password_user'; Ahora modificaremos el archivo radiusd.conf

#gedit radiusd.conf &

En el archivo buscamos la la linea donde diga $INCLUDE sql.conf y la descomentamos as como aparece en la captura:

Luego editamos los archivos inner-tunel y default que se encuentran en el directorio sitesavailables: #cd /etc/freeradius/sites-availables #gedit default inner-tunel & En ambos archivos descomentamos todas las lineas que posean la palabra sql como se muestra en la captura.

Ahora configuraremos el archivo clients.conf que esta en el directorio de freeradius. Es este archivo incluiremos la informacin de los router, access point y tambien para la prueba localla direccin ip de la maquina servidora. #gedit clients.conf & En el apartado secret se coloca el password con el cual el router, access point, etc harn las consultas a radius.

Con esto terminamos la configuracin de nuestro servidor radius. Ahora crearemos usuarios en la base de datos radius en la tabla radcheck. Esto se puede realizar de tres maneras; se puede ingresar al interprete de comando de mysql y hacer todo desde linea de comando. Se puede hacer mediante el uso del administrador va navegador web phpmyadmin o mediante el uso de daloradius, que es el mas fcil de todos, pero este sera utilizara despus. Entonces para facilitar las cosas utilizaremos phpmyadmin.

Abrimos un navegador web y en la barra de url ingresaremos de la siguiente manera: http://localhost/phpmyadmin o con la ip de la maquina donde se estn ejecutando los servicios que en nuestro caso es: 192.168.0.103/phpmyadmin. Al ingresar veremos lo siguientes campos donde ingresaremos el usuario y la contrasea para entrar a la base de datos.

Elegimos la base de datos de radius

Elegimos la tabla radcheck

Le damos insertar para crear un nuevo usuario

Lista de usuarios existentes en la base de datos.

Nombre de usuario

Cleartext-password

:= password

Creamos tantos usuarios como queramos de esta forma. Ahora podemso realizar una prueba con radtest para ver si lee a los usuarios desde la base de datos.

#radtest man3b1 1234 192.168.0.103 1812 testing123-2

Como no tenemos errores ahora procederemos a instalar daloradius. DaloRADIUS es una plataforma de RADIUS web avanzada dirigida a la gestin de puntos de acceso y de uso general despliegues ISP. DaloRADIUS est escrito en PHP y JavaScript, y utiliza una capa de abstraccin de base de datos de lo que significa que es compatible con muchos sistemas de bases de datos, entre ellos el popular MySQL, PostgreSQL, SQLite, MSSQL, y muchos otros.

Primero descargamos de la pagina de daloradius la ultima versin de este. En nuestro caso es la daloradius-0.9-9.tar.gz. Nos desplazamos al directorio donde se haya descargado y en una terminal los descomprimimos de la siguiente forma: #tar xvzf daloradius-0.9-9.tar.gz NOTA: Es muy importante descomprimirlo desde la terminal, puesto que si se hace mediante

el gestor de archivadores grfico, no funcionara correctamente.

Copiamos la carpeta desciomprimida la directorio de publicacin de apache: #cp daloradius-0.9-9 /var/www/daloradius -R Ahora cambiamos los permisos y propiedades del directorio de daloradius: #chown www-data:www-data /var/www/daloradius/ -R Cambiamos los permisos del archivo: #chmod 644 /var/www/daloradius/library/daloradius.conf.php Para que Daloradius funcione correctamente, se requiere agregar algunas tablas mas 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 Seguidamente editamos el archivo daloradius.conf.php para poner los valores de la conexin al server de la base de datos:
CONFIG_DB_ENGINE = mysql CONFIG_DB_HOST = 127.0.0.1 CONFIG_DB_USER = radius CONFIG_DB_PASS = labserver

CONFIG_DB_NAME = radius Una vez hecho esto, reiniciamos el apache: #/etc/init.d/apache2 restart Ahora ya podemos accesar al GUI usando el siguiente enlace: http://192.168.0.103/daloradius

Por defecto el usuario y la contrasea son:

Usuario: Administrator

Password: radius

Para ingresar un nuevo usuario nos vamos a Management, despus al costado izquierdo le damos en New User.

Ingresamos los datos en los campos mostrados y lo guardamos. Despus si queremos ver la lista de usuarios le damos en List Users como se muestra en la captura de abajo.

Si queremos agregar muchos usuarios a la vez, nos vamos a la opcin import users. Para ingresar los usuarios se hacen de la siguiente manera: usuari1, password1, usuario2, password2, usuario3, password3, . . . . usuarioN, passwordN,

Y luego le damos Apply, y con esto es se guardan los usuarios.

Con esto esta completo nuestro servidor radius, ahora para montar la infraestructura para que este entre en funcin. En nuestra practica utilizamos una pc funcionando como router mediante m0n0wall (router con portal cautivo), usamos un router configurado como un access point y con una contrasea cifrada en WEP como primera barrera de defensa. En una de las interfases del router esta conectada la WAN y en otra de las interfases especficamente la LAN3 conectamos el router tonto. NOTA: En este reporte no entraremos en detalles como se instala m0n0wall solo su configuracin para que funcione como portal cautivo. Para ingresar a la interfase web de configuracin de m0n0wall lo hacemos utilizando cualquier navegador web he ingresamos la siguiente IP: https://172.16.2.1:10000

En la pantalla pagina principal nos Desplazamos en el muen de la izquierda Hasta la opcin de Captive portal

Interfase donde esta el Router en el router m0n0

Pagina a la que sera redirigido Despues de ingresar.

Seleccionamos IP de nuestro servidor Radius

Puerto de escucha Password para hacer Consultas a radius

En esta opcin uno puede Guardar una pagina web, con Nuestro diseo donde Aparecern los campos de Usuario y password

Para que nuestro servidor radius deje Que le hagan consultas agregamos a Client.conf un nuevo cliente que sera la Direccin IP del router m0n0wall

PRUEBA

Se selecciona la red

Ingresamos el pass del WAP Del router

Cando abrimos un navegador, lo primero que Nos aparece es la pagina diseada para poner El usuario y el password con el que se realizara La consulta a radius y si ellos esta en la base De datos el router no direeciona a www.google.com.sv