Cómo instalar FreeRADIUS y Daloradius en Ubuntu 20.04

FreeRADIUS es un servidor gratuito de código abierto para UNIX y sistemas operativos tipo Unix que permite configurar un servidor de protocolo RADIUS. También necesitas un cliente correctamente configurado que se comunique con el servidor cuando quieras utilizarlo, que podría usarse para autenticar o contabilizar varios tipos de acceso a la red. Ejemplos de aplicaciones son los hotspots, los protocolos VPN como OpenVPN, Strongswan o SoftEther (Wireshark) en un smartphone Android.

Ya en 1992, FreeRADIUS -un proyecto de software de código abierto que protege las redes de accesos no autorizados e intrusiones- comenzó con pequeños avances para la autenticación. Hoy en día, FreeRADIUS admite varios métodos de seguridad criptográfica (EAP-TLS/ -TTLS, PEAP, LEAP). Y el método utilizado para la autenticación es nombre de usuario/contraseña o certificados.

Los clientes que quieren acceder a una red deben registrarse primero en el servidor RADIUS antes de que se les conceda el acceso. Esto aumenta la seguridad y facilita la gestión de las redes. El cliente utiliza un protocolo IEEE 802.1X para la autenticación, por lo que este término se utiliza a menudo como sinónimo de este tipo de método de inicio de sesión en la red.

FreeRADIUS suele referirse al servidor RADIUS, o a componentes del conjunto FreeRADIUS como las bibliotecas de cliente RADIUS con licencia BSD, una biblioteca PAM y un módulo RADIUS de Apache. Y otras bibliotecas relacionadas incluyen utilidades adicionales y bibliotecas de desarrollo

¿Qué es el protocolo RADIUS?

El Servicio de AutenticaciónRemotade Usuarios por Discado(RADIUS) es un protocolo de red que gestiona la autenticación, la autorización y la contabilidad de los usuarios proporcionando una gestión AAA centralizada.

Estas son algunas descripciones breves de lo que significa cada término del AAA, pero no todos significan lo mismo:

  • Autenticación: El proceso de determinar si el cliente (que puede ser un usuario, dispositivo o proceso) está autorizado a utilizar el sistema.
  • Autorización: El proceso de determinar la cantidad de uso y el momento de proporcionar esta información para poder calcular los costes de uso de la energía.
  • Contabilidad: Es el informe resumido de la actividad en la red con fines de facturación.

La interfaz de la línea de comandos para gestionar FreeRADIUS puede ser confusa incluso para los administradores de sistemas expertos. Para aliviar su problema, podemos utilizar daloRADIUS, que es una versión de FreeRADIUS con interfaz gráfica basada en la web.

¿Qué es daloRADIUS?

daloRADIUS es una interfaz gráfica de usuario basada en la web para gestionar FreeRADIUS y te permite administrar varios servidores desde tu navegador con facilidad. Y funciona con las principales distribuciones de Linux: CentOS, Red Hat Enterprise Linux, Ubuntu, OpenWrt, etc., siempre que ejecuten la última versión de Redis o Memcached y tengan soporte para SSL.

El paquete de software daloRADIUS ofrece funcionalidades adicionales en comparación con la forma tradicional de gestionar FreeRADIUS mediante su interfaz de línea de comandos.

En este tutorial, instalaremos FreeRADIUS en un servidor con Ubuntu 20.04, lo configuraremos para que funcione con MySQL/MariaDB y, a continuación, instalaremos daloRADIUS, un panel de gestión web de RADIUS que es básicamente una interfaz gráfica para FreeRADIUS. Realizaremos una sencilla prueba en el servidor RADIUS para asegurarnos de que funciona.

Requisitos previos

  • Un servidor que ejecute Ubuntu 20.04, con un mínimo de 512 MB de RAM, un mínimo de 300 MB de espacio de almacenamiento y un mínimo de 1,4 GHz de CPU de 64 bits
  • Estar conectado como usuario root o con privilegios sudo.

