RADIUS server with FreeRADIUS + daloRADIUS + MySQL

PiPo e2H – Soluciones TIC Avanzadas Jose Luis Gomez – vEXPERT 2011-16, VCIX-NV, VCAP5-DCA/DCD/CIA, CCA, CCNA & VCP 4&5

1Jul/11Off

Servidor RADIUS con gestión Web: FreeRADIUS + daloRADIUS

Share

Hola amig@s:

En esta entrega relacionada con sistemas y diferentes servicios 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.

Este artículo abrirá la puerta a una serie de futuros artículos que harán uso de este protocolo. Resulta de gran utilidad tener centralizada esta gestión cuando estamos buscando cómo integrar la autenticación de diferentes dispositivos en un único lugar.

Con este servicio conseguiremos integrar la autenticación de usuarios Wi-Fi, PPPoE, VPN, 802.1x y otras muchas tecnologías en un único punto. Este servicio pasará a ser crítico en nuestra infraestructura, por lo que tendremos que dotarlo de disponibilidad ya que no si está accesible los usuarios no podrán autenticar; o lo que es lo mismo, no podrán hacer uso de la red.

Mostraremos la instalación en un sistema operativo Linux Debian 6 a través de paquetes. A continuación se detallan los pasos que se van a seguir:

  1. Instalar FreeRADIUS.
  2. Configurar FreeRADIUS.
  3. Descargar daloRADIUS.
  4. Instalar dependencias daloRADIUS.
  5. Instalar y configurar daloRADIUS.
  6. Test del laboratorio.

Instalar FreeRADIUS

El primer paso es instalar FreeRADIUS desde paquetes. Para ello lanzamos el siguiente comando como root desde una terminal y confirmamos la instalación:

apt-get install freeradius freeradius-mysql freeradius-utils

Configurar FreeRADIUS

Ahora vamos a dejar preparado nuestro FreeRADIUS para que conecte posteriormente con la base de datos MySQL. Los datos de conexión a la base de datos dejaremos los predeterminados que aparecen en /etc/freeradius/sql.conf y activaremos el soporte sql para autenticación y cuentas. Ejecutamos los siguientes comandos como root:

cd /etc/freeradius

vi sites-enabled/default

En los apartados authorize y accouting descomentamos las líneas sql

Para activar el soporte SQL editaremos el fichero radius.conf y descomentaremos la línea $INCLUDE sql.conf. Para ello como root ejecutamos el siguiente comando:

vi radius.conf

Descomentamos la línea $INCLUDE sql.conf

Descargar daloRADIUS

El siguiente paso es descargar daloRADIUS desde su Web. Para esta operación ejecutamos los siguientes comandos como root:

cd /usr/local/src

wget <URL_daloRADIUS>

Instalar dependencias daloRADIUS

Vamos a instalar el servicio Web, el de base de datos y un paquete para gestión de imágenes. Como root ejecutamos el siguiente comando:

apt-get install apache2 php5 php5-gd php-pear php-db libapache2-mod-php5 php-mail php5-mysql mysql-server

Instalar y configurar daloRADIUS

Una vez instaladas las dependencias vamos a descomprimir la aplicación en el directorio de nuestro servicio Web y crearemos la base de datos con las tablas pertinentes. Como root ejecutamos los siguientes comandos:

cd /var/www

tar xzf /usr/local/src/<FUENTES_daloRADIUS.tar.gz>

mv -f <DIRECTORIO_daloRADIUS> daloradius/

chown -R www-data:www-data daloradius

chmod 644 daloradius/library/daloradius.conf.php

vi daloradius/library/daloradius.conf.php

CONFIG_DB_USER --> radius

CONFIG_DB_PASS --> radpass

Ahora vamos a crear la base de datos con su esquema completo. Para ello ejecutamos los siguientes comandos como root:

mysqladmin -u root -p create radius

cd /var/www/daloradius/contrib/db

mysql -u root -p radius < fr2-mysql-daloradius-and-freeradius.sql

mysql -u root -p

GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY 'radpass';

quit

Test del laboratorio

Ahora vamos a probar la instalación que hemos realizado, pero antes de nada vamos a reiniciar los servicios Web y FreeRADIUS para que se apliquen todos los cambios hechos anteriormente. Para ello ejecutamos los siguientes comandos como root:

/etc/init.d/freeradius restart

/etc/init.d/apache2 restart

A través de un explorador Web vamos a acceder a la gestión de nuestro daloRADIUS para crear un usuario y realizar una prueba desde consola. Para ello ingresamos en la dirección http://<SERVIDOR>/daloradius. Las credenciales son administrator/radius

Ahora vamos a crear un usuario de prueba que será e2h/test. Para ello seguimos los pasos numerados de la siguiente imagen:

Ahora que tenemos el usuario vamos a realizar un test de conexión desde la consola. Para ello ejecutamos el siguiente comando como root y si nos devuelve Access-Accept es que todo ha ido bien:

radtest e2h test 127.0.0.1 1581 testing123

El parámetro testing123 es una contraseña que se usa para conectar al servidor RADIUS como cliente. Si deseamos que dispositivos externos realicen consultas en nuestro servidor RADIUS tendremos que darlos de alta en el fichero /etc/freeradius/clients.conf

En el fichero anterior tenemos bastantes ejemplos que nos ayudarán a crear las conexiones clientes que deseemos como: MikroTik, 802.1x, etc.

José Luis Gómez Ferrer de Couto

José Luis Gómez Ferrer de Couto

VMware vExpert since 2011 / VCP-DCV 4&5 / VCP5-DT / VCIX-NV / VCAP5-DCA/DCD / VCAP-CIA. Technical Architect at Computacenter. Author of blog PiPo e2H specialized in Virtualization, Storage and Networking.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Share

¿Te gustó este artículo?

¡Suscríbete a nuestro feed RSS!