Articulo de referencia

RADIO

El Servicio de Autenticación Remota de Usuarios por Marcación ( RADIUS ) es un protocolo de red que proporciona autenticación, autorización y gestión de cuentas ( AAA ) centrali...

El Servicio de Autenticación Remota de Usuarios por Marcación ( RADIUS ) es un protocolo de red que proporciona autenticación, autorización y gestión de cuentas ( AAA ) centralizadas para los usuarios que se conectan y utilizan un servicio de red. RADIUS fue desarrollado por Livingston Enterprises en 1991 como un protocolo de autenticación y contabilidad para servidores de acceso. Posteriormente, se incorporó a los estándares IEEE 802 e IETF .

RADIUS es un protocolo cliente/servidor que se ejecuta en la capa de aplicación y puede usar TCP o UDP . Los servidores de acceso a la red , que controlan el acceso a una red, suelen contener un componente cliente RADIUS que se comunica con el servidor RADIUS. [ 1 ] RADIUS suele ser el back-end preferido para la autenticación 802.1X . [ 2 ] Un servidor RADIUS suele ser un proceso en segundo plano que se ejecuta en UNIX o Microsoft Windows . [ 1 ]

El ataque Blast-RADIUS rompe RADIUS cuando se ejecuta en un protocolo de transporte no cifrado como UDP. [ 3 ]

Componentes del protocolo

RADIUS es un protocolo AAA (autenticación, autorización y contabilidad) que gestiona el acceso a la red. RADIUS utiliza dos tipos de paquetes para gestionar el proceso AAA completo: Access-Request, que gestiona la autenticación y la autorización; y Accounting-Request, que gestiona la contabilidad. La autenticación y la autorización se definen en el RFC 2865, mientras que la contabilidad se describe en el RFC 2866.

Autenticación y autorización

El usuario o la máquina envía una solicitud a un servidor de acceso a la red (NAS) para obtener acceso a un recurso de red específico mediante credenciales de acceso. Estas credenciales se transmiten al dispositivo NAS a través del protocolo de capa de enlace ; por ejemplo, el protocolo punto a punto (PPP) en el caso de muchos proveedores de acceso telefónico o DSL , o se publican en un formulario web seguro HTTPS .

A su vez, el NAS envía un mensaje de solicitud de acceso RADIUS al servidor RADIUS, solicitando autorización para otorgar acceso a través del protocolo RADIUS. [ 4 ]

Esta solicitud incluye credenciales de acceso, generalmente en forma de nombre de usuario y contraseña o certificado de seguridad proporcionado por el usuario. Además, la solicitud puede contener otra información que el NAS conoce sobre el usuario, como su dirección de red o número de teléfono, e información sobre el punto de conexión física del usuario al NAS.

El servidor RADIUS verifica la exactitud de la información mediante esquemas de autenticación como PAP , CHAP o EAP . Se comprueba la identificación del usuario y, opcionalmente, otra información relacionada con la solicitud, como su dirección de red o número de teléfono, el estado de su cuenta y sus privilegios de acceso a servicios de red específicos. Tradicionalmente, los servidores RADIUS cotejaban la información del usuario con una base de datos local de archivo plano. Los servidores RADIUS modernos pueden realizar esta comprobación o consultar fuentes externas —generalmente servidores SQL , Kerberos , LDAP o Active Directory— para verificar las credenciales del usuario.

Flujo de autenticación y autorización RADIUS

El servidor RADIUS devuelve entonces una de tres respuestas al NAS: 1) Acceso rechazado, 2) Acceso solicitado o 3) Acceso aceptado.

Rechazar acceso
Se deniega incondicionalmente al usuario el acceso a todos los recursos de red solicitados. Entre los motivos se incluyen la falta de presentación de una prueba de identificación o una cuenta de usuario desconocida o inactiva.
Desafío de acceso
Solicita información adicional al usuario, como una contraseña secundaria, PIN, token o tarjeta. El desafío de acceso también se utiliza en diálogos de autenticación más complejos, donde se establece un túnel seguro entre el equipo del usuario y el servidor Radius, de manera que las credenciales de acceso queden ocultas para el NAS.
Acceder Aceptar
Se concede acceso al usuario. Una vez autenticado, el servidor RADIUS suele comprobar que el usuario está autorizado a utilizar el servicio de red solicitado. Por ejemplo, un usuario puede tener permiso para usar la red inalámbrica de la empresa, pero no su servicio VPN. Esta información puede almacenarse localmente en el servidor RADIUS o consultarse en una fuente externa como LDAP o Active Directory.

