Protocolo de capa de aplicación-RADIUS

I. Introducción

Introducción a RADIUS

Protocolo de capa de aplicación Radius es la abreviatura de Servicio de usuario de marcación de autenticación remota , es decir, servicio de usuario de marcación de autenticación remota . Cuando un usuario desea establecer una conexión con un servidor de acceso a la red NAS (servidor de acceso a la red) (este NAS no es el otro NAS) a través de una determinada red (como una red telefónica) para obtener acceso a otras redes, el NAS puede optar por realizar operaciones locales en el NAS Autenticación y contabilidad, o transferencia de información del usuario al servidor Radius, y Radius realiza autenticación y contabilidad. El protocolo Radius especifica cómo transferir información de usuario e información contable entre el NAS y el servidor Radius. El servidor Radius es responsable de recibir la solicitud de conexión del usuario, completar la verificación y devolver la información de configuración requerida para entregar el servicio al usuario al NAS. Por ejemplo, si un usuario solicita ciertos servicios (como SLIP, PPP, telnet), debe pasar por el NAS y el NAS se comunicará con el servidor conectado en un orden determinado para su verificación. El usuario ingresa al NAS marcando, y luego el NAS requiere el nombre de usuario, la contraseña y otra información de acuerdo con el método de autenticación configurado (como PPP PAP, CHAP, etc.), y el usuario ingresa cuando se le solicita. A través de la conexión con el NAS, el NAS obtiene esta información. Luego, el NAS transmite esta información al servidor Radius y determina si el usuario puede obtener el servicio que requiere según la respuesta del servidor.

2. ¿Qué es el protocolo AAA?

En la actualidad, los métodos de autenticación adoptados por los operadores de telecomunicaciones y los proveedores de servicios incluyen principalmente la autenticación local, la autenticación RADIUS y la no autenticación; y las estrategias de cobro son aún más coloridas. Entre las más comunes se incluyen el no cobro (suscripción mensual), el cobro a largo plazo y Contabilidad de tráfico, facturación por puerto, etc. Entre todos estos métodos de autenticación y contabilidad, el uso de RADIUS Server para aplicaciones centralizadas de autenticación y contabilidad es el más popular y extendido.

Radius es una implementación del protocolo AAA, entonces, ¿qué es el protocolo AAA?

AAA es la abreviatura de Autenticación, Autorización y Contabilidad (Autenticación, Autorización, Contabilidad). Es un programa cliente que se ejecuta en el NAS y proporciona una configuración coherente para las tres funciones de seguridad de autenticación, autorización y contabilidad. s marco. Una red permite que los usuarios externos accedan a ella a través de la red pública, por lo que los usuarios pueden estar extremadamente dispersos geográficamente. Una gran cantidad de usuarios dispersos pueden acceder a esta red de forma aleatoria desde diferentes lugares a través de módems (módems, módems) y otros dispositivos. Los usuarios pueden pasar su propia información a esta red u obtener la información que deseen de esta red. Debido al flujo de datos bidireccional entre internos y externos, la seguridad de la red se ha convertido en un tema muy importante. Una gran cantidad de módems forman grupos de módems. La gestión del grupo de módems se convierte en tarea del enrutador o servidor de acceso a la red. El contenido de la gestión incluye: qué usuarios pueden obtener derechos de acceso, qué servicios están permitidos a los usuarios que tienen derechos de acceso y cómo cobrar a los usuarios que utilizan los recursos de la red. AAA cumplió bien estas tres tareas. La configuración de AAA es en realidad una gestión de la seguridad de la red. La seguridad de la red aquí se refiere principalmente al control de acceso, que incluye qué usuarios pueden acceder a los servidores de red, qué servicios están disponibles para los usuarios con derechos de acceso y cómo realizar acciones en los usuarios que utilizan los recursos de la red. Teneduría de libros. A continuación, se presenta brevemente la función de autenticación, autorización y contabilidad.

  • Autenticación (Autenticación): para identificar si el usuario puede obtener acceso.

  • Autorización (autorización): los usuarios autorizados pueden utilizar qué servicios.

  • Contabilidad: registre el uso que hace el usuario de los recursos de la red.

