Ironchip RADIUS server
El Ironchip RADIUS server es un servidor RADIUS propio de Ironchip que permite integrar servicios compatibles con RADIUS mediante una API key, sin necesidad de usar NPS. Esta guía es para quien administra el servicio y lo instala en Windows o Linux. Funciona sin contraseñas: el usuario aprueba el acceso en su dispositivo.
Requisitos
Sección titulada «Requisitos»- Acceso a la consola de administración de Ironchip.
- Un servidor Windows (64 bits) o Linux (64 bits) donde ejecutar el servidor RADIUS.
- Que el equipo o servicio que quieres proteger (VPN, cortafuegos, wifi) pueda enviar peticiones RADIUS al puerto UDP
1812de ese servidor. - Los usuarios dados de alta en Ironchip, o la sincronización de identidades configurada.
Configuración en Ironchip
Sección titulada «Configuración en Ironchip»Crea una aplicación Passwordless RADIUS. La consola te da una API key que el servidor RADIUS usa para hablar con Ironchip.
- Ve a Applications y haz clic en New application.
- En la sección Standard authentication protocols, elige Passwordless RADIUS.
- Ponle un nombre identificativo (mínimo 3 caracteres) y haz clic en Add.
- Copia la API key o haz clic en Download credentials para descargarla en el fichero
credentials.json.
Configuración del Ironchip RADIUS server
Sección titulada «Configuración del Ironchip RADIUS server»-
Descarga el ejecutable de la última versión:
ironchip_lbauth_radius_server.exepara Windows oironchip_lbauth_radius_serverpara Linux. -
Cópialo a una carpeta definitiva del servidor. El servicio se ejecuta desde esa ubicación, así que no la muevas después.
-
Crea junto al ejecutable un fichero de configuración con el mismo nombre que el ejecutable y extensión
.json:ironchip_lbauth_radius_server.json. Si renombras el ejecutable, renombra también el fichero. -
Pega este contenido y sustituye los valores entre
<>:ironchip_lbauth_radius_server.json {"radius_address": "0.0.0.0:1812","radius_key": "<SHARED_SECRET>","ironchip_api_host": "https://api.ironchip.com","ironchip_api_secret": "<API_KEY>","log_level": "info"} -
Abre una terminal con permisos de administrador (PowerShell en Windows, o
sudoen Linux) y ve a la carpeta del ejecutable. -
Instala el servicio:
Windows .\ironchip_lbauth_radius_server.exe service installLinux chmod +x ironchip_lbauth_radius_serversudo ./ironchip_lbauth_radius_server service install -
Inicia el servicio:
Windows .\ironchip_lbauth_radius_server.exe service startLinux sudo ./ironchip_lbauth_radius_server service start -
Configura el servicio que quieres proteger para que use este servidor como servidor RADIUS: la dirección del equipo donde corre, el puerto
1812y el mismo secreto compartido que pusiste enradius_key.
Campos del fichero de configuración
Sección titulada «Campos del fichero de configuración»| Campo | Obligatorio | Valor por defecto | Descripción |
|---|---|---|---|
radius_address |
No | 0.0.0.0:1812 |
Dirección y puerto UDP en los que escucha el servidor. |
radius_key |
Sí | Secreto compartido con el equipo que envía las peticiones RADIUS. Lo eliges tú, pero debe ser el mismo en el fichero y en ese equipo. | |
ironchip_api_host |
No | https://api.ironchip.com |
URL de la API de Ironchip. |
ironchip_api_secret |
Sí | La API key de la aplicación Passwordless RADIUS. | |
log_level |
No | info |
Nivel de registro: debug, info, warning, error o fatal. |
attributes |
No | Atributos RADIUS estándar que se añaden a la respuesta de acceso aceptado. Mira Atributos de respuesta. | |
vendor-specific_attributes |
No | Atributos específicos de fabricante que se añaden a la respuesta. Mira Atributos de respuesta. |
El ejecutable lee este fichero con cualquier comando, también con service install, así que créalo antes de instalar el servicio. Si no lo encuentra, falta un campo obligatorio o log_level no es válido, termina con un error.
Atributos de respuesta
Sección titulada «Atributos de respuesta»Algunos equipos necesitan atributos en la respuesta RADIUS, por ejemplo para asignar a cada usuario un grupo de la VPN. Defínelos en attributes (atributos estándar del RFC 2865) y en vendor-specific_attributes (atributos de fabricante, que el servidor envía dentro del atributo 26). Cada atributo tiene tres campos:
number: el número del atributo. Envendor-specific_attributeses el número de fabricante (Vendor-Id).type: el tipo del dato:string,short,integerointeger64.data: un valor fijo o una plantilla con datos del usuario que acaba de autenticarse.
Puedes repetir el mismo number en varios atributos. La plantilla tiene que ser todo el valor de data, como en el ejemplo de abajo: si la mezclas con otro texto, el atributo no se envía. Estas son las plantillas disponibles:
| Plantilla | Dato |
|---|---|
{{.subject}} |
Identificador del usuario. |
{{.name}} |
Nombre del usuario. |
{{.email}} |
Correo electrónico del usuario. |
{{.timestamp}} |
Marca de tiempo de la autorización. |
{{.external_username}} |
Nombre de usuario en el servicio externo. |
{{.external_service_id}} |
Identificador del servicio externo. |
{{.customer_name}} |
Nombre de la compañía. |
{{.group_names}} |
Grupos del usuario. Se envía un atributo por cada grupo. |
{{.location_name}} |
Nombre de la ubicación desde la que accede. |
{{.location_score}} |
Puntuación de la ubicación. |
{ "radius_address": "0.0.0.0:1812", "radius_key": "<SHARED_SECRET>", "ironchip_api_host": "https://api.ironchip.com", "ironchip_api_secret": "<API_KEY>", "log_level": "info", "attributes": [{ "number": 11, "type": "string", "data": "{{.group_names}}" }], "vendor-specific_attributes": [{ "number": 43, "type": "string", "data": "1304" }]}En este ejemplo, el atributo Filter-Id (11) lleva el nombre de cada grupo del usuario. Usa el tipo string salvo que el equipo exija otro.
Comprobación
Sección titulada «Comprobación»-
Comprueba que el servicio está en marcha:
Windows .\ironchip_lbauth_radius_server.exe service statusLinux sudo ./ironchip_lbauth_radius_server service statusLa salida incluye
status: running. -
Inicia sesión desde el servicio protegido con un usuario de Ironchip. El usuario recibe la petición de aprobación en su dispositivo y, al aprobarla, el servidor responde con acceso aceptado. Si Ironchip no autoriza al usuario, responde con acceso rechazado.
El servidor usa solo el nombre de usuario de la petición; la contraseña se ignora. Aun así, algunos equipos exigen rellenarla, como se ve en el ejemplo siguiente.
Comandos del servicio
Sección titulada «Comandos del servicio»El ejecutable se maneja con service (alias s). service status también tiene el alias s, así que s s equivale a service status.
| Comando | Qué hace |
|---|---|
service install |
Instala el servicio IronchipRADIUS (nombre visible: Ironchip RADIUS server). |
service start |
Inicia el servicio. |
service stop |
Detiene el servicio. |
service restart |
Reinicia el servicio. Hazlo tras cambiar el fichero de configuración. |
service status |
Muestra si el servicio está en marcha (running) o detenido (stopped). |
service uninstall |
Desinstala el servicio. |
service run |
Ejecuta el servidor en la terminal, fuera del gestor de servicios. Falla si el servicio no está instalado o ya está en marcha. |
Registros
Sección titulada «Registros»En Windows, el servidor escribe en el Visor de eventos, en el registro Application, con el origen Ironchip RADIUS Server. En Linux escribe en la salida del proceso, que recoge el gestor de servicios del sistema (con systemd, consúltala con journalctl -u IronchipRADIUS). Sube log_level a debug para ver el detalle de cada autorización, y vuelve a info cuando termines.
Problemas frecuentes
Sección titulada «Problemas frecuentes»- El servicio no arranca: comprueba que existe el fichero
.jsoncon el mismo nombre que el ejecutable, en la misma carpeta, y queradius_keyeironchip_api_secrettienen valor. - El equipo no recibe respuesta: abre el puerto UDP
1812(o el deradius_address) en el cortafuegos del servidor y comprueba que el equipo apunta a la IP correcta. - Acceso rechazado para un usuario que existe: comprueba que
ironchip_api_secretes la API key de la aplicación Passwordless RADIUS y que el nombre de usuario de la petición es el que Ironchip conoce. El servidor anota el error de autorización en el registro. - El secreto compartido no coincide: el equipo descarta las respuestas. Usa exactamente el mismo valor en
radius_keyy en el equipo. - Faltan atributos en la respuesta: comprueba que cada
dataes un valor fijo o una sola plantilla y que el dato es del tipo indicado entype. Si un atributo falla, el servidor acepta el acceso igualmente, pero no envía ese atributo ni los siguientes, y anota el error en el registro.
Ejemplo de autenticación
Sección titulada «Ejemplo de autenticación»El vídeo muestra el acceso a una VPN de WatchGuard con el Ironchip RADIUS server en funcionamiento.
En el vídeo se escribe una contraseña porque WatchGuard no permite campos vacíos. El texto de ese campo puede ser aleatorio, como en los dos ejemplos del vídeo.
¿Te ha resultado útil esta página?
Gracias. Lo tendremos en cuenta para mejorar la documentación. Si quieres contarnos qué falta o qué no está claro, escríbenos a support@ironchip.com.