Cómo empezar

Actualizar tu sistema

Para mantener tu sistema actualizado, empieza por ejecutar el comando update en tu terminal para descargar e instalar los últimos paquetes y actualizaciones de seguridad:

sudo apt update -y
sudo apt upgrade -y

El comando update utiliza la bandera -y para responder automáticamente que sí cuando te pregunte si quieres continuar con los cambios.

El comando apt update actualizará la lista de paquetes disponibles desde sus fuentes. El comando apt upgrade descargará e instalará las actualizaciones.

Ejemplo de salida:

Actualizar tu servidor

actualizar ubuntu

Una vez completado el proceso de actualización, es posible que quieras reiniciar tu sistema. Para ello, ejecuta el siguiente comando en tu terminal:

sudo reboot now

Instalación de dependencias

Las dependencias son requisitos de software que deben cumplirse para que otro programa funcione. Lo siguiente es instalar las dependencias necesarias. Ubuntu Server viene con Apache instalado, pero hay algunos paquetes relacionados que hay que añadir. Para instalar las dependencias, ejecuta el siguiente comando en tu terminal:

sudo apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y

Puedes comprobar la versión de php instalada en tu sistema ejecutando el siguiente comando en tu terminal:

php -v

La salida debe ser similar a la siguiente:

versión php

Instalación de FreeRADIUS

Una vez que se cumplen todos los requisitos previos y las dependencias, ya podemos instalar FreeRADIUS. Puedes ver las versiones de FreeRADIUSdisponibles en tu Ubuntu escribiendo el siguiente comando en tu terminal:

sudo apt policy freeradius

versión freeradius

Para instalar FreeRADIUS y las distintas utilidades que lo acompañan en Ubuntu 20.04, ejecuta el siguiente comando:

sudo apt -y install freeradius freeradius-mysql freeradius-utils

Para comprobar rápidamente que FreeRADIUS está en funcionamiento, tenemos que ejecutar FreeRADIUS en modo de depuración.

Primero detén el servicio FreeRADIUSejecutando el siguiente comando en tu terminal:

sudo systemctl stop freeradius.service

A continuación, ejecuta el siguiente comando para ejecutar el modo de depuración de FreeRADIUS:

sudo freeradius -X

La salida debería ser similar a la siguiente:

Modo de depuración de FreeRADIUS

Podemos ver que la última línea dice «Listo para procesar peticiones», lo que significa que FreeRADIUS ya está funcionando en tu servidor.

Crear una base de datos

FreeRADIUS necesita una base de datos para almacenar su configuración y otra información sobre usuarios, clientes y conexiones de red. Puedes crear una base de datos para FreeRADIUS entrando en el servidor MariaDB a través del terminal:

sudo mysql -u root

Ahora crea una base de datos llamada radius:

CREATE DATABASE radius;

A continuación, concede acceso a la base de datos radius:

GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "yourpassword ";

El comando flush privilegios y salir de MariaDB para actualizar sus privilegios:

FLUSH PRIVILEGES;
QUIT;

Podemos ver que la base de datos radius está creada ejecutando el siguiente comando en el terminal:

mysql -u root -p -e "show databases;"

Deberías poder ver la base de datos radius listada como se muestra en la siguiente captura de pantalla:

FreeRADIUS Crear una base de datos

Instalación de Daloradius

Daloradius es necesario para acceder a la interfaz de administración web de FreeRADIUS. Primero descargaremos la última versión de daloRADIUS desde el repositorio git utilizando el comando wget:

wget https://github.com/lirantal/daloradius/archive/master.zip

Descarga de daloRADIUS

Una vez completada la descarga, extrae el archivo zip utilizando la utilidad unzip como se muestra a continuación:

unzip master.zip

A continuación, mueve la carpeta daloradius-master utilizando la utilidad mv como se muestra a continuación:

mv daloradius-master daloradius

A continuación, muévete al directorio daloradius para configurarlo:

cd daloradius