Cada una de estas tres respuestas RADIUS puede incluir un atributo Reply-Message que puede indicar el motivo del rechazo, la solicitud de confirmación o un mensaje de bienvenida en caso de aceptación. El texto de este atributo se puede mostrar al usuario en una página web de respuesta.

Los atributos de autorización se transmiten al NAS, estipulando los términos de acceso que se otorgarán. Por ejemplo, los siguientes atributos de autorización pueden incluirse en un Access-Accept:

  • La dirección IP específica que se asignará al usuario.
  • El grupo de direcciones del que se debe elegir la dirección IP del usuario.
  • El tiempo máximo que el usuario puede permanecer conectado
  • Una lista de acceso, cola de prioridad u otras restricciones en el acceso de un usuario.
  • Parámetros L2TP
  • Parámetros de VLAN
  • Parámetros de calidad de servicio (QoS)

Cuando un cliente está configurado para usar RADIUS, cualquier usuario del cliente debe proporcionarle información de autenticación. Esto puede hacerse mediante una solicitud de inicio de sesión personalizable, donde se espera que el usuario ingrese su nombre de usuario y contraseña. Alternativamente, el usuario puede usar un protocolo de enmarcado de enlace, como el Protocolo Punto a Punto (PPP), que incluye paquetes de autenticación que contienen esta información.

Una vez que el cliente obtiene dicha información, puede optar por autenticarse mediante RADIUS. Para ello, crea una solicitud de acceso que contiene atributos como el nombre de usuario, la contraseña, el ID del cliente y el ID del puerto al que accede el usuario. Si se incluye una contraseña, esta se oculta mediante un método basado en el algoritmo de resumen de mensajes RSA MD5.

Contabilidad

Flujo de contabilidad RADIUS

La contabilidad se describe en el RFC 2866.

Cuando el NAS otorga acceso a la red al usuario , envía un registro de inicio de contabilidad (un paquete de solicitud de contabilidad RADIUS que contiene un atributo Acct-Status-Type con el valor "start") al servidor RADIUS para indicar el inicio del acceso del usuario a la red. Los registros "Start" suelen contener la identificación del usuario, la dirección de red, el punto de conexión y un identificador de sesión único. [ 5 ]

Periódicamente, el NAS puede enviar registros de actualización provisional (un paquete de solicitud de contabilidad RADIUS que contiene un atributo Acct-Status-Type con el valor "interim-update") al servidor RADIUS para informarle sobre el estado de una sesión activa. Los registros "provisionales" suelen indicar la duración de la sesión actual e información sobre el uso actual de los datos.

Finalmente, cuando se cierra el acceso a la red del usuario, el NAS emite un registro final de parada de contabilidad (un paquete de solicitud de contabilidad RADIUS que contiene un atributo Acct-Status-Type con el valor "stop") al servidor RADIUS, proporcionando información sobre el uso final en términos de tiempo, paquetes transferidos, datos transferidos, motivo de la desconexión y otra información relacionada con el acceso a la red del usuario.

Normalmente, el cliente envía paquetes Accounting-Request hasta que recibe una confirmación Accounting-Response, utilizando un intervalo de reintento determinado.

El objetivo principal de estos datos es que se pueda facturar al usuario en consecuencia; además, los datos se utilizan habitualmente con fines estadísticos y para la monitorización general de la red.

Itinerancia

Itinerancia mediante un servidor proxy RADIUS AAA.

RADIUS se utiliza comúnmente para facilitar la itinerancia entre proveedores de servicios de Internet (ISP) , entre otros, mediante:

  • Empresas que proporcionan un conjunto único de credenciales globales que se pueden utilizar en muchas redes públicas;
  • Instituciones independientes, pero que colaboran entre sí, que emiten sus propias credenciales a sus propios usuarios, lo que permite que un visitante de una a otra sea autenticado por su institución de origen, como en eduroam .

RADIUS facilita esto mediante el uso de dominios , que identifican dónde debe reenviar el servidor RADIUS las solicitudes AAA para su procesamiento.

Reinos