Varias funciones de AAA

  • Función de autenticación, AAA admite los siguientes métodos de autenticación:

    • Sin autenticación: Confíe mucho en los usuarios y no los revise. Generalmente, este método no se usa.

    • Autenticación local: configure la información del usuario (incluido el nombre de usuario, la contraseña y varios atributos de los usuarios locales) en el servidor de acceso. La ventaja de la autenticación local es que es rápida y reduce los costos operativos, pero la cantidad de información almacenada está limitada por las condiciones del hardware del dispositivo.

    • Autenticación remota: Soporta autenticación remota a través del protocolo RADIUS o protocolo HWTACACS El servidor de acceso actúa como el cliente para comunicarse con el servidor RADIUS o servidor TACACS.

  • Función de autorización, AAA admite los siguientes métodos de autorización:

    • Autorización directa: Confíe mucho en el usuario y autorice directamente.

    • Autorización local: autorice de acuerdo con los atributos relevantes configurados para la cuenta de usuario local en el servidor de acceso de banda ancha.

    • Autorización HWTACACS: El servidor TACACS autoriza a los usuarios.

    • autorización si está autenticado: si el usuario está autenticado y el método de autenticación utilizado no es ninguno, el usuario está autorizado a pasar.

    • Autorización después de una autenticación RADIUS exitosa: la autenticación y la autorización del protocolo RADIUS están unidas, y RADIUS no se puede usar solo para la autorización.

  • Función de contabilidad, AAA admite los siguientes métodos de contabilidad:

    • Sin facturación

    • Contabilidad remota: admite contabilidad remota a través del servidor RADIUS o el servidor TACACS.

3. Por qué RADIUS usa UDP en lugar de TCP

Inserte la descripción de la imagen aquí

El protocolo RADIUS utiliza el protocolo UDP y el paquete de datos puede perderse en la red. Si el cliente no recibe una respuesta, el paquete de solicitud se puede reenviar. Si la respuesta aún no se recibe después de múltiples transmisiones, el cliente RADIUS puede enviar un paquete de solicitud al servidor RADIUS de respaldo.
RADIUS es un protocolo de intercambio de información distribuido basado en C / S que puede incluir la red sin la interferencia de un acceso no autorizado. A menudo se utiliza en varios entornos de red que requieren alta seguridad y permiten el acceso de usuarios remotos.

El protocolo define el formato de mensaje RADIUS y el mecanismo de transmisión basado en UDP (Protocolo de datagramas de usuario) y especifica el puerto UDP 1812 como puerto de autenticación y el puerto de contabilidad 1813.

Si es un dispositivo Cisco: el puerto de autenticación y autorización es UDP1645 y el puerto de contabilidad es 1646.

RADIUS era originalmente un protocolo AAA para usuarios de acceso telefónico, pero más tarde, con el desarrollo diversificado de los métodos de acceso de usuarios, RADIUS también se adaptó a múltiples métodos de acceso de usuarios, como el acceso Ethernet. Proporciona servicios de acceso mediante autenticación y autorización, y recopila y registra el uso de los recursos de la red por parte de los usuarios mediante el cobro.

