servidor freeradius

20
UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA ELECTRICA REDES DE COMPUTADORA (RDC-115) CICLO I-2012 TAREA 1: “Implementación de un servidor de Radius con gestión web: FreeRadius + daloRadius” DOCENTE: Ing. Carlos Osmin Pocasangre. ALUMNOS: Manfred Mauricio González Romero Daniel Alejandro Flores Abrego Marvin Ivan Hernández Vázquez Carlos Mauricio Rodríguez Cruz Ciudad Universitaria, 20 de Abril del 2012.

Upload: manfred-gonzalez

Post on 24-Jul-2015

602 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: servidor freeRadius

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA

ESCUELA DE INGENIERIA ELECTRICA

REDES DE COMPUTADORA (RDC-115)

CICLO I-2012

TAREA 1:

“Implementación de un servidor de Radius con gestión web: FreeRadius + daloRadius”

DOCENTE:

Ing. Carlos Osmin Pocasangre.

ALUMNOS:

Manfred Mauricio González Romero

Daniel Alejandro Flores Abrego

Marvin Ivan Hernández Vázquez

Carlos Mauricio Rodríguez Cruz

Ciudad Universitaria, 20 de Abril del 2012.

Page 2: servidor freeRadius

RADIUS (acrónimo en inglés de Remote Authentication Dial-In User Server). Es un protocolo

de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el

puerto 1812 UDP para establecer sus conexiones.

Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, Ethernet o

Wi-Fi, se envía una información que generalmente es un nombre de usuario y una

contraseña. Esta información se transfiere a un dispositivo Network Access Server (NAS)

sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo

RADIUS.

Page 3: servidor freeRadius

El servidor RADIUS comprueba que la información es correcta utilizando esquemas de

autenticación 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 dirección IP, y otros parámetros

como L2TP, etc. Una de las características más importantes del protocolo RADIUS es su

capacidad de manejar sesiones, notificando cuando comienza y termina una conexión, así

que al usuario se le podrá determinar su consumo y facturar en consecuencia; los datos se

pueden utilizar con propósitos estadísticos.

En esta entrega vamos a ver cómo montar un servidor RADIUS con gestión Web para

nuestra infraestructura. Con la integración de este servicio conseguiremos unificar en un

lugar todas las peticiones de autenticación que se producen a través de los distintos

dispositivos que soportan este protocolo.

FREERADIUS : Es un open sourcer raduis server, entre sus principales características esta

la facilidad de usar un software de base de datos como openLDAP, MYSQL, Postgresql,

Oracle y soporta varios protocolos de autenticación.

A continuación se describen los pasos necesarios para la instalación, configuración 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 php-pear php5-gd php-DB

Luego instalaremos freeradius y la integración de este con mysql:

Page 4: servidor freeRadius

#sudo apt-get install freeradius freeradius-mysql

En caso de que los servicios no iniciaran de manera automática despues de la instalación,

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 según sea el caso.

NOTA: recordar que cada vez que se modifica un archivo de configuración, 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 creación o el

uso de algún 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 configuración:

#sudo -s#cd /etc/freeradius

Page 5: servidor freeRadius

Para realizar un prueba utilizamos el comando “radtest” de la siguiente manera:

#radtest redes123 1234 192.168.0.103 1812 testing123

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

Si todo sale bien, procederemos a la integración 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 -pmysql>CREATE DATABASE radiusmysql>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:

Usuario Password IP Puerto Password para consultar a radius

Page 6: servidor freeRadius

#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 creación 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 parámetros con los cuales

freeradius se conectara a la base de datos de mysql.

#gedit sql.conf &

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 &

Buscamos la sección mostrada y en elApartado de login colocamos el usurio con

El que se ingresara a la base de datos. Y el apartado de password la contraseña

De este usuario.

Casi al final del archivo tambiéndescomentamos la linea:

Readclients = yes

Page 7: servidor freeRadius

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 “sites-

availables”:

#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 información de los router, access point y tambien para la prueba localla

dirección ip de la maquina servidora.

#gedit clients.conf &

En el apartado secret se coloca el password con el cual el router, access point, etc harán las

consultas a radius.

Page 8: servidor freeRadius

Con esto terminamos la configuración 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 vía navegador web phpmyadmin o mediante

el uso de daloradius, que es el mas fácil de todos, pero este sera utilizara después. 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 están 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 contraseña para entrar a la base de

datos.

Page 9: servidor freeRadius

Elegimos la base de datos de radius

Elegimos la tabla radcheck

Page 10: servidor freeRadius

Le damos insertar para crear un nuevo usuario

Lista de usuarios existentes en la basede datos.

Nombre de usuarioCleartext-password

password:=

Page 11: servidor freeRadius

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 gestión de puntos de acceso y de uso

general despliegues ISP. DaloRADIUS está escrito en PHP y JavaScript, y utiliza una capa

de abstracción 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 versión 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

Page 12: servidor freeRadius

el gestor de archivadores gráfico, no funcionara correctamente.

Copiamos la carpeta desciomprimida la directorio de publicación 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 están 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-mysql-daloradius-and-freeradius.sql

Seguidamente editamos el archivo daloradius.conf.php para poner los valores de la conexión 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 contraseña son:

Page 13: servidor freeRadius

Usuario: Administrator Password: radius

Page 14: servidor freeRadius

Para ingresar un nuevo usuario nos vamos a “Management”, después al costado izquierdo le damos en “New User”.

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

Page 15: servidor freeRadius

Si queremos agregar muchos usuarios a la vez, nos vamos a la opción “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.

Page 16: servidor freeRadius

Con esto esta completo nuestro servidor radius, ahora para montar la infraestructura para que este entre en función. 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 contraseña 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 específicamente la LAN3 conectamos el router tonto.

NOTA: En este reporte no entraremos en detalles como se instala m0n0wall solo su configuración para que funcione como portal cautivo.

Para ingresar a la interfase web de configuración de m0n0wall lo hacemos utilizando cualquier navegador web he ingresamos la siguiente IP: https://172.16.2.1:10000

En la pantalla pagina principal nosDesplazamos en el muen de la izquierda

Hasta la opción de “Captive portal”

Page 17: servidor freeRadius

Interfase donde esta el Router en el router m0n0

Pagina a la que sera redirigidoDespues de ingresar.

Page 18: servidor freeRadius

Seleccionamos

IP de nuestro servidorRadius

Puerto de escucha

Password para hacerConsultas a radius

Page 19: servidor freeRadius

En esta opción uno puede Guardar una pagina web, con

Nuestro diseño dondeAparecerán los campos de

Usuario y password

Page 20: servidor freeRadius

Para que nuestro servidor radius deje Que le hagan consultas agregamos a

Client.conf un nuevo cliente que sera laDirección IP del router m0n0wall

PRUEBA Se selecciona la red

Ingresamos el pass del WAPDel router

Cando abrimos un navegador, lo primero que Nos aparece es la pagina diseñada para poner

El usuario y el password con el que se realizaraLa consulta a radius y si ellos esta en la base

De datos el router no direeciona a www.google.com.sv