Ahora tenemos que rellenar la base de datos con el esquema daloRADIUS. El archivo .sql se encuentra en la carpeta ‘/contrib/db/’. Puede que tengas que cambiar esta ruta si no lo has instalado en el destino raíz.

Para importar, ejecuta:

sudo mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
sudo mysql -u root -p radius < contrib/db/mysql-daloradius.sql

A continuación, sal del directoriodaloradius y mueve la carpetadaloradius a la raíz del documento:

cd
sudo mv daloradius /var/www/html/

A continuación, cambia el nombre del archivo de ejemplo eliminando la extensión .example mediante la utilidad mv, como se muestra a continuación:

sudo mv /var/www/html/daloradius/library/daloradius.conf.php.sample /var/www/html/daloradius/library/daloradius.conf.php

A continuación, ejecuta el siguiente comando para asignar la propiedad de los archivos de configuración web de daloRADIUS a Apache:

sudo chown -R www-data:www-data /var/www/html/daloradius/

A continuación, configura los permisos de tu archivo de configuración principal a 664 como se muestra a continuación:

sudo chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

Para permitir que la interfaz web de DaloRADIUS acceda a FreeRADIUS, tenemos que proporcionar los detalles de su base de datos en el archivo de configuración de DaloRADIUS. Abre el archivo .daloradius.conf.php que se encuentra en ./www/library/daloradius.conf.php y añade los datos de la base de datos(nombre de usuario, contraseña y nombre de la base de datos):

sudo nano /var/www/html/daloradius/library/daloradius.conf.php

Cambia los siguientes valores para que coincidan con los detalles de tu base de datos:

$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'howtoforge';
$configValues['CONFIG_DB_PASS'] = 'Str0ngpass@howtoforge';
$configValues['CONFIG_DB_NAME'] = 'howtoforge';

Guarda y sal del archivo para asegurarte de que todo está correctamente configurado. Reiniciando FreeRADIUS y Apache te asegurarás de que todo funciona correctamente:

sudo systemctl restart freeradius
sudo systemctl restart apache2

Configurar el cortafuegos

Como FreeRADIUS y Daloradius escuchan en el puerto 1812 para los paquetes RADIUS, es posible que tengas que abrir los puertos del cortafuegos para permitir el tráfico a través de él:

sudo ufw enable
sudo ufw allow 1812

FreeRADIUSutiliza los puertos UDP 1813 para los paquetes de Solicitud de Acceso y Solicitud de Contabilidad, por lo que también debemos abrir estos puertos.

sudo ufw allow 1813

Ejemplo de salida:

Configurar el Firewall FreeRADIUS

Si quieres ver el estado actual del cortafuegos UFW, puedes escribir el comando que se muestra a continuación:

sudo ufw status

Deberías ver una salida similar a la de abajo:

ufw estado FreeRADIUS

La captura de pantalla de UFW de arriba muestra que está activo, y su estado indica una lista de reglas que acabamos de añadir.

Acceder a la interfaz web de daloRADIUS

Ahora que has instalado DaloRADIUS y FreeRADIUS, es el momento de acceder a la Interfaz Web de daloRADIUS. Abre tu navegador preferido en http://ip-address/daloradius/login.php, recuerda sustituir «dirección ip» por la dirección IP real de tu servidor.

Deberías ver la pantalla de inicio de sesión por defecto:

Interfaz web de daloRADIUS

En la pantalla de inicio de sesión, utiliza el nombre de usuario y la contraseña por defecto «administrador» con la contraseña «radius» para iniciar la sesión. Después de iniciar la sesión, deberías ver la interfaz web DaloRADIUS por defecto:

DaloRADIUS daskboard

Puedes cambiar la contraseña de un usuario entrando en DaloRadius y eligiendo el menú Configuración de la barra superior. Elige Operadores en el submenú y Lista de Operadores en la barra lateral gris bajo la lista de operadores de tu carpeta actual. Haz clic con el botón derecho del ratón sobre el administrador y selecciona Cambiar contraseña en esta ventana. En la siguiente pantalla, escribe una nueva contraseña para la cuenta de administrador y haz clic en Aplicar para guardar los cambios».