Las razones para usar UDP son las siguientes

  • Los servidores NAS y RADIUS están en su mayoría en la misma LAN, el uso de UDP es más rápido y conveniente.

  • Simplifica la implementación del servidor.

  • Los datos transmitidos entre el NAS y el servidor RADIUS generalmente tienen decenas a cientos de bytes de longitud y los usuarios deben tolerar el tiempo de espera de autenticación de varios segundos a diez segundos. Cuando se trata de una gran cantidad de usuarios, el lado del servidor adopta subprocesos múltiples y UDP simplifica el proceso de implementación en el lado del servidor.

  • TCP debe establecer correctamente una conexión antes de que se pueda llevar a cabo la transmisión de datos Este método tiene un rendimiento deficiente en tiempo real cuando lo utilizan un gran número de usuarios.

  • Cuando falla la solicitud al servidor principal, la solicitud debe enviarse al servidor en espera. Por lo tanto, RADIUS debe tener un mecanismo de retransmisión y un mecanismo de servidor de respaldo. El mecanismo de tiempo que utiliza no puede ser satisfecho por TCP.

  • RADIUS tiene su propio mecanismo para resolver las características de la pérdida de paquetes UDP.

    Si el NAS envía una solicitud a un servidor RADIUS sin recibir la información de devolución, puede solicitar al servidor RADIUS de respaldo que lo retransmita. Dado que hay varios servidores RADIUS de respaldo, el NAS puede usar el método de sondeo al retransmitir. Si la clave del servidor RADIUS de respaldo es diferente de la clave del servidor RADIUS anterior, se requiere una nueva autenticación.

Cuarto, la arquitectura de Radius:

Modelo cliente / servidor.

Cliente RADIUS

Generalmente ubicado en el servidor de acceso a la red NAS (Servidor de acceso a la red), que puede extenderse por toda la red, es responsable de transmitir la información del usuario a un servidor RADIUS designado y luego del procesamiento correspondiente (como aceptar / rechazar el acceso del usuario) según la información devuelta por el servidor.

Como cliente del protocolo RADIUS, el dispositivo implementa las siguientes funciones:

  • Admite el protocolo RADIUS estándar y los atributos extendidos, incluidos RFC (Solicitud de comentarios) 2865 y RFC 2866.
  • Admite atributos privados extendidos de Huawei.
  • Detección activa del estado del servidor RADIUS.
  • Almacenamiento en búfer local y retransmisión de paquetes finales de contabilidad.
  • Función de conmutación automática del servidor RADIUS.

Servidor de radio

Generalmente se ejecuta en una computadora central o estación de trabajo, mantiene la autenticación de usuario relevante y la información de acceso al servicio de red, es responsable de recibir las solicitudes de conexión de los usuarios y autenticar a los usuarios, y luego devolver toda la información requerida al cliente (como aceptar / rechazar solicitudes de autenticación). El servidor RADIUS generalmente mantiene tres bases de datos.
Inserte la descripción de la imagen aquí

  • Usuarios: se utiliza para almacenar información de usuario (como nombre de usuario, contraseña e información de configuración, como el protocolo utilizado y la dirección IP).
  • Clientes: se utiliza para almacenar información del cliente RADIUS (como claves compartidas y direcciones IP de dispositivos de acceso).
  • Diccionario: se utiliza para almacenar el significado de atributos y valores de atributos en el protocolo RADIUS.

Cinco, las principales características de Radius

  • Modelo cliente / servidor

El servidor de acceso a la red (NAS) funciona como un cliente RADIUS. El cliente es responsable de pasar la información del usuario al servidor RADIUS designado y luego realizar operaciones en la respuesta devuelta. El servidor RADIUS es responsable de recibir la solicitud de conexión del usuario, autenticar al usuario y luego devolver a todos los clientes para entregar el servicio de información de configuración requerido al usuario.

El servidor RADIUS se puede utilizar como cliente proxy de otros servidores RADIUS u otros tipos de servidores de autenticación.

  • la seguridad cibernética

La transacción entre el cliente y el servidor RADIUS se realiza mediante el uso de un secreto compartido para la autenticación. Además, el envío de cualquier contraseña de usuario está cifrado entre el cliente y el servidor RADIUS, lo que elimina la posibilidad de que alguien espíe en una red insegura para determinar la contraseña del usuario.

  • Mecanismo de autenticación flexible

El servidor RADIUS puede admitir varios métodos de autenticación de usuarios. Incluyendo autenticación PAP punto a punto (PPP PAP), autenticación CHAP punto a punto (PPP CHAP), operación de inicio de sesión UNIX (inicio de sesión UNIX) y otros mecanismos de autenticación.

  • Protocolo escalable

