Preparación del Sistema Ubuntu
Herramienta de Edición: Vim
Vim es un editor de texto modal potente y ligero, ideal para administración de servidores. Aunque presenta curva de aprendizaje inicial, su eficiencia en entornos remotos lo hace indispensable.
- Modos de operación claros: normal, inserción y comando
- Navegación mediante atajos de teclado optimizada
- Disponible por defecto en la mayoría de distribuciones Linux
Configuración de Red y Seguridad
Para el entorno de pruebas, configure la interfaz de red del hipervisor en modo puente (bridge). Desactive temporalmente el cortafuegos para evitar interferencias:
sudo systemctl stop ufw
sudo systemctl disable ufw
Despliegue del Servidor FreeRADIUS
Instalación de Paquetes
Actualice los repositorios e instale el servidor RADIUS junto con utilidades de diagnóstico:
sudo apt update && sudo apt upgrade -y
sudo apt install freeradius freeradius-utils freeradius-common -y
Definición de Clientes Autorizados
Modifique el archivo de clientes para permitir solicitudes desde la infraestructura de red. Suponiendo que el gateway residencial opera en 10.0.0.0/24:
sudo vim /etc/freeradius/3.0/clients.conf
Añada la siguiente definición:
client red_local {
ipaddr = 10.0.0.0/24
secret = claveSegura2024
require_message_authenticator = no
nas_type = other
}
Creación de Cuentas de Acceso
Establezca credenciales para pruebas en el archivo de autorización:
sudo vim /etc/freeradius/3.0/mods-config/files/authorize
Inserte al final del documento:
demo_acct Cleartext-Password := "DemoPass123!"
Auth-Type := Local,
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-MTU = 1400
Generación de Infraestructura de Claves
Creación de Certificados X.509
Construya la jerarquía de certificados necesaria para el túnel TLS:
# Directorio de trabajo temporal
mkdir ~/radius_certs && cd ~/radius_certs
# Autoridad Certificada raíz
openssl genrsa -out raiz.key 4096
openssl req -x509 -new -nodes -key raiz.key -sha256 -days 3650 \
-out raiz.crt -subj "/C=ES/ST=Madrid/L=Madrid/O=LabSeguro/OU=Infra/CN=AC-RADIUS"
# Par de claves del servidor
openssl genrsa -out serv_radius.key 2048
openssl req -new -key serv_radius.key -out serv_radius.csr \
-subj "/C=ES/ST=Madrid/L=Madrid/O=LabSeguro/OU=Sistemas/CN=radius.lab.local"
# Firma del certificado servidor
openssl x509 -req -in serv_radius.csr -CA raiz.crt -CAkey raiz.key \
-CAcreateserial -out serv_radius.crt -days 1825 -sha256
# Concatenación para uso de FreeRADIUS
cat serv_radius.crt serv_radius.key > serv_radius.bundle.pem
cp raiz.crt cadena_confianza.pem
Despliegue de Certificados
Localice el dircetorio de certificados de su instalación:
sudo find /etc -path "*freeradius*" -name "certs" -type d 2>/dev/null
Copie los archivos generados:
RADIUS_CERT_PATH="/etc/freeradius/3.0/certs"
sudo cp serv_radius.bundle.pem cadena_confianza.pem $RADIUS_CERT_PATH/
sudo chown -R freerad:freerad $RADIUS_CERT_PATH
sudo chmod 640 $RADIUS_CERT_PATH/*.pem
Configuración del Módulo EAP
Activación de PEAP
Edite el módulo de autenticación extensible:
sudo vim /etc/freeradius/3.0/mods-enabled/eap
Dentro de la sección tls-config tls-common, ajuste:
tls-config tls-common {
private_key_password =
private_key_file = ${certdir}/serv_radius.bundle.pem
certificate_file = ${certdir}/serv_radius.bundle.pem
ca_file = ${certdir}/cadena_confianza.pem
dh_file = ${certdir}/dh
random_file = /dev/urandom
cipher_list = "DEFAULT"
ecdh_curve = "prime256v1"
}
Verifique la directiva principal:
default_eap_type = peap
Verificación y Puesta en Marcha
Inicio del Servicio
sudo systemctl enable freeradius
sudo systemctl restart freeradius
sudo systemctl is-active freeradius
Diagnóstico en Tiempo Real
Para depuración, ejecute en terminal independiente:
sudo freeradius -Xxx | tee /tmp/radius_debug.log
Prueba de Autenticación
Desde otra consola, valide las credenciales:
radtest demo_acct DemoPass123! 127.0.0.1 18120 claveSegura2024
Respuesta esperada: Access-Accept con atributos asignados.
Integración con Equipos de Red
Para completar la implementación, configure su punto de acceso inalámbrico:
| Parámetro | Valor |
|---|---|
| Modo de seguridad | WPA2-Enterprise / WPA3-Enterprise |
| Método EAP | PEAP (MSCHAPv2) |
| Servidor RADIUS | Dirección IP del host Ubuntu |
| Puerto de autenticación | 1812 |
| Secreto compartido | claveSegura2024 |
Aplique los cambios y verifique la conectividad 802.1X desde un cliente inalámbrico.