EN ESTA PÁGINA
Ejemplo: Configurar un servidor RADIUS para la autenticación del sistema
Atributos de RADIUS específicos del proveedor de Juniper Networks
Usar expresiones regulares en un servidor RADIUS o TACACS+ para permitir o denegar comandos
Directrices, condiciones de coincidencia y acciones de VSA de Juniper-Switching-Filter
Autenticación RADIUS
Junos OS admite RADIUS para la autenticación central de usuarios en dispositivos de red. Para utilizar la autenticación RADIUS en el dispositivo, usted (el administrador de red) debe configurar la información sobre uno o varios servidores RADIUS en la red. También puede configurar la contabilidad de RADIUS en el dispositivo para recopilar datos estadísticos sobre los usuarios que inician o cierran sesión en una LAN y enviar los datos a un servidor de contabilidad de RADIUS.
Configurar la autenticación del servidor RADIUS
La autenticación RADIUS es un método para autenticar a los usuarios que intentan acceder a un dispositivo de red. En las siguientes secciones se describe por qué usaría RADIUS y cómo configurarlo.
- Por qué usar RADIUS
- Configurar los detalles del servidor RADIUS
- Configure RADIUS over TLS (RADSEC) para la autenticación del sistema
- Configure RADIUS para usar la instancia de administración
Por qué usar RADIUS
Usted (el administrador de la red) puede utilizar distintos protocolos para la autenticación central de los usuarios en los dispositivos de red, incluidos RADIUS y TACACS+. Recomendamos RADIUS porque es un estándar GTI-I de múltiples proveedores y sus características son más aceptadas que las de TACACS+ u otros sistemas propietarios. Además, recomendamos usar un sistema de contraseña de un solo uso para mayor seguridad, y todos los proveedores de estos sistemas admiten RADIUS.
Debe usar RADIUS cuando sus prioridades sean la interoperabilidad y el rendimiento:
-
Interoperabilidad: RADIUS es más interoperable que TACACS+, principalmente debido a la naturaleza de propiedad de TACACS+. Aunque TACACS+ admite más protocolos, RADIUS es universalmente compatible.
-
Rendimiento: RADIUS es mucho más ligero en sus enrutadores y conmutadores. Por esta razón, los ingenieros de redes generalmente prefieren RADIUS sobre TACACS+.
Configurar los detalles del servidor RADIUS
Para utilizar la autenticación RADIUS en el dispositivo, configure la información sobre uno o varios servidores RADIUS en la red incluyendo una radius-server instrucción en el nivel de [edit system] jerarquía para cada servidor RADIUS. El dispositivo consulta los servidores de RADIUS en el orden en que están configurados. Si el servidor principal (el primero configurado) no está disponible, el dispositivo intenta ponerse en contacto con cada servidor de la lista hasta que reciba una respuesta.
El dispositivo de red puede asignar usuarios autenticados por RADIUS a una cuenta de usuario definida localmente o a una cuenta de plantilla de usuario, lo que determina la autorización. De forma predeterminada, Junos OS asigna usuarios autenticados por RADIUS a la cuenta remotede plantilla de usuario , si está configurado, cuando:
-
El usuario autenticado no tiene una cuenta de usuario configurada en el dispositivo local.
-
El servidor de RADIUS no asigna al usuario a una plantilla de usuario local o la plantilla que asigna el servidor no está configurada en el dispositivo local.
El servidor de RADIUS puede asignar un usuario autenticado a una plantilla de usuario diferente para conceder permisos administrativos diferentes a ese usuario. El usuario conserva el mismo nombre de inicio de sesión en la CLI, pero hereda la clase de inicio de sesión, los privilegios de acceso y el ID de usuario efectivo de la plantilla asignada. Si el usuario autenticado por RADIUS no se asigna a ninguna cuenta de usuario o plantilla de usuario definida localmente, y la plantilla no está configurada, se producirá un error en la remote autenticación.
El remote nombre de usuario es un caso especial en Junos OS y siempre debe ir en minúsculas. Actúa como una plantilla para los usuarios autenticados por un servidor remoto pero que no tienen una cuenta de usuario configurada localmente en el dispositivo. Junos OS aplica los permisos de la remote plantilla a los usuarios autenticados sin una cuenta definida localmente. Todos los usuarios asignados a la plantilla pertenecen a la remote misma clase de inicio de sesión.
Dado que la autenticación remota se configura en varios dispositivos, es común configurarla dentro de un grupo de configuración. Los pasos que se muestran aquí se encuentran en un grupo de configuración llamado global. El uso de un grupo de configuración es opcional.
Para configurar la autenticación por un servidor RADIUS:
Configure RADIUS over TLS (RADSEC) para la autenticación del sistema
RADIUS over TLS (RADSEC) proporciona una comunicación segura y cifrada entre el dispositivo Junos y los servidores de RADIUS para la autenticación del sistema y la contabilidad. El sistema utiliza las API de OpenSSL para establecer sesiones SSL/TLS y llevar a cabo la validación de certificados.
system jerarquía. Para la configuración de RADSEC para el control de acceso a la red, configure RADSEC en la
access jerarquía.
RADSEC protege el tráfico de autenticación administrativa mediante el cifrado TLS en el puerto TCP 2083 (en lugar de los puertos UDP 1812/1813). RADSEC admite dos modos de autenticación:
- TLS unidireccional: El cliente verifica el certificado del servidor mediante certificados de AC de confianza.
- TLS mutuo (mTLS): Tanto el cliente como el servidor se autentican mutuamente mediante certificados.
Antes de empezar:
Asegúrese de lo siguiente:
- Los certificados AC están disponibles para la validación del servidor
- Los certificados de cliente están disponibles (necesarios solo para la autenticación mutua)
Configure certificados de AC:
Puede copiar el archivo y cambiarle el nombre al asunto <hash>.0 en /var/tmp/certs/<trusted-ca-group>/. Como alternativa, también puede crear un vínculo simbólico con el asunto <hash>.0 en /var/tmp/certs/<trusted-ca-group> y vincularlo al archivo de certificado real.
- Genere el hash del nombre del sujeto:
openssl x509 -in <CA-file-name> -noout -subject_hash
- Cree un vínculo simbólico:
ln -s <CA-file-name> <hash>.0
Si hay más de un archivo AC con el mismo valor hash del nombre del sujeto, sus extensiones deben ser diferentes; por ejemplo, 'e5d93f80.1' y así sucesivamente. La búsqueda se realiza en cuanto a cómo se ordenan los números de extensión en consecuencia.
Ejemplo:
cd /var/tmp/certs/grp1/ openssl x509 -in root-ca.crt -noout -subject_hash ln -s root-ca.crt e5d93f80.0
Configure certificados de cliente (solo autenticación mutua):
Para la autenticación mutua, coloque el certificado de cliente y la clave privada en /var/tmp/certs/<certificate-id>/.
La carpeta debe contener:
client.crt- Archivo de certificado de clienteclient.key- Archivo de clave privada del cliente
Ejemplo:
mkdir -p /var/tmp/certs/ca1/ cp client.crt /var/tmp/certs/ca1/ cp client.key /var/tmp/certs/ca1/
Para configurar RADSEC para la autenticación del sistema:
En el siguiente ejemplo, se muestra una configuración completa de RADSEC con autenticación mutua:
[edit]
user@host# show system
login {
user remote {
class operator;
}
}
authentication-order [ radius password ];
radius-server {
1.1.1.1 {
port 2083;
tls {
trusted-ca-group grp1;
mutual-authentication {
certificate-id ca1;
}
}
secret "$9$ABC123"; ## SECRET-DATA
}
}
accounting {
destination {
radius {
server {
1.1.1.1 {
accounting-port 2083;
tls {
trusted-ca-group grp1;
mutual-authentication {
certificate-id ca1;
}
}
secret "$9$ABC123"; ## SECRET-DATA
}
}
}
}
}
Verificación:
Inicie sesión en el dispositivo de red y verifique que la autenticación se ha realizado correctamente. Para confirmar que RADSEC funciona, intente iniciar sesión con una cuenta que no tenga configurada una contraseña local.
Parámetros de configuración:
trusted-ca-group—Nombre de grupo de AC de confianza correspondiente a la carpeta que contiene certificados de AC en/var/tmp/certs/. OpenSSL utiliza estos certificados de AC para validar el certificado del servidor de RADIUS.certificate-id—Identificador de certificado correspondiente a la carpeta que contiene el certificado de cliente y la clave privada en/var/tmp/certs/. Necesario para la autenticación mutua.
Configure RADIUS para usar la instancia de administración
De forma predeterminada, Junos OS enruta los paquetes de autenticación, autorización y contabilidad para RADIUS a través de la instancia de enrutamiento predeterminada. También puede enrutar paquetes RADIUS a través de una interfaz de administración en una instancia de VRF no predeterminada.
Para enrutar paquetes RADIUS a través de la mgmt_junos instancia de administración:
-
Habilite la
mgmt_junosinstancia de administración.[edit system] user@host# set management-instance
-
Configure la
routing-instance mgmt_junosinstrucción para el servidor de autenticación de RADIUS y el servidor de contabilidad de RADIUS, si está configurado.[edit system] user@host# set radius-server server-address routing-instance mgmt_junos user@host# set accounting destination radius server server-address routing-instance mgmt_junos
Ejemplo: Configurar un servidor RADIUS para la autenticación del sistema
En este ejemplo, se configura la autenticación del sistema a través de un servidor RADIUS.
Requisitos
Antes de empezar:
-
Realice la configuración inicial del dispositivo. Consulte la Guía de introducción para su dispositivo.
-
Configure al menos un servidor RADIUS en su red.
Descripción general
En este ejemplo, se agrega un nuevo servidor RADIUS con una dirección IP de 172.16.98.1. Especifique la contraseña secreta compartida del servidor RADIUS como Radiussecret1. El dispositivo almacena el secreto en la base de datos de configuración como un valor cifrado. Por último, especifique la dirección de origen que el dispositivo utiliza en las solicitudes del servidor RADIUS. En la mayoría de los casos, puede utilizar la dirección de circuito cerrado del dispositivo, que en este ejemplo es 10.0.0.1.
Puede configurar la compatibilidad con varios métodos de autenticación de usuario, como la autenticación de contraseña local, RADIUS y TACACS+, en el dispositivo de red. Cuando configure varios métodos de autenticación, puede priorizar el orden en que el dispositivo prueba los distintos métodos. En este ejemplo, configure el dispositivo para que utilice primero los servicios de autenticación de RADIUS y, luego, si eso falla, intente la autenticación de contraseña local.
Un usuario autenticado por RADIUS debe asignarse a una cuenta de usuario local o a una cuenta de plantilla de usuario local en el dispositivo de red, lo cual determina la autorización. De forma predeterminada, si un usuario autenticado por RADIUS no se asigna a una cuenta de usuario local o a una plantilla de usuario específica, el usuario se asigna a la plantilla de remote usuario, si está configurada. En este ejemplo se configura la plantilla de remote usuario.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.
set system radius-server 172.16.98.1 set system radius-server 172.16.98.1 secret Radiussecret1 set system radius-server 172.16.98.1 source-address 10.0.0.1 set system radius-server 172.16.98.1 message-authenticator set system authentication-order [radius password] set system login user remote class operator
Procedimiento paso a paso
Para configurar un servidor RADIUS para la autenticación del sistema:
-
Agregue un nuevo servidor RADIUS y establezca su dirección IP.
[edit system] user@host# set radius-server 172.16.98.1
-
Especifique el secreto compartido (contraseña) del servidor de RADIUS.
[edit system] user@host# set radius-server 172.16.98.1 secret Radiussecret1
-
Especifique la dirección de circuito cerrado del dispositivo como dirección de origen.
[edit system] user@host# set radius-server 172.16.98.1 source-address 10.0.0.1
Si el servidor RADIUS admite el atributo Message Authenticator, entonces:
[edit system] user@host# set radius-server 172.16.98.1 message-authenticator
De lo contrario:
[edit system] user@host# set radius-server 172.16.98.1 no-message-authenticator
El atributo Autenticador de mensajes proporciona protección adicional contra ataques de intermediarios.
-
Especifique el orden de autenticación del dispositivo e incluya la
radiusopción.[edit system] user@host# set authentication-order [radius password]
- Configure la plantilla de
remoteusuario y su clase de inicio de sesión.[edit system] user@host# set login user remote class operator
Resultados
En el modo de configuración, ingrese el comando para confirmar la show system configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración de este ejemplo para corregirla.
El siguiente resultado incluye solo las partes de la jerarquía de configuración que son relevantes para este ejemplo.
[edit]
user@host# show system
login {
user remote {
class operator;
}
}
authentication-order [ radius password ];
radius-server {
172.16.98.1 {
secret "$9$ABC123"; ## SECRET-DATA
source-address 10.0.0.1;
}
}
Después de configurar el dispositivo, ingrese commit al modo de configuración.
Verificación
Confirme que la configuración funcione correctamente.
Verificar la configuración del servidor RADIUS
Propósito
Compruebe que el servidor de RADIUS autentica a los usuarios.
Acción
Inicie sesión en el dispositivo de red y verifique que el inicio de sesión se haya realizado correctamente. Para comprobar que el dispositivo utiliza el servidor RADIUS para la autenticación, puede intentar iniciar sesión con una cuenta que no defina una contraseña de autenticación local en la configuración.
Configurar autenticación RADIUS (serie QFX u OCX)
La autenticación RADIUS es un método para autenticar a los usuarios que intentan acceder al enrutador o conmutador. Las tareas para configurar la autenticación RADIUS son:
La source-address instrucción no se admite en [edit system-radius-server name] el nivel de jerarquía en el sistema QFabric.
- Configurar los detalles del servidor RADIUS
- Configure MS-CHAPv2 para la compatibilidad con el cambio de contraseña
- Especifique una dirección de origen para que Junos OS acceda a servidores RADIUS externos
Configurar los detalles del servidor RADIUS
Para utilizar la autenticación RADIUS en el enrutador o conmutador, configure la información acerca de uno o varios servidores RADIUS en la red incluyendo una radius-server instrucción en el nivel de [edit system] jerarquía para cada servidor RADIUS:
[edit system] radius-server server-address { accounting-port port-number; accounting-retry number; accounting-timeout seconds; dynamic-request-port number; max-outstanding-requests value; message-authenticator; no-message-authenticator; port number; preauthentication-port number; preauthentication-secret secret; retry number; routing-instance routing-instance-name; secret password; source-addresssource-address; timeout seconds; }
server-address es la dirección del servidor de RADIUS.
Puede especificar un puerto en el que ponerse en contacto con el servidor de RADIUS. De forma predeterminada, se utiliza el número de puerto 1812 (como se especifica en RFC 2865). También puede especificar un puerto de contabilidad para enviar paquetes de contabilidad. El valor predeterminado es 1813 (como se especifica en RFC 2866).
Debe especificar una contraseña en la secret password instrucción. Si la contraseña tiene espacios, póngala entre comillas. El secreto utilizado por el enrutador o conmutador local debe coincidir con el utilizado por el servidor.
De manera opcional, puede especificar la cantidad de tiempo que espera el enrutador o conmutador local para recibir una respuesta de un servidor RADIUS (en la timeout instrucción) y la cantidad de veces que el enrutador o conmutador intenta ponerse en contacto con un servidor de autenticación RADIUS (en la retry instrucción). De forma predeterminada, el enrutador o conmutador espera 3 segundos. Puede configurarlo para que sea un valor del 1 al 90 segundos. De forma predeterminada, el enrutador o conmutador vuelve a intentar conectarse al servidor tres veces. Puede configurarlo para que sea un valor de 1 a 10 veces.
Puede utilizar la source-address instrucción para especificar una dirección lógica para servidores individuales o varios servidores RADIUS.
Configure message-authenticator para requerir que el servidor RADIUS incluya el atributo Autenticador de mensajes en las respuestas a los mensajes de solicitud de acceso. Usar no-message-authenticator para no requerir el atributo. Recomendamos que siempre establezca message-authenticator a menos que el servidor RADIUS no admita el atributo Autenticador de mensajes. El atributo Autenticador de mensajes proporciona protección adicional contra ataques de intermediarios.
Para configurar varios servidores RADIUS, incluya varias radius-server instrucciones.
Para configurar un conjunto de usuarios que comparten una sola cuenta con fines de autorización, cree un usuario de plantilla. Para ello, incluya la user instrucción en el nivel de [edit system login] jerarquía, como se describe en Orden de autenticación para LDAPS, RADIUS, TACACS+ y contraseña local.
También puede configurar la autenticación de RADIUS en los [edit access] niveles de jerarquía y [edit access profile] jerarquía. Junos OS utiliza el siguiente orden de búsqueda para determinar qué conjunto de servidores se utiliza para la autenticación:
[edit access profile profile-name radius-server server-address][edit access radius-server server-address][edit system radius-server server-address]
Configure MS-CHAPv2 para la compatibilidad con el cambio de contraseña
Antes de configurar MS-CHAPv2 para la compatibilidad con el cambio de contraseña, asegúrese de lo siguiente:
Configure los parámetros de autenticación del servidor RADIUS.
Establezca el orden de autenticación para utilizar el servidor RADIUS para el intento inicial de contraseña.
Puede configurar la implementación de Microsoft del Protocolo de autenticación por desafío mutuo versión 2 (MS-CHAPv2) en el enrutador o conmutador para admitir el cambio de contraseñas. Esta función ofrece a los usuarios que acceden a un enrutador o conmutador la opción de cambiar la contraseña cuando la contraseña caduca, se restablece o se configura para cambiarse en el próximo inicio de sesión.
Para configurar MS-CHAP-v2, incluya las siguientes instrucciones en el nivel de [edit system radius-options] jerarquía:
[edit system radius-options] password-protocol mschap-v2;
En el ejemplo siguiente se muestran instrucciones para configurar el protocolo de contraseña MS-CHAPv2, el orden de autenticación de contraseña y las cuentas de usuario:
[edit]
system {
authentication-order [ radius password ];
radius-server {
192.168.69.149 secret "$ABC123"; ## SECRET-DATA
}
radius-options {
password-protocol mschap-v2;
}
login {
user bob {
class operator;
}
}
}
Especifique una dirección de origen para que Junos OS acceda a servidores RADIUS externos
Puede especificar qué dirección de origen utiliza Junos OS cuando accede a su red para ponerse en contacto con un servidor RADIUS externo para la autenticación. También puede especificar qué dirección de origen utiliza Junos OS cuando se comunica con un servidor RADIUS para enviar información de contabilidad.
Para especificar una dirección de origen para un servidor RADIUS, incluya la source-address instrucción en el nivel de [edit system radius-server server-address] jerarquía:
[edit system radius-server server-address] source-address source-address;
source-address es una dirección IP válida configurada en una de las interfaces del enrutador o del conmutador.
Atributos de RADIUS específicos del proveedor de Juniper Networks
Junos OS admite la configuración de atributos específicos del proveedor (VSA) de RADIUS de Juniper Networks en el servidor de autentificación. Estos VSA se encapsulan en un atributo específico del proveedor de RADIUS con el ID del proveedor establecido en el número de ID de Juniper Networks, 2636.
En la Tabla 1, se enumeran los VSA de Juniper Networks que puede configurar.
Algunos de los atributos aceptan expresiones regulares extendidas, como se define en POSIX 1003.2. Si la expresión regular contiene espacios, operadores o caracteres comodín, escríbala entre comillas. Para obtener más información, consulte:
| Nombre |
Descripción |
Tipo |
Longitud |
Cadena |
|---|---|---|---|---|
| Nombre de usuario local de Juniper |
Indica el nombre de la plantilla de usuario asignada a este usuario cuando el usuario inicia sesión en un dispositivo. Este atributo solo se utiliza en paquetes Access-Accept. |
1 |
≥3 |
Uno o más octetos que contengan caracteres ASCII imprimibles. |
| Comandos de permiso de Juniper |
Contiene una expresión regular extendida que permite al usuario ejecutar comandos además de los comandos autorizados por los bits de permiso de clase de inicio de sesión del usuario. Este atributo solo se utiliza en paquetes Access-Accept. |
2 |
≥3 |
Uno o más octetos que contienen caracteres ASCII imprimibles en forma de una expresión regular extendida. |
| Comandos de denegación de Juniper |
Contiene una expresión regular extendida que deniega al usuario permiso para ejecutar comandos autorizados por los bits de permiso de clase de inicio de sesión del usuario. Este atributo solo se utiliza en paquetes Access-Accept. |
3 |
≥3 |
Uno o más octetos que contienen caracteres ASCII imprimibles en forma de una expresión regular extendida. |
| Juniper-Allow-Configuration |
Contiene una expresión regular extendida que permite al usuario ver y modificar instrucciones de configuración además de las instrucciones autorizadas por los bits de permiso de clase de inicio de sesión del usuario. Este atributo solo se utiliza en paquetes Access-Accept. |
4 |
≥3 |
Uno o más octetos que contienen caracteres ASCII imprimibles en forma de una expresión regular extendida. |
| Configuración de denegación de Juniper |
Contiene una expresión regular extendida que deniega al usuario permiso para ver o modificar las instrucciones de configuración autorizadas por los bits de permiso de clase de inicio de sesión del usuario. Este atributo solo se utiliza en paquetes Access-Accept. |
5 |
≥3 |
Uno o más octetos que contienen caracteres ASCII imprimibles en forma de una expresión regular extendida. |
| Juniper-Interactive-Command |
Indica el comando interactivo introducido por el usuario. Este atributo solo se utiliza en paquetes de solicitud de contabilidad. |
8 |
≥3 |
Uno o más octetos que contengan caracteres ASCII imprimibles. |
| Cambio de configuración de Juniper |
Indica el comando interactivo que da como resultado un cambio de configuración (base de datos). Este atributo solo se utiliza en paquetes de solicitud de contabilidad. |
9 |
≥3 |
Uno o más octetos que contengan caracteres ASCII imprimibles. |
| Permisos de usuario de Juniper |
Contiene información que el servidor utiliza para especificar los permisos de usuario. Este atributo solo se utiliza en paquetes Access-Accept.
Nota:
Cuando el servidor RADIUS define el |
10 |
≥3 |
Uno o más octetos que contengan caracteres ASCII imprimibles. La cadena es una lista de indicadores de permiso separados por un espacio. El nombre exacto de cada bandera debe especificarse en su totalidad. |
| Tipo de autenticación de Juniper |
Indica el método de autenticación (base de datos local o servidor RADIUS) utilizado para autenticar a un usuario. Si el usuario se autentica mediante una base de datos local, el valor del atributo muestra 'local'. Si el usuario está autenticado mediante un servidor RADIUS o LDAP, el valor del atributo muestra "remoto". |
11 |
≥5 |
Uno o más octetos que contengan caracteres ASCII imprimibles. |
| Puerto de sesión de Juniper |
Indica el número de puerto de origen de la sesión establecida. |
12 |
Tamaño del entero |
Entero |
| juniper-allow-configuration-regexps |
Contiene una expresión regular extendida que permite al usuario ver y modificar instrucciones de configuración además de las instrucciones autorizadas por los bits de permiso de clase de inicio de sesión del usuario. Este atributo solo se utiliza en paquetes Access-Accept. |
13 |
≥3 |
Uno o más octetos que contienen caracteres ASCII imprimibles en forma de una expresión regular extendida. |
| juniper-denegar-configuración-regexps |
Contiene una expresión regular extendida que deniega al usuario permiso para ver o modificar las instrucciones de configuración autorizadas por los bits de permiso de clase de inicio de sesión del usuario. Este atributo solo se utiliza en paquetes Access-Accept. |
14 |
≥3 |
Uno o más octetos que contienen caracteres ASCII imprimibles en forma de una expresión regular extendida. |
Para obtener más información acerca de los VSA, consulte RFC 2138, Servicio de usuario de llamada de autenticación remota (RADIUS).
Usar expresiones regulares en un servidor RADIUS o TACACS+ para permitir o denegar comandos
Junos OS puede asignar usuarios autenticados por RADIUS y TACACS+ a una cuenta de usuario definida localmente o a una cuenta de plantilla de usuario, la cual define los privilegios de acceso del usuario. También puede configurar opcionalmente los privilegios de acceso de un usuario definiendo los atributos específicos del proveedor (VSA) y RADIUS de Juniper Networks + en el servidor de autenticación respectivo.
La clase de inicio de sesión de un usuario define el conjunto de permisos que determina qué comandos de modo operativo y de modo de configuración está autorizado a ejecutar un usuario y qué áreas de la configuración puede ver y modificar. Una clase de inicio de sesión también puede definir expresiones regulares que permiten o niegan a un usuario la capacidad de ejecutar ciertos comandos o ver y modificar ciertas áreas de la configuración, además de lo que autorizan las marcas de permiso. Una clase de inicio de sesión puede incluir las siguientes instrucciones para definir la autorización del usuario:
-
permissions -
allow-commands -
allow-commands-regexps -
allow-configuration -
allow-configuration-regexps -
deny-commands -
deny-commands-regexps -
deny-configuration -
deny-configuration-regexps
De manera similar, una configuración de servidor RADIUS o TACACS+ puede usar VSA de Juniper Networks para definir permisos específicos o expresiones regulares que determinan los privilegios de acceso de un usuario. Para obtener la lista de VSA de RADIUS y TACACS+ compatibles, consulte lo siguiente:
- Atributos de RADIUS específicos del proveedor de Juniper Networks
- .. /concepto/.. /topic-map/user-access-tacacs-authentication.html#id-juniper-networks-vendor-specific-tacacs-attributes
Puede definir permisos de usuario en el servidor RADIUS o TACACS+ como una lista de valores separados por espacios.
-
Un servidor RADIUS utiliza el atributo y la sintaxis siguientes:
Juniper-User-Permissions += "flag1 flag2 flag3",
Por ejemplo:
Juniper-User-Permissions += "interface interface-control configure",
-
Un servidor TACACS+ utiliza el siguiente atributo y sintaxis:
user-permissions = "flag1 flag2 flag3"
Por ejemplo:
user-permissions = "interface interface-control configure"
Un servidor RADIUS o TACACS+ también puede definir VSA de Juniper Networks que usan una sola expresión regular extendida (como se define en POSIX 1003.2) para permitir o negar a un usuario la capacidad de ejecutar ciertos comandos o ver y modificar áreas de la configuración. Puede poner varios comandos o jerarquías de configuración entre paréntesis y separarlos mediante un símbolo de barra vertical. Si la expresión regular contiene espacios, operadores o caracteres comodín, escríbala entre comillas. Cuando se configuran parámetros de autorización tanto local como remotamente, el dispositivo combina las expresiones regulares recibidas durante la autorización TACACS+ o RADIUS con cualquier expresión regular definida en el dispositivo local.
-
Un servidor RADIUS utiliza los siguientes atributos y sintaxis:
Juniper-Allow-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Deny-Commands += "(cmd1)|(cmd2)|(cmdn)", Juniper-Allow-Configuration += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration += "(config1)|(config2)|(confign)",
Por ejemplo:
Juniper-Allow-Commands += "(test)|(ping)|(quit)", Juniper-Deny-Commands += "(request)|(restart)", Juniper-Allow-Configuration += "(groups re0)|(system radius-server)", Juniper-Deny-Configuration += "(system radius-options)|(system accounting)",
-
Un servidor TACACS+ utiliza los siguientes atributos y sintaxis:
allow-commands = "(cmd1)|(cmd2)|(cmdn)" deny-commands = "(cmd1)|(cmd2)|(cmdn)" allow-configuration = "(config1)|(config2)|(confign)" deny-configuration = "(config1)|(config2)|(confign)"
Por ejemplo:
allow-commands = "(test)|(ping)|(quit)" deny-commands = "(request)|(restart)" allow-configuration = "(groups re0)|(system tacplus-server)" deny-configuration = "(system tacplus-options)|(system accounting)"
Los servidores RADIUS y TACACS+ también admiten la configuración de atributos que corresponden a las mismas *-regexps instrucciones que puede configurar en el dispositivo local. Los *-regexps atributos TACACS+ y *-Regexps RADIUS utilizan la misma sintaxis de expresión regular que los atributos anteriores, pero permiten configurar expresiones regulares con variables.
-
Un servidor RADIUS utiliza los siguientes atributos y sintaxis:
Juniper-Allow-Configuration-Regexps += "(config1)|(config2)|(confign)", Juniper-Deny-Configuration-Regexps += "(config1)|(config2)|(confign)",
-
Un servidor TACACS+ utiliza los siguientes atributos y sintaxis:
allow-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" deny-commands-regexps = "(cmd1)|(cmd2)|(cmdn)" allow-configuration-regexps = "(config1)|(config2)|(confign)" deny-configuration-regexps = "(config1)|(config2)|(confign)"
Por ejemplo, la configuración del servidor TACACS+ podría definir los siguientes atributos:
allow-commands-regexps = "(show cli .*)|(ping 10.1.1..*)" deny-commands-regexps = "(configure .*)|(edit)|(commit)|(rollback .*)"
En un servidor RADIUS o TACACS+, también puede definir los atributos mediante una sintaxis simplificada en la que se especifica cada expresión individual en una línea independiente.
Para un servidor RADIUS, especifique las expresiones regulares individuales con la sintaxis siguiente:
Juniper-User-Permissions += "permission-flag1", Juniper-User-Permissions += "permission-flag2", Juniper-User-Permissions += "permission-flagn", Juniper-Allow-Commands += "cmd1", Juniper-Allow-Commands += "cmd2", Juniper-Allow-Commands += "cmdn", Juniper-Deny-Commands += "cmd1", Juniper-Deny-Commands += "cmd2", Juniper-Deny-Commands += "cmdn", Juniper-Allow-Configuration += "config1", Juniper-Allow-Configuration += "config2", Juniper-Allow-Configuration += "confign", Juniper-Deny-Configuration += "config1", Juniper-Deny-Configuration += "config2", Juniper-Deny-Configuration += "confign",
Para un servidor TACACS+, especifique las expresiones regulares individuales con la siguiente sintaxis:
user-permissions1 = "permission-flag1" user-permissions2 = "permission-flag2" user-permissionsn = "permission-flagn" allow-commands1 = "cmd1" allow-commands2 = "cmd2" allow-commandsn = "cmdn" deny-commands1 = "cmd1" deny-commands2 = "cmd2" deny-commandsn = "cmdn" allow-configuration1 = "config1" allow-configuration2 = "config2" allow-configurationn = "confign" deny-configuration1 = "config1" deny-configuration2 = "config2" deny-configurationn = "confign"
-
En la sintaxis del servidor TACACS+, los valores numéricos del 1 al n 1 deben ser únicos, pero no secuenciales. Por ejemplo, la siguiente sintaxis es válida:
allow-commands1="cmd1" allow-commands3="cmd3" allow-commands2="cmd2" deny-commands3="cmd3" deny-commands2="cmd2" deny-commands1="cmd1"
-
El servidor RADIUS o TACACS+ impone un límite en el número de líneas de expresión regular individuales.
-
Cuando se ejecuta el
show cli authorizationcomando, el resultado del comando muestra la expresión regular en una sola línea, incluso si especifica cada expresión individual en una línea independiente.
Los usuarios pueden verificar su clase, permisos y autorización de comando y configuración mediante la emisión del comando de show cli authorization modo operativo.
user@host> show cli authorization
Cuando se configuran los parámetros de autorización tanto localmente en el dispositivo de red como remotamente en el servidor de RADIUS o TACACS+, el dispositivo combina las expresiones regulares recibidas durante la autorización de TACACS+ o RADIUS con cualquier expresión regular configurada localmente. Si la expresión final contiene un error de sintaxis, el resultado general es una expresión regular no válida.
Directrices, condiciones de coincidencia y acciones de VSA de Juniper-Switching-Filter
Los dispositivos admiten la configuración de atributos de servidor RADIUS específicos de Juniper Networks. Estos atributos se conocen como atributos específicos del proveedor (VSA) y se describen en RFC 2138, Servicio de usuario de llamada de autenticación remota (RADIUS). Los atributos específicos del proveedor extienden la funcionalidad del servidor RADIUS más allá de lo proporcionado por los atributos estándar públicos, lo que permite la implementación de muchas características útiles necesarias para la administración de suscriptores y el soporte del servicio.
Los VSA de Juniper Networks tienen el ID de proveedor establecido en 2636.
Los atributos son campos de texto sin formato enviados desde el servidor de RADIUS al dispositivo como resultado de un éxito o error de la autenticación. La autenticación evita el acceso de usuarios no autorizados mediante el bloqueo de un suplicante en el puerto hasta que el dispositivo sea autenticado por el servidor de RADIUS. La implementación de atributos de filtrado con autenticación en el servidor de RADIUS proporciona una ubicación central para controlar el acceso a LAN para los suplicantes.
El atributo de filtro de conmutación de Juniper funciona junto con la autenticación 802.1X para controlar de manera centralizada el acceso de los suplicantes a la red. Puede utilizar este atributo para configurar filtros en el servidor de RADIUS. Estos filtros se envían al conmutador y se aplican a los usuarios que se han autenticado mediante autenticación 802.1X.
El filtro de conmutación de Juniper puede contener uno o más términos de filtro. Los términos de filtro se configuran mediante una o varias condiciones de coincidencia con una acción resultante. Las condiciones de coincidencia son los criterios que debe cumplir un paquete para que se le aplique una acción configurada. La acción configurada es la acción que realiza el conmutador si un paquete cumple los criterios especificados en las condiciones de coincidencia. La acción que puede realizar el conmutador es aceptar o rechazar un paquete.
Agregar un filtro de firewall de puerto a un servidor RADIUS elimina la necesidad de agregar el filtro a varios puertos y dispositivos. Una forma de hacerlo es aplicar un filtro de firewall de puerto previamente configurado directamente al servidor de RADIUS mediante el VSA Juniper-Firewall-filter-name. Al igual que los atributos de filtrado de puertos, este filtro se aplica durante el proceso de autenticación y sus acciones se aplican en el puerto del dispositivo.
Directrices de VSA
Los atributos de RADIUS específicos del proveedor tienen un máximo de 247 caracteres por atributo. Si se requiere más longitud, Juniper admite múltiples instancias del mismo atributo, hasta 4000 caracteres. Para admitir filtros que superen los 247 caracteres, use varios atributos de filtro de conmutación de Juniper. En el ejemplo siguiente se muestran dos atributos, cada uno de los cuales contiene un nuevo término de filtro que está dentro del límite de 247 caracteres:
Juniper-Switching-Filter = "Match ip-protocol 17 destination-port 67 Destination-ip 192.168.1.0/24 Action deny, match destination-ip 10.1.7.253 destination-port 53 action allow" Juniper-Switching-Filter += "Match ip-protocol 1 destination-port 4000 Destination-ip 192.168.21.0/24 Action deny"
El límite de 4000 caracteres está sujeto a la UMT admitida tanto en el servidor RADIUS como en el dispositivo de Juniper, y a la cantidad de otros atributos de RADIUS utilizados.
Las siguientes directrices se aplican a las condiciones y acciones de coincidencia de VSA:
-
Tanto la
matchdeclaración como laactiondeclaración son obligatorias. -
Si no se especifica ninguna condición de coincidencia, cualquier paquete se considera una coincidencia de forma predeterminada.
-
Si no se especifica ninguna acción, la acción predeterminada es denegar el paquete.
-
Cualquiera o todas las opciones se pueden incluir en cada
matchinstrucción yaction. -
La operación AND se realiza en campos que son de un tipo diferente, separados por comas. Los campos del mismo tipo no se pueden repetir.
-
Para que se aplique la
forwarding-classopción, la clase de reenvío debe estar configurada en el conmutador. Si la clase de reenvío no está configurada en el conmutador, se omite esta opción.
condiciones de coincidencia
En la tabla 2 se describen las condiciones de coincidencia que puede especificar cuando se configura un atributo VSA como filtro de firewall mediante el match comando del servidor RADIUS. La cadena que define una condición de coincidencia se denomina instrucción de coincidencia.
| Opción |
Descripción |
|---|---|
|
|
Dirección MAC del paquete. |
|
|
Valor de etiqueta en el encabezado 802.1Q, en el intervalo |
|
|
Dirección del nodo de destino final. |
|
|
Valor del protocolo IPv4. En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto:
|
|
|
Campo de puerto de origen TCP o del protocolo de datagramas de usuario (UDP). Normalmente, esta instrucción match se especifica junto con la |
|
|
Campo de puerto de destino TCP o UDP. Normalmente, esta instrucción match se especifica junto con la
|
Acciones
Cuando se definen uno o varios términos que especifican los criterios de filtrado, también se define la acción que se debe realizar si el paquete cumple con todos los criterios. En la tabla 3 se muestran las acciones que puede especificar en un término.
| Opción |
Descripción |
|---|---|
|
|
Aceptar un paquete o descartar un paquete silenciosamente sin enviar un mensaje del Protocolo de mensajes de control de Internet (ICMP). |
|
|
(Opcional) Clasifique el paquete en una de las siguientes clases de reenvío:
|
|
|
(Opcional) Establezca la prioridad de pérdida de paquetes (PLP) en |
Ver también
Descripción de la contabilidad de RADIUS
Los dispositivos de red admiten GTI-I RFC 2866, Contabilidad RADIUS. Puede configurar la contabilidad de RADIUS en un dispositivo para recopilar datos estadísticos sobre los usuarios que inician o cierran sesión en una LAN y enviar los datos a un servidor de contabilidad de RADIUS. Los datos estadísticos se pueden usar para el monitoreo general de la red, el análisis y el seguimiento de patrones de uso, o para facturar a un usuario en función de la duración de la sesión o el tipo de servicios a los que se accede.
Para configurar la contabilidad de RADIUS, especifique:
-
Uno o más servidores de contabilidad RADIUS para recibir los datos estadísticos del dispositivo
-
El tipo de datos contables que se van a recopilar
Puede utilizar el mismo servidor para la contabilidad y la autenticación de RADIUS, o bien puede utilizar servidores independientes. Puede especificar una lista de servidores de contabilidad de RADIUS. El dispositivo consulta los servidores en el orden en que están configurados. Si el servidor principal (el primero configurado) no está disponible, el dispositivo intenta ponerse en contacto con cada servidor de la lista hasta que reciba una respuesta.
El proceso de contabilidad de RADIUS entre el dispositivo y un servidor de RADIUS funciona así:
-
Un servidor de contabilidad RADIUS escucha los paquetes del protocolo de datagramas de usuario (UDP) en un puerto específico. El puerto predeterminado para la contabilidad de RADIUS es 1813.
-
El dispositivo reenvía un paquete de solicitud de contabilidad que contiene un registro de eventos al servidor de contabilidad. El registro de sucesos asociado a este suplicante contiene un atributo Acct-Status-Type cuyo valor indica el inicio del servicio de usuario para este suplicante. Cuando finaliza la sesión del solicitante, la solicitud de contabilidad contiene un valor de atributo Acct-Status-Type que indica el fin del servicio del usuario. El servidor de contabilidad de RADIUS registra esto como un registro de detención de contabilidad que contiene información de la sesión y la duración de la sesión.
-
El servidor de contabilidad de RADIUS registra estos sucesos en un archivo como registros de inicio de contabilidad o de finalización de contabilidad. En FreeRADIUS, el nombre del archivo es la dirección del servidor, como 192.0.2.0.
-
El servidor de contabilidad envía un paquete de respuesta de contabilidad al dispositivo para confirmar que ha recibido la solicitud de contabilidad.
-
Si el dispositivo no recibe un paquete de respuesta de contabilidad del servidor, continúa enviando solicitudes de contabilidad hasta que el servidor devuelve una respuesta.
Puede ver las estadísticas recopiladas mediante este proceso en el servidor de RADIUS. Para ver esas estadísticas, acceda al archivo de registro configurado para recibirlas.
Configurar la contabilidad del sistema RADIUS
Cuando habilita la contabilidad de RADIUS, los dispositivos de Juniper Networks que actúan como clientes de RADIUS pueden notificar al servidor de RADIUS sobre actividades del usuario, como inicios de sesión de software, cambios de configuración y comandos interactivos. El marco para la contabilidad de RADIUS se describe en RFC 2866, Contabilidad de RADIUS.
Configurar la auditoría de eventos de usuario en un servidor RADIUS
Para configurar la contabilidad de RADIUS:
En el ejemplo siguiente se configuran tres servidores (10.5.5.5, 10.6.6.6 y 10.7.7.7) para la contabilidad de RADIUS:
system {
accounting {
events [ login change-log interactive-commands ];
destination {
radius {
server {
10.5.5.5 {
accounting-port 3333;
secret $ABC123;
source-address 10.1.1.1;
retry 3;
timeout 3;
}
10.6.6.6 secret $ABC123;
10.7.7.7 secret $ABC123;
}
}
}
}
}
Tabla de historial de cambios
La compatibilidad de la función depende de la plataforma y la versión que utilice. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.