Todas las transacciones se componen de 3 tuplas de valor de longitud de atributo de longitud variable. Se pueden agregar nuevos valores de atributo para afectar la implementación existente del protocolo.

Seis, paquete RADIUS

Formato de paquete RADIUS


Inserte la descripción de la imagen aquí
La explicación de cada campo de la transmisión del mensaje basada en el mensaje UDP es la siguiente:

  • Código: la longitud es de 1 byte y se utiliza para describir el tipo de paquete RADIUS.
Valor de código Tipo de mensaje
1 Acceso requerido
2 Acceso-Aceptar
3 Acceso-Rechazar
4 Solicitud de contabilidad
5 Contabilidad-Respuesta
11 Desafío de acceso
255 Reservado (reservado, utilizado al generar un nuevo paquete de datos)
  • Identificador: la longitud es de 1 byte (0 ~ 255), que se utiliza para hacer coincidir el mensaje de solicitud y el mensaje de respuesta, y para detectar el mensaje de solicitud retransmitido dentro de un período de tiempo (para evitar ataques de repetición). Después de que el cliente envía el mensaje de solicitud, el valor del identificador en el mensaje de respuesta devuelto por el servidor debe ser el mismo que el valor del identificador en el mensaje de solicitud .
  • Longitud: la longitud es de 2 bytes, que se utiliza para especificar la longitud del paquete RADIUS. Indica la longitud del área de datos RADIUS (incluido código, identificador, longitud, autenticador, atributos), en bytes, el mínimo es 20 y el máximo es 4096. Los bytes que excedan el valor de Longitud se ignorarán como caracteres de relleno. Si la longitud real del paquete recibido es menor que el valor de Longitud, el paquete se descartará.
  • Autenticador: la longitud es de 16 bytes, se utiliza para verificar el mensaje de respuesta del servidor RADIUS y también se utiliza para cifrar la contraseña del usuario.
  • Atributo: longitud variable, el cuerpo principal del mensaje, que se utiliza para llevar información especial de autenticación, autorización y contabilidad, y proporciona detalles de configuración de los mensajes de solicitud y respuesta. El atributo puede incluir múltiples atributos, y cada atributo está representado por la estructura de triples (tipo, longitud, valor) (el significado de los valores de atributos específicos no está elaborado).

Tipo de mensaje RADISU:

Actualmente, RADIUS define dieciséis tipos de mensajes.

Paquete de autenticación RADIUS
  • Solicitud de acceso: mensaje de solicitud de autenticación, el primer mensaje en el proceso de interacción del mensaje RADIUS, que se utiliza para transportar información de autenticación del usuario (por ejemplo, nombre de usuario, contraseña, etc.). El cliente RADIUS envía el mensaje de solicitud de autenticación al servidor RADIUS, y el servidor RADIUS determina si se permite el acceso de acuerdo con la información del usuario contenida en el mensaje .

  • Access-Accept: mensaje de aceptación de autenticación, que es el mensaje de respuesta de aceptación del servidor al mensaje de solicitud de acceso enviado por el cliente. Si todos los atributos del mensaje de solicitud de acceso son aceptables (es decir, se pasa la autenticación), se envía este tipo de mensaje. Una vez que el cliente recibe este mensaje, el usuario autenticado puede ser autenticado y otorgado la autoridad correspondiente.

  • Rechazo de acceso: el mensaje de rechazo de autenticación es el mensaje de respuesta de rechazo del servidor al mensaje de solicitud de acceso del cliente. Si algún atributo del paquete de solicitud de acceso es inaceptable (es decir, falla la autenticación), el servidor RADIUS devuelve un paquete de rechazo de acceso y falla la autenticación del usuario.