¡Enhorabuena! Has instalado con éxito FreeRADIUS. Gracias por utilizar este tutorial para instalar FreeRADIUS en un sistema Ubuntu 20.04 LTS. Para obtener más ayuda o información útil, te recomendamos que visites elsitio oficial de FreeRADIUS.

Solución de problemas

A continuación se indican algunos problemas que pueden surgir durante la instalación de FreeRADIUS/Daloradius y sus posibles soluciones:

1. Error de instalación de freeradius

Problema: Mientras sigues este tutorial, puedes encontrarte con el problema «El paquete `freeradius` no tiene candidato a la instalación». Este mensaje de error indica que no hay ningún PPA disponible para tu versión del sistema Linux Ubuntu o Debian. Solución: Normalmente se recomienda utilizar la última versión de Ubuntu cuando se pruebe cualquier software o paquete nuevo, ya que será más estable que las versiones antiguas que no tienen soporte. Si tienes una versión más antigua instalada en tu servidor, intenta eliminarla primero mediante el Gestor de Paquetes Synaptic antes de continuar con este tutorial.

2. Configuración incorrecta de la base de datos

Problema: Después de instalar FreeRADIUS, el comando «radiusd -X» puede devolver un mensaje como el anterior. Esto significa que MySQL no puede conectarse a tus bases de datos debido a una contraseña o nombre de usuario erróneos.

Solución: Para solucionar este problema, abre el archivo de configuración «mysql-daloradius.sql» y edítalo con un editor de texto como nano. A continuación, cambia la contraseña por tu contraseña real. Guarda y cierra el archivo después de editarlo. A continuación, reinicia FreeRADIUS: sudo service freeradius restart

3. No hay conexión después de instalar FreeRADIUS y Daloradius

Problema: Después de haber instalado FreeRADIUS y daloRADIUS, la interfaz web no aparece. Es posible que no puedas conectarte a tu servidor mediante SSH por este motivo.

Solución: La razón más probable de este problema es que algo en los archivos de configuración de Apache o Nginx esté bloqueando el puerto 80 (para HTTP) o 443 (para HTTPS). Comprueba si en estos archivos de configuración hay alguna referencia a la ruta del directorio web de DaloRADIUS (/var/www/html/daloradius) y elimínala.

4. No hay icono de Daloradius en la interfaz web de DaloRADIUS

Problema: Después de seguir este tutorial, no ves el icono de Daloradius en la interfaz web de DaloRADIUS. Este es un problema común que ocurre en algunas versiones de los sistemas Ubuntu y Debian.

Solución: Para solucionar este problema, edita el archivo «daloradius/includes/config_vars.php» y añade la siguiente línea: define(‘DALORADIUS_ENABLED’, true); A continuación, reinicia tu servidor web Apache mediante sudo service apache2 restart. Ahora deberías ver aparecer el icono de Daloradius en el panel izquierdo, antes del menú del operador.

Esta lista está incompleta y puede no ser 100% exacta. Si encuentras algún error o falta de información, deja un comentario abajo y actualizaremos la lista en consecuencia.

Conclusión

FreeRADIUS y Daloradius son una gran combinación de software de código abierto que te ayudará a crear un servidor FreeRADIUS con todas las funciones que será perfecto para tu red doméstica o de pequeña empresa.

Gracias a su creciente comunidad y a la gran cantidad de funciones que se pueden configurar dentro del software, Daloradius es una excelente opción para los usuarios que quieran configurar su propio servidor FreeRADIUS.

Si te ha resultado útil este artículo, compártelo con tus amigos en las redes sociales. También nos gustaría que nos respondieras sobre cualquier problema o sugerencia que puedas tener. Puedes dejar un comentario o enviar un mensaje utilizando el formulario de contacto que aparece al final de esta página. Gracias por leer.

También te podría gustar...