Un dominio se suele añadir al nombre de usuario y se delimita con el símbolo '@', de forma similar a un dominio de correo electrónico. Esto se conoce como notación posfija para el dominio. Otra forma común de uso es la notación prefija , que consiste en anteponer el dominio al nombre de usuario y usar la barra invertida ('\') como delimitador. Los servidores RADIUS modernos permiten usar cualquier carácter como delimitador de dominio, aunque en la práctica se suelen usar '@' y '\'.

Los dominios también pueden combinarse utilizando notación de prefijo y sufijo, para permitir escenarios de itinerancia complejos; por ejemplo, somedomain.com\username@anotherdomain.com podría ser un nombre de usuario válido con dos dominios.

Aunque los reinos suelen parecerse a los dominios, son textos arbitrarios y no necesariamente contienen nombres de dominio reales. Los formatos de reino están estandarizados en la RFC 4282, que define un Identificador de Acceso a la Red (NAI) con el formato «usuario@reino». En dicha especificación, la parte «reino» debe ser un nombre de dominio. Sin embargo, esta práctica no siempre se sigue. La RFC 7542 [ 6 ] reemplazó a la RFC 4282 en mayo de 2015.

Operaciones de proxy

Cuando un servidor RADIUS recibe una solicitud AAA para un nombre de usuario que contiene un dominio, consulta una tabla de dominios configurados. Si el dominio es conocido, el servidor reenvía la solicitud al servidor principal configurado para ese dominio. El comportamiento del servidor proxy con respecto a la eliminación del dominio de la solicitud ("eliminación") depende de la configuración en la mayoría de los servidores. Además, el servidor proxy puede configurarse para agregar, eliminar o reescribir las solicitudes AAA cuando se reenvían a través del proxy en el futuro.

El encadenamiento de proxies es posible en RADIUS, y los paquetes de autenticación, autorización y contabilidad suelen enrutarse entre un dispositivo NAS y un servidor doméstico a través de una serie de proxies. Algunas de las ventajas de usar cadenas de proxies incluyen mejoras en la escalabilidad, implementaciones de políticas y ajustes de capacidades. Sin embargo, en escenarios de itinerancia, el NAS, los proxies y el servidor doméstico suelen ser administrados por diferentes entidades administrativas. Por lo tanto, el factor de confianza entre los proxies cobra mayor importancia en este tipo de aplicaciones entre dominios. Además, la ausencia de seguridad de extremo a extremo en RADIUS aumenta la criticidad de la confianza entre los proxies involucrados. Las cadenas de proxies se explican en el RFC 2607 .

Seguridad

El uso de RADIUS para la itinerancia expone a los usuarios a diversos problemas de seguridad y privacidad. En general, algunos proveedores de servicios de itinerancia establecen un túnel seguro entre los servidores RADIUS para garantizar que las credenciales de los usuarios no puedan ser interceptadas durante la conexión a través de internet. Esto resulta preocupante, ya que el algoritmo hash MD5 integrado en RADIUS se considera inseguro. [ 7 ]

Estructura del paquete

Formato de datos de paquetes RADIUS.

RADIUS se transporta a través de UDP en los puertos 1812 [ 4 ] y 1813. [ 8 ] . RadSec (RADIUS sobre TLS) utiliza el puerto TCP 2083 por defecto. [ 9 ]

El formato de datos del paquete RADIUS se muestra a la derecha. Los campos se transmiten de izquierda a derecha, comenzando con el código, el identificador, la longitud, el autenticador y los atributos.

Los códigos RADIUS asignados (decimal) incluyen los siguientes: [ 10 ]

El campo Identificador ayuda a relacionar las solicitudes y las respuestas.

El campo Longitud indica la longitud de todo el paquete RADIUS, incluidos los campos Código, Identificador, Longitud, Autenticador y Atributo opcional.

El autenticador se utiliza para autenticar la respuesta del servidor RADIUS y para cifrar contraseñas; su longitud es de 16 bytes.

Pares de valores de atributos

Diseño de RADIUS AVP

Los pares atributo-valor (AVP) de RADIUS contienen datos tanto en la solicitud como en la respuesta para las transacciones de autenticación, autorización y contabilidad. La longitud del paquete RADIUS se utiliza para determinar el final de los AVP.

Atributos específicos del proveedor

RADIUS es extensible; muchos proveedores de hardware y software RADIUS implementan sus propias variantes utilizando atributos específicos del proveedor (VSA). Microsoft ha publicado algunos de sus VSA. [ 11 ] Las definiciones de VSA de muchas otras empresas siguen siendo propietarias y/o ad hoc; no obstante, se pueden encontrar muchos diccionarios de VSA descargando el código fuente de implementaciones RADIUS de código abierto, por ejemplo, FreeRADIUS .

La sección 5.26 de la RFC 2865 proporciona una codificación sugerida que la mayoría de los proveedores siguen:

Algunos proveedores utilizan formatos diferentes. Por ejemplo, algunos eliminan el campo "Longitud del proveedor" o utilizan 2 octetos para los campos "Tipo de proveedor" y/o "Longitud del proveedor".

La sección 3.14 de la RFC 8044 define el tipo de datos "vsa", que exige el formato de la sección 5.26 de la RFC 2865.

Seguridad

El protocolo RADIUS transmite contraseñas ofuscadas utilizando un secreto compartido y el algoritmo de hash MD5 . Dado que esta implementación particular proporciona una protección débil de las credenciales del usuario, [ 12 ] se debe utilizar protección adicional, como túneles IPsec o redes de centros de datos físicamente seguras, para proteger aún más el tráfico RADIUS entre el dispositivo NAS y el servidor RADIUS. Además, las credenciales de seguridad del usuario son la única parte protegida por el propio RADIUS, pero otros atributos específicos del usuario, como los ID de grupo de túneles o las pertenencias a VLAN que se transmiten a través de RADIUS, también pueden considerarse información sensible (útil para un atacante) o privada (suficiente para identificar al cliente individual) .

El protocolo RadSec soluciona el problema de seguridad de RADIUS/UDP tradicional "envolviendo" el protocolo RADIUS en TLS . Sin embargo, los paquetes dentro del transporte TLS siguen utilizando MD5 para comprobar la integridad de los paquetes y para ofuscar el contenido de ciertos atributos.

El ataque Blast-RADIUS vulnera RADIUS cuando se transporta mediante UDP simple atacando MD5 dentro de RADIUS. [ 3 ] RadSec bloquea este ataque. [ 3 ] Otra medida de mitigación recomendada es exigir atributos Message-Authenticator para todas las solicitudes y respuestas. [ 3 ] Se ha asignado el CVE - 2024-3596 para el ataque Blast-RADIUS.

Historia

A medida que más clientes de acceso telefónico utilizaban NSFNET, Merit Network envió una solicitud de propuestas en 1991 para consolidar sus diversos sistemas propietarios de autenticación, autorización y contabilidad. Entre los primeros en responder se encontraba Livingston Enterprises, y tras una reunión se redactó una versión inicial de RADIUS. El primer servidor RADIUS se instaló en un sistema operativo UNIX . Livingston Enterprises fue adquirida por Lucent Technologies y, junto con Merit, se tomaron medidas para lograr la aceptación de RADIUS como protocolo en la industria. Ambas compañías ofrecieron un servidor RADIUS sin costo alguno. [ 13 ] En 1997, RADIUS se publicó como RFC 2058 y RFC 2059; las versiones actuales son RFC 2865 y RFC 2866. [ 14 ]

El estándar RADIUS original especificaba que RADIUS no tenía estado y debía ejecutarse sobre el Protocolo de Datagramas de Usuario (UDP). Para la autenticación, se preveía que RADIUS admitiera el Protocolo de Autenticación de Contraseña (PAP) y el Protocolo de Autenticación de Intercambio de Retos (CHAP) sobre el Protocolo Punto a Punto . Las contraseñas se ocultan calculando el hash MD5 del paquete y una clave secreta compartida, y luego aplicando la operación XOR a ese hash con la contraseña. El RADIUS original también proporcionaba más de 50 pares atributo-valor, con la posibilidad de que los proveedores configuraran sus propios pares. [ 15 ]

La elección del modelo de seguridad salto a salto, en lugar del cifrado de extremo a extremo , implicaba que si se utilizaban varios servidores proxy RADIUS, cada servidor debía examinar, procesar lógicamente y transmitir todos los datos de una solicitud. Esto exponía datos como contraseñas y certificados en cada salto. Los servidores RADIUS tampoco tenían la capacidad de bloquear el acceso a los recursos una vez emitida la autorización. Estándares posteriores, como RFC 3576 y su sucesor RFC 5176, permitieron a los servidores RADIUS modificar dinámicamente la autorización de un usuario o desconectarlo por completo. [ 16 ]

Actualmente, existen varios servidores RADIUS, tanto comerciales como de código abierto. Si bien sus funcionalidades varían, la mayoría permite buscar usuarios en archivos de texto, servidores LDAP , diversas bases de datos, etc. Los registros contables pueden escribirse en archivos de texto, bases de datos, enviarse a servidores externos, etc. SNMP se utiliza frecuentemente para la monitorización remota y la comprobación de la conexión de un servidor RADIUS. Los servidores proxy RADIUS se emplean para la administración centralizada y pueden reescribir paquetes RADIUS sobre la marcha por motivos de seguridad o para convertir entre dialectos de diferentes proveedores.

El protocolo Diameter se concibió como el sustituto de RADIUS. Si bien ambos son protocolos de autenticación, autorización y contabilidad (AAA), sus casos de uso han divergido. Diameter se utiliza principalmente en redes 3G , mientras que RADIUS se emplea en otros ámbitos. Uno de los principales obstáculos para la sustitución de RADIUS por Diameter radica en que los conmutadores y puntos de acceso suelen implementar RADIUS, pero no Diameter. Diameter utiliza SCTP o TCP, mientras que RADIUS normalmente emplea UDP como capa de transporte . Desde 2012, RADIUS también puede utilizar TCP como capa de transporte, con TLS para mayor seguridad.

Documentación de estándares

El protocolo RADIUS se define actualmente en los siguientes documentos RFC de la IETF .

Véase también

Referencias

  1. 1 2 "¿Cómo funciona RADIUS?" . Cisco . 19-01-2006 . Recuperado el 15-04-2009 .
  2. Edwin Lyle Brown (2006). Autenticación basada en puertos 802.1X . Taylor & Francis. pág. 17. ISBN  978-1-4200-4465-2.
  3. 1 2 3 4 "Blast-RADIUS" . 9 de julio de 2024. Consultado el 10 de julio de 2024 .
  4. 1 2 RFC 2865 Servicio de autenticación remota de usuarios de acceso telefónico (RADIUS)
  5. RFC 2866 Contabilidad RADIUS
  6. Dekok, A. (mayo de 2015). "El identificador de acceso a la red" . Grupo de trabajo de ingeniería de Internet (IETF). doi : 10.17487/RFC7542 . Recuperado el 8 de mayo de 2021 .
  7. Alejandro Sotirov; Marc Stevens; Jacob Appelbaum; Arjen Lenstra; David Molnar; Dag Arne Osvik; Benne de Weger (8 de diciembre de 2008). "MD5 se considera dañino hoy en día: creación de un certificado de CA fraudulento" . Universidad Técnica de Eindhoven . Consultado el 19 de abril de 2009 .
  8. Error de cita: La referencia con nombre rfc2866fue invocada pero nunca definida (consulte la página de ayuda ).
  9. Error de cita: La referencia con nombre rfc6614fue invocada pero nunca definida (consulte la página de ayuda ).
  10. "Consideraciones de IANA para RADIUS (Servicio de autenticación remota de usuarios por marcación)" . Ietf Datatracker . Grupo de trabajo de ingeniería de Internet (IETF). Julio de 2003. Consultado el 8 de mayo de 2021 .
  11. RFC 2548
  12. Un análisis del protocolo de autenticación RADIUS
  13. Jonathan Hassell (2003). RADIUS: Garantizando el acceso público a los recursos privados . O'Reilly Media. págs. 15–16 . ISBN  9780596003227.
  14. John Vollbrecht (2006). "Los comienzos y la historia de RADIUS" (PDF) . Interlink Networks . Consultado el 15 de abril de 2009 .
  15. Jonathan Hassell (2003). RADIUS: Garantizando el acceso público a los recursos privados . O'Reilly Media. pág. 16. ISBN  9780596003227.
  16. "Extensiones de autorización dinámica para el servicio de autenticación remota de usuarios telefónicos (RADIUS)" . Ietf Datatracker . Grupo de trabajo de ingeniería de Internet. Enero de 2008. Consultado el 8 de mayo de 2021 .

Bibliografía

  • Hassell, Jonathan (2002). RADIUS - Garantizando el acceso público a recursos privados . O'Reilly & Associates. ISBN 0-596-00322-6. Consultado el 17 de abril de 2009 .
  • Tipos de radio
  • Análisis del protocolo de autenticación RADIUS
  • Decodificación de un rastreo de transacciones RADIUS
  • Uso de Wireshark para depurar RADIUS
Obtenido de " https://en.wikipedia.org/w/index.php?title=RADIUS&oldid=1352933457 "