Paquete de contabilidad RADIUS
  • Solicitud de contabilidad (inicio): mensaje de solicitud de inicio de contabilidad. Si el cliente usa el modo RADIUS para la contabilidad, el cliente enviará un mensaje de solicitud de inicio de contabilidad al servidor cuando el usuario comience a acceder a los recursos de la red.

  • Respuesta de contabilidad (inicio): mensaje de respuesta de inicio de contabilidad. Una vez que el servidor recibe y registra con éxito el mensaje de solicitud de inicio de carga, debe responder con un mensaje de respuesta de inicio de carga.

  • Solicitud de contabilidad (actualización intermedia): mensaje de solicitud de contabilidad en tiempo real. Para evitar que el servidor de carga no reciba el mensaje de solicitud de parada de carga y continúe cargando para el usuario, puede configurar la función de carga en tiempo real en el cliente . El cliente envía periódicamente mensajes de contabilidad en tiempo real al servidor para reducir los errores de contabilidad.

  • Respuesta de contabilidad (actualización intermedia): mensaje de respuesta de contabilidad en tiempo real. Una vez que el servidor recibe y registra con éxito el mensaje de solicitud de cargo en tiempo real, debe responder con un mensaje de respuesta de cargo en tiempo real.

  • Solicitud de contabilidad (parada): mensaje de solicitud de fin de contabilidad. Cuando el usuario está desconectado (la conexión también puede ser desconectada por el servidor de acceso), el cliente envía un mensaje de solicitud de finalización de facturación al servidor, que incluye la información estadística de los recursos de red utilizados por el usuario (tiempo en línea, entrada / salida El número de bytes, etc.), solicite al servidor que detenga la contabilidad.

  • Respuesta de contabilidad (parada): mensaje de respuesta de fin de contabilidad. Una vez que el servidor recibe el mensaje de solicitud de parada de carga, debe responder con un mensaje de respuesta de parada de carga.

Paquete de autorización RADIUS

CoA: (Cambio de autorización) significa que después de que el usuario se autentica con éxito, el administrador puede modificar la autoridad del usuario en línea a través del protocolo RADIUS.

DM: (Mensaje de desconexión) se refiere a un mensaje de usuario fuera de línea, es decir, un mensaje iniciado por el servidor RADIUS para obligar a un usuario a desconectarse.

  • CoA-Request: mensaje de solicitud de autorización dinámica. Cuando el administrador necesita cambiar la autoridad de un usuario en línea (por ejemplo, el administrador no quiere que el usuario acceda a un determinado sitio web), se puede enviar un mensaje de solicitud de autorización dinámica al cliente a través del servidor, para que el cliente pueda modificar la autoridad del usuario en línea.

  • CoA-ACK: Mensaje de aceptación de solicitud de autorización dinámica. Si el cliente cambia con éxito la autoridad del usuario, el cliente responde al mensaje de aceptación de solicitud de autorización dinámica al servidor.

  • CoA-NAK: mensaje de rechazo de solicitud de autorización dinámica. Si el cliente no puede cambiar la autoridad del usuario, el cliente responde con un mensaje de rechazo de solicitud de autorización dinámica al servidor.

  • DM-Request: mensaje de solicitud de usuario fuera de línea. Cuando el administrador necesita permitir que un usuario en línea esté fuera de línea, puede enviar un mensaje de solicitud de usuario fuera de línea al cliente a través del servidor, de modo que el cliente finalice la conexión del usuario.

  • DM-ACK: el usuario solicita aceptar mensajes sin conexión. Si el cliente ha cortado la conexión del usuario, el cliente responde a la solicitud fuera de línea del usuario para aceptar el mensaje al servidor.

  • DM-NAK: el usuario solicita un mensaje de rechazo fuera de línea. Si el cliente no puede cortar la conexión del usuario, el cliente responde a la solicitud fuera de línea del usuario con un mensaje de rechazo al servidor.

Siete, proceso de trabajo RADIUS

Inserte la descripción de la imagen aquí

  1. Acceso telefónico de usuario

  2. El dispositivo de marcación (como NAS) empaqueta la información del usuario de marcación (como nombre de usuario, contraseña, puerto ocupado, etc.) en el servidor RADIUS. Si el servidor Radius envía un desafío de acceso para solicitar una autenticación secundaria, el cliente Radius recopilará la información del usuario nuevamente y la enviará a través de la solicitud de acceso.

  3. Si el usuario es un usuario legítimo, Radius le dice al NAS que el usuario puede acceder a Internet y al mismo tiempo devuelve los parámetros de configuración del usuario; de lo contrario, Radius retroalimenta la información ilegal del usuario al NAS.

  4. Si el usuario es válido, el NAS lo configura de acuerdo con los parámetros de configuración devueltos por el servidor RADIUS. Si el usuario es ilegal, el NAS enviará un mensaje de error al usuario y lo desconectará.

  5. Si el usuario puede acceder a la red, el cliente RADIUS debe enviar un paquete de solicitud de contabilidad al servidor RADIUS para indicar que se inició la contabilidad del usuario.

  6. El servidor RADIUS responderá después de recibir y registrar con éxito el paquete de solicitud.

  7. Cuando el usuario se desconecta (la conexión también puede ser desconectada por el servidor de acceso).

  8. El cliente RADIUS envía un paquete de solicitud de detención de contabilidad al servidor RADIUS, que contiene la información estadística de los recursos de red utilizados por el usuario para acceder a Internet (la duración del acceso a Internet, la cantidad de bytes / paquetes de entrada / salida, etc.).

  9. El servidor RADIUS responderá después de recibir y registrar con éxito el paquete de solicitud.

8. Proxy RADIUS

Para un servidor proxy RADIUS, después de que un servidor RADIUS recibe una solicitud de autenticación (o solicitud de contabilidad) de un cliente RADIUS (como un servidor NAS), envía la solicitud a un servidor RADIUS remoto y recibe la solicitud del servidor remoto. Después de responder, la respuesta se transmite al cliente, esta respuesta puede contener cambios que reflejen la estrategia de gestión local. El servidor proxy RADIUS se usa generalmente para roaming. La función de itinerancia permite que dos o más entidades de gestión permitan a cada usuario marcar a cualquier red de entidad para un determinado servicio.

Un servidor RADIUS puede funcionar como servidor de reenvío y como servidor remoto al mismo tiempo. Como servidor de reenvío en algunos dominios, como servidor remoto en otros dominios. Un servidor de reenvío puede actuar como reenviador para cualquier número de servidores remotos. Un servidor remoto puede tener cualquier número de servidores de reenvío que le reenvíen, y también puede proporcionar autenticación a cualquier número de dominios. Un servidor de reenvío puede reenviar a otro servidor de reenvío, generando así una cadena de proxy, y se debe tener cuidado para evitar referencias circulares.

El siguiente procedimiento explica la comunicación de un servidor proxy entre un servidor NAS, un servidor de reenvío y un servidor remoto.

  1. El NAS envía una solicitud de acceso a un servidor de reenvío.
  2. El servidor de reenvío reenvía la solicitud a un servidor remoto.
  3. El servidor remoto devuelve un permiso de acceso, un rechazo de acceso o un desafío de acceso al servidor de reenvío. En este momento, el servidor devuelve el permiso de acceso.
  4. El servidor de reenvío transmite el permiso de acceso al NAS.

El servidor de reenvío debe tratar cualquier atributo de estado del agente que ya esté en el paquete de datos como datos invisibles. Su funcionamiento no debe depender del contenido agregado al atributo de estado del agente por el servidor anterior.

Si hay atributos de estado de proxy en la solicitud recibida del cliente, el servidor de reenvío debe incluir estos atributos de estado de proxy en la respuesta al cliente. Cuando el servidor de reenvío reenvía esta solicitud, puede incluir el atributo de estado de proxy en ella o puede ignorar el atributo de estado de proxy en la solicitud reenviada. Si el servidor de reenvío ignora los atributos de estado de proxy en la solicitud de acceso reenviado, debe agregar estos atributos de estado de proxy a la respuesta antes de que la respuesta se devuelva al usuario.

Supongo que te gusta

Origin blog.csdn.net/qq_40741808/article/details/106721220
Recomendado
Clasificación