Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Privilegios de acceso del usuario

Usted (el administrador del sistema) concede a los usuarios acceso o permisos a comandos y niveles e instrucciones de jerarquía de configuración. Los usuarios solo pueden ejecutar esos comandos, ver y configurar solo aquellas instrucciones para las que tengan privilegios de acceso. También puede usar expresiones regulares extendidas para especificar qué comandos de modo operativo, instrucciones de configuración y jerarquías se permiten o niegan para los usuarios. Esta práctica impide que usuarios no autorizados ejecuten comandos confidenciales o configuren instrucciones que podrían ocasionar daños en la red.

Descripción general de los niveles de privilegios de acceso

Cada instrucción de configuración CLI nivel superior tiene un nivel de privilegio de acceso asociado. Los usuarios sólo pueden ejecutar esos comandos, así como configurar y ver únicamente aquellos extractos para los que tengan privilegios de acceso. Una o más marcas de permiso definen los privilegios de acceso para cada clase de inicio de sesión.

Para cada clase de inicio de sesión, también puede permitir o denegar explícitamente el uso de comandos de modo operativo y de modo de configuración y jerarquías de instrucciones que de otro modo se permitirían o negarían mediante un nivel de privilegio especificado en la permissions instrucción.

Indicadores de permiso de clase de inicio de sesión

Puede usar indicadores de permiso para otorgar a un usuario acceso a comandos de modo operativo y niveles e instrucciones de jerarquía de configuración. Puede configurar indicadores de permiso para la clase de inicio de sesión del usuario en el [edit system login class] nivel jerárquido. Cuando se especifica un indicador de permiso determinado, el usuario obtiene acceso a los comandos y a los niveles e instrucciones de jerarquía de configuración que corresponden a ese indicador. Para conceder acceso a todos los comandos y a las instrucciones all de configuración, utilice la marca de permisos.

Nota:

Cada comando mostrado representa ese comando y todos los subcomandos que tienen ese comando como un prefijo. Cada instrucción de configuración mostrada representa la parte superior de la jerarquía de configuración a la que este marcador concede acceso.

La permissions instrucción especifica uno o más de los indicadores de permiso enumerados en Tabla 1. Los indicadores de permiso no son acumulativos. Para cada clase, debe enumerar todas las marcas de permiso necesarias, incluidas para mostrar view información y entrar en el modo de configure configuración. Dos formas de permiso controlan el acceso de un usuario a las partes individuales de la configuración:

  • Formato "sin formato": proporciona capacidad de solo lectura para ese tipo de permiso. Un ejemplo interface.

  • -control formulario: proporciona capacidad de lectura y lectura para ese tipo de permiso. Un ejemplo interface-control.

Para los indicadores de permiso que conceden acceso a instrucciones y niveles de jerarquía de configuración, los indicadores de formato sin formato otorgan privilegios de solo lectura a esa configuración. Por ejemplo, la marca interface de permiso concede acceso de solo lectura al nivel de [edit interfaces] jerarquía. La -control forma del indicador concede acceso de lectura y escritura a esa configuración. Por ejemplo, el interface-control indicador concede acceso de lectura y lectura a nivel de [edit interfaces] jerarquía.

Tabla 1 enumera los indicadores de permiso de clase de inicio de sesión que puede configurar incluyendo la permissions instrucción en el nivel de [edit system login class class-name] jerarquía.

Los indicadores de permisos conceden un conjunto específico de privilegios de acceso. Cada indicador de permiso se muestra con los comandos de modo operativo o modo de configuración, así como los niveles e instrucciones de jerarquía de configuración para las que dicha marca concede acceso.

Tabla 1: Indicadores de permiso de clase de inicio de sesión

Marca de permiso

Description

access

Puede ver la configuración de acceso en modo operativo o en modo de configuración.

access-control

Puede ver y configurar la información de acceso [edit access] en el nivel de jerarquía.

admin

Puede ver la información de la cuenta de usuario en modo operativo o en modo de configuración.

admin-control

Puede ver la información de las cuentas de usuario y [edit system] configurarla en el nivel de jerarquía.

all

Puede tener acceso a todos los comandos del modo operativo y a los comandos del modo de configuración. Puede modificar la configuración en todos los niveles de jerarquía de configuración.

clear

Puede borrar (eliminar) la información que el dispositivo aprende de la red y almacena en varias bases de datos de red (mediante clear los comandos).

configure

Puede entrar en el modo de configuración configure (con el comando) y asignar configuraciones commit (mediante el comando).

control

Puede realizar todas las operaciones a nivel de control: todas las operaciones configuradas con los indicadores -control de permiso.

field

Permite ver comandos de depuración de campo. Reservado para la compatibilidad con depuración.

firewall

Puede ver la configuración del filtro de firewall en modo operativo o en modo de configuración.

firewall-control

Permite ver y configurar la información de filtros del [edit firewall] cortafuegos en el nivel de jerarquía.

floppy

Puede leer y escribir en los medios extraíbles.

flow-tap

Puede ver la configuración del flujo de toque en modo operativo o en modo de configuración.

flow-tap-control

Puede ver y configurar la información de flujo de toque en el [edit services flow-tap] nivel de jerarquía.

flow-tap-operation

Puede realizar solicitudes de punteo de flujo en el enrutador o conmutador. Por ejemplo, un cliente del Protocolo de control de tareas dinámicas (DTCP) debe tener permiso para autenticarse como flow-tap-operationJunos OS usuario administrativo.

Nota:

La flow-tap-operation opción no está incluida en la all-control marca de permisos.

idp-profiler-operation

Puede ver los datos del generador de perfiles.

interface

Puede ver la configuración de la interfaz en modo operativo y modo de configuración.

interface-control

Puede ver la información de configuración de chasis, clase de servicio (COS), grupos, opciones de reenvío e interfaces. Puede modificar la configuración en los siguientes niveles de jerarquía:

  • [edit chassis]

  • [edit class-of-service]

  • [edit groups]

  • [edit forwarding-options]

  • [edit interfaces]

maintenance

Puede realizar tareas de mantenimiento del sistema, como iniciar un shell local en el dispositivo y convertirse en el superusuario en el shell (mediante el comando) y detener y reiniciar el dispositivo (mediante los su rootrequest system comandos).

network

Puede acceder a la red con los pingcomandos ssh, telnet, y traceroute .

pgcp-session-mirroring

Puede ver la pgcp configuración del reflejo de sesión.

pgcp-session-mirroring-control

Puede modificar la pgcp configuración del reflejo de sesión.

reset

Puede reiniciar los procesos de software con el restart comando.

rollback

Puede usar el rollback comando para volver a una configuración que se haya confirmado anteriormente.

routing

Puede ver información de configuración de políticas de enrutamiento, protocolos de enrutamiento y enrutamiento generales en modo de configuración y modo operativo.

routing-control

Puede ver y configurar el enrutamiento general en el nivel de jerarquía, los protocolos de enrutamiento en el nivel de jerarquía e información de políticas [edit routing-options] de enrutamiento en el nivel de [edit protocols][edit policy-options] jerarquía.

secret

Puede ver contraseñas y otras claves de autenticación en la configuración.

secret-control

Puede ver y modificar contraseñas y otras claves de autenticación en la configuración.

security

Puede ver la información de configuración de seguridad en el modo operativo y en el modo de configuración.

security-control

Puede ver y configurar la información de seguridad [edit security] en el nivel de jerarquía.

shell

Puede iniciar un shell local en el enrutador o conmutador mediante start shell el comando.

snmp

Puede ver la información de configuración del Protocolo simple de administración de red (SNMP) en modo operativo o en modo de configuración.

snmp-control

Puede ver y modificar la información de configuración SNMP en el [edit snmp] nivel de jerarquía.

system

Puede ver información a nivel del sistema en modo operativo o modo de configuración.

system-control

Puede ver y modificar la información de configuración a nivel del sistema en el [edit system] nivel de jerarquía.

trace

Permite ver la configuración del archivo de seguimiento y configurar las propiedades del archivo de seguimiento.

trace-control

Puede modificar la configuración del archivo de seguimiento y configurar las propiedades del archivo de seguimiento.

view

Puede utilizar varios comandos para mostrar los valores y estadísticas específicos del sistema y de la tabla de enrutamiento, y de los protocolos. No se puede ver la configuración secreta.

view-configuration

Permite ver toda la configuración con exclusión de secretos, scripts del sistema y opciones de evento.

Nota:

Solo los usuarios con maintenance permiso pueden ver la secuencia de comandos de ejecución, la secuencia de comandos OP o la configuración de script de eventos.

Permitir y denegar comandos individuales y jerarquías de instrucciones para clases de inicio de sesión

De forma predeterminada, todos los comandos CLI nivel superior y los niveles de jerarquía de configuración tienen niveles de privilegios de acceso asociados. Los usuarios solo pueden ejecutar esos comandos, ver y configurar solo aquellas instrucciones para las que tengan privilegios de acceso. Para cada clase de inicio de sesión, puede permitir y denegar explícitamente el uso de comandos de modo operativo y modo de configuración y jerarquías de instrucciones que de otro modo se permitirían o negarían mediante un nivel de privilegio especificado en la permissions instrucción.

Los indicadores de permiso conceden a un usuario acceso a los comandos del modo operativo y del modo de configuración, así como a los niveles e instrucciones de jerarquía de configuración. Mediante la especificación de un indicador de permiso específico en la clase de inicio de sesión del usuario en el nivel jerárquico, se le concede acceso al usuario a los comandos y niveles e instrucciones de jerarquía de [edit system login class] configuración correspondientes. Para conceder acceso a todos los comandos y a las instrucciones all de configuración, utilice la marca de permisos.

Puede permitir o denegar explícitamente el uso de comandos e instrucciones configurando allow-commands la , y las instrucciones para una clase de inicio de deny-commandsallow-configurationdeny-configuration sesión. En las instrucciones, se utilizan expresiones regulares extendidas para definir qué comandos e instrucciones permitir o denegar para los usuarios asignados a la clase.

Ejemplo: Configurar los permisos de usuario con niveles de privilegios de acceso

En este ejemplo, se configuran los permisos de usuario para una clase de inicio de sesión. Puede configurar los permisos de usuario para una clase de inicio de sesión para evitar que los usuarios realicen acciones de red no autorizadas. Los usuarios solo pueden ejecutar esos comandos, ver y modificar solo aquellas instrucciones para las que tengan privilegios de acceso. Esta restricción impide que usuarios no autorizados ejecuten comandos confidenciales o configuren instrucciones que podrían ocasionar daños en la red.

Requisitos

No es necesaria ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.

Descripción general

Cada comando de nivel superior de la CLI y cada estado de la configuración tienen asociado un nivel de privilegio de acceso. Cuando configure una clase de inicio de sesión, puede permitir o denegar explícitamente el uso de comandos e instrucciones de configuración del modo operativo y del modo de configuración. Los usuarios solo pueden ejecutar esos comandos, ver y configurar solo aquellas instrucciones para las que tengan privilegios de acceso.

Los privilegios de acceso se definen para cada clase de inicio de sesión especificando uno o más indicadores de permiso en la permissions instrucción. Los indicadores de permiso conceden a un usuario acceso a comandos, instrucciones y jerarquías. Los indicadores de permiso no son acumulativos. Para cada clase de inicio de sesión, debe enumerar todas las marcas de permiso necesarias, incluidas para mostrar view información y entrar en el modo de configure configuración. Mediante la especificación de un indicador de permiso específico en la clase de inicio de sesión del usuario, se le concede acceso al usuario a los comandos, instrucciones y jerarquías correspondientes. Para conceder acceso a todos los comandos y a las instrucciones all de configuración, utilice la marca de permisos. Las marcas de permiso proporcionan un formato de solo lectura ("sin formato") y la capacidad de lectura y escribir (formulario que termina en -control) para un tipo de permiso.

Nota:

Los bits de permiso de clase de inicio de sesión all tienen prioridad sobre las expresiones regulares extendidas cuando un usuario emite un comando con el indicador de permiso rollbackrollback habilitado.

Para configurar los niveles de privilegios de acceso del usuario para una clase de inicio de sesión, incluya la instrucción en el nivel de jerarquía, seguido permissions de los [edit system login class class-name] indicadores de permiso. Configure varios permisos como una lista separada por espacios entre corchetes:

Consejo:

Para ver los permisos disponibles, utilice la ayuda contextual de CLI y escriba un signo de interrogación (?) después de la permissions instrucción:

Configuración

En este ejemplo, se configura la snmp-admin clase de inicio de sesión. Los usuarios de esta clase de inicio de sesión solo pueden configurar y ver parámetros SNMP.

Configurar los permisos de usuario con niveles de privilegios de acceso

Procedimiento paso a paso

Para configurar los privilegios de acceso para la clase de inicio de sesión:

  1. Configure la snmp-admin clase de inicio de sesión con los configuresnmp indicadores , y de snmp-control permiso.

    Los indicadores de permiso configurados proporcionan capacidades de lectura (snmp) y de lectura y lectura (snmp-control) para SNMP, y este es el único privilegio de acceso permitido para esta clase de inicio de sesión. Se niegan todos los demás privilegios de acceso.

  2. Cree las cuentas de usuario que se asignan a la clase snmp-admin de inicio de sesión.

Resultados

En el modo de configuración, escriba el show system login comando para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Después de configurar el dispositivo, ingrese commit en el modo de configuración.

Verificación

Inicie sesión con un nombre de usuario asignado a la nueva clase de inicio de sesión y confirme que la configuración funciona correctamente.

Verificar la configuración SNMP

Propósito

Compruebe que un usuario en la clase snmp-admin de inicio de sesión puede configurar SNMP.

Acción

En el modo de configuración, configure instrucciones SNMP en el [edit snmp] nivel de jerarquía.

Significado

El usuario en la snmp-admin clase de inicio de sesión puede configurar parámetros SNMP. El usuario puede configurar estos parámetros porque los indicadores de permiso especificados para esta clase incluyen bits de permiso snmp (capacidades de lectura) y snmp-control (capacidades de lectura y lectura).

Verificar configuración que no es SNMP

Propósito

Compruebe que un usuario en la clase de inicio de sesión no puede modificar instrucciones de configuración que no snmp-admin son SNMP.

Acción

En el modo de configuración, intente configurar cualquier instrucción no SNMP, como una instrucción en la interfaces jerarquía.

Significado

El usuario de la clase de inicio de sesión no puede configurar la jerarquía porque los indicadores de permiso especificados para esta snmp-admin[edit interfaces] clase no lo permiten. En este caso, el CLI emite un mensaje de error.

Expresiones regulares para permitir y denegar comandos de modo operativo, instrucciones de configuración y jerarquías

Este tema contiene las siguientes secciones:

Descripción de las instrucciones Permitir y Denegar

Cada comando de nivel CLI y jerarquía de instrucciones de configuración tiene un nivel de privilegio de acceso asociado. Cada clase de inicio de sesión puede permitir o denegar explícitamente el uso de comandos de modo operativo y modo de configuración, así como jerarquías e instrucciones de configuración que de otro modo se podrían permitir o denegar mediante un nivel de privilegio. Los usuarios solo pueden ejecutar esos comandos, ver y configurar solo aquellas instrucciones para las que tengan privilegios de acceso.

Los privilegios de acceso para cada clase de inicio de sesión se definen mediante uno o más indicadores de permiso especificados en la permissions instrucción en el nivel de [edit system login class class-name] jerarquía. Además, puede permitir o denegar el uso de comandos y jerarquías de configuración específicos mediante la definición de expresiones regulares extendidas. Puede especificar las expresiones regulares mediante la configuración de las siguientes instrucciones para una clase de inicio de sesión:

  • allow-commands y: permitir o denegar el acceso a los comandos del modo operativo y deny-commands del modo de configuración.

  • allow-configuration y: deny-configuration permitir o denegar el acceso a jerarquías de configuración específicas.

    Nota:

    Estas instrucciones realizan una correspondencia más lenta, con más flexibilidad, especialmente en la coincidencia de caracteres comodín. Sin embargo, puede tardar mucho tiempo en evaluar todas las instrucciones posibles si se configura una gran cantidad de expresiones regulares de ruta completa o comodín, lo que posiblemente afecte al rendimiento.

  • allow-commands-regexps y: deny-commands-regexps permitir o denegar el acceso a comandos particulares mediante cadenas de expresiones regulares.

  • allow-configuration-regexps y: permitir o denegar el acceso a jerarquías de configuración específicas deny-configuration-regexps mediante cadenas de expresiones regulares.

Nota:

Si las configuraciones existentes utilizan las instrucciones or, es posible que el uso de las mismas opciones de configuración con las instrucciones o no produzca allow/deny-commandsallow/deny-configuration los mismos allow/deny-commands-regexpsallow/deny-configuration-regexps resultados. Los métodos de búsqueda y coincidencia difieren en las dos formas de estas instrucciones.

Permitir explícitamente comandos y jerarquías de instrucciones de configuración mediante las instrucciones se suma a los permisos allow/deny-* que la instrucción ya permissions define. Del mismo modo, denegar explícitamente comandos y jerarquías de instrucciones de configuración mediante las instrucciones elimina los permisos que allow/deny-*permissions la instrucción ya define.

Por ejemplo, en la siguiente configuración, el permiso permite que los usuarios en la clase de inicio de configure sesión ingresen al modo de configuración. Además, la allow-configuration expresión permite a los usuarios modificar la configuración en el nivel de jerarquía y [edit system services] confirmarla.

De forma similar, en la siguiente configuración, el usuario de clase de inicio de sesión puede realizar todas las operaciones que permita el indicador de permisos, excepto que el usuario no puede ver o modificar la configuración en el nivel all[edit system services] de jerarquía:

Descripción de la sintaxis de la instrucción Permitir y denegar

Puede configurar una instrucción allow/deny-* una sola vez en cada clase de inicio de sesión. Cuando configure una instrucción:

  • Puede configurar tantas expresiones regulares como sea necesario.

  • Las expresiones regulares no distinguen entre mayúsculas y minúsculas

allow/deny-commands Las instrucciones son mutuamente excluyentes con allow/deny-commands-regexps las instrucciones, y allow/deny-configuration las instrucciones son mutuamente excluyentes allow/deny-configuration-regexps con las instrucciones. Por ejemplo, no puede configurar ambos allow-configuration y allow-configuration-regexps en la misma clase de inicio de sesión.

Para definir los privilegios de acceso a los comandos, especifique expresiones regulares extendidas mediante las allow-commandsdeny-commands instrucciones y. Encierre cada expresión independiente completa entre paréntesis ( ) y utilice el símbolo de barra vertical ( | ) para separar las expresiones. No utilice espacios entre expresiones regulares que estén conectadas con el símbolo de canalización. La expresión completa se entrelace entre comillas.

Por ejemplo:

Debe usar anclas al especificar expresiones regulares complejas con la allow-commands instrucción. Por ejemplo:

Para definir privilegios de acceso a partes de la jerarquía de configuración, especifique expresiones regulares extendidas en las allow-configurationdeny-configuration instrucciones y. Encierra las rutas completas entre paréntesis ( ) y utilice el símbolo de barra vertical ( | ) para separar las expresiones. No utilice espacios entre expresiones regulares que estén conectadas con el símbolo de canalización. La expresión completa se entrelace entre comillas.

Por ejemplo:

Cuando especifique expresiones regulares extendidas mediante las instrucciones or, encierre cada expresión entre comillas (" ") y separe las allow/deny-commands-regexpsallow/deny-configuration-regexps expresiones mediante un espacio. Encierra varias expresiones entre corchetes [ ]. Por ejemplo:

Los modificadores como set , y no se admiten dentro de la cadena de expresión regular para que se logcount coincidan. Si utiliza un modificador, no se hace coincidir nada.

Configuración correcta:

Configuración incorrecta:

Descripción de la prioridad y coincidencia de la instrucción Permitir y denegar

De forma predeterminada, allow-commands las allow-configuration expresiones regulares y tienen prioridad sobre y deny-commands las deny-configuration expresiones. Por lo tanto, si configura el mismo comando para las instrucciones y, a continuación, la allow-commands operación allow tiene prioridad sobre la operación de deny-commands denegación. De forma similar, si configura la misma instrucción para las instrucciones y, a continuación, la operación de permitir allow-configuration tiene prioridad sobre la operación de deny-configuration denegación.

Por ejemplo, la siguiente configuración permite que un usuario en la clase de inicio de sesión instale software mediante el comando, aun si la instrucción testrequest system software add incluye el mismo deny-commands comando:

De forma similar, la siguiente configuración permite que un usuario en la prueba de clase de inicio de sesión vea y modifique la jerarquía de configuración, aun si la instrucción test[edit system services] incluye la misma deny-configuration jerarquía:

Si las allow-commands instrucciones y tienen dos variantes diferentes de un deny-commands comando, la coincidencia más larga siempre se ejecuta. La siguiente configuración permite que un usuario en la test clase de inicio de sesión ejecute el commit synchronize comando, pero no el commit comando. Esto se debe commit synchronize a que es la coincidencia más commit larga commit synchronizeentre y, y se especifica allow-commandspara.

La siguiente configuración permite que un usuario en la test clase de inicio de sesión ejecute el commit comando, pero no el commit synchronize comando. Esto se debe commit synchronize a que es la coincidencia más commit larga commit synchronizeentre y, y se especifica deny-commandspara.

A diferencia de las otras instrucciones, el comportamiento predeterminado de las instrucciones es que las expresiones regulares y tienen *-regexpsdeny-commands-regexps prioridad sobre las deny-configuration-regexpsallow-commands-regexpsallow-configuration-regexps expresiones y. Puede configurar la instrucción en el nivel de jerarquía para regex-additive-logic[edit system] que las allow-configuration-regexps expresiones regulares tomen prioridad sobre deny-configuration-regexps las instrucciones. Configurar la instrucción le permite denegar jerarquías de configuración en un nivel superior y, luego, solo permitir el acceso del usuario a sub jerarquías específicas.

Descripción de las reglas de instrucción Permitir y denegar

Las allow/deny-commands instrucciones , y tienen prioridad sobre los permisos de clase de inicio de allow/deny-configurationallow/deny-commands-regexpsallow/deny-configuration-regexps sesión. Cuando configure estas instrucciones, se aplicarán las siguientes reglas:

  • Las expresiones regulares allow-commands para deny-commands instrucciones y también pueden incluir commitlos loadcomandos rollback, save, status, y update .

  • Los bits de permiso de clase de inicio de sesión all tienen prioridad sobre las expresiones regulares extendidas cuando un usuario emite el comando con el indicador de permiso rollbackrollback habilitado.

  • Los usuarios no pueden load override ejecutar el comando cuando especifican una expresión regular extendida. Los usuarios solo pueden emitir mergelos replacecomandos, patch y Configuration.

  • Puede utilizar el carácter comodín * cuando se denotan expresiones regulares. Sin embargo, debe usarla como parte de una expresión regular. No puede usar [ * ] ni como la única [ .* ] expresión. Además, no puede configurar la allow-configuration instrucción con una expresión como , porque esta se evalúa en (interfaces (description (|.*))allow-configuration .* .

Descripción de las diferencias para las instrucciones *-regexps

En esta sección, se resumen las diferencias entre las instrucciones allow/deny-configurationallow/deny-configuration-regexps y las.

Las instrucciones dividen la expresión regular en símbolos y coinciden con cada pieza en cada parte de la ruta completa de la configuración especificada, mientras que las instrucciones coinciden con la allow/deny-configuration-regexpsallow/deny-configuration cadena completa. En allow/deny-configuration-regexps el caso de las instrucciones, configure un conjunto de cadenas en el que cada cadena sea una expresión regular, con espacios entre los términos de la cadena. Esta sintaxis proporciona coincidencias muy rápidas, pero ofrece menos flexibilidad. Para especificar expresiones comodín, debe configurar comodín para cada símbolo de la cadena delimitada por espacios que desea hacer coincidir, lo que hace que sea más difícil usar expresiones comodín para estas instrucciones.

Por ejemplo:

  • Expresión regular que coincide con un token mediante allow-Configuration-RegExpS

    Este ejemplo muestra que options es la única expresión coincidente con el primer símbolo (token) de la instrucción.

    La configuración anterior coincide con las siguientes instrucciones:

    • establecer condición decondición de opciones de políticas dynamic-db

    • establecer enrutamiento-opciones ruta estática ruta estática siguiente salto

    • set event-options generate-event event time-intervalseconds

    La configuración anterior no coincide con las siguientes instrucciones:

    • opciones de host de nombre de hostdel sistema

    • opciones de descripción del nombre de interfaz de las interfaces

  • Expresión regular que coincide con tres tokens mediante allow-Configuration-RegExpS

    Este ejemplo muestra que ssh es la única expresión coincidente con el tercer símbolo (token) de la instrucción.

    En el ejemplo anterior, los tres símbolos son .* , .* y , .*ssh respectivamente.

    La configuración anterior coincide con las siguientes instrucciones:

    • nombre de host del sistema hostname-ssh

    • ssh de servicios del sistema

    • servicios del sistemasalientes- ssh

    La configuración anterior no coincide con la instrucción siguiente:

    • descripción del nombre de interfazssh de las interfaces

Es más fácil usar la instrucción para restringir el acceso de configuración que usar la instrucción. En, se muestra el uso de las instrucciones y en diferentes configuraciones para lograr el mismo resultado de restringir el acceso a una deny-configurationdeny-configuration-regexps configuración Tabla 2deny-configurationdeny-configuration-regexps determinada.

Tabla 2: Restringir el acceso de configuración mediante instrucciones deny-configuration y deny-configuration-regexps

Configuración denegada

Utilice deny-configuration

Utilice deny-configuration-regexps

Conjunto

xnm-ssl

[edit system]
login {
    class test {
        permissions configure;
         allow-configuration .*;
        deny-configuration .*xnm-ssl;
    }
}
[edit system]
login {
    class test {
        permissions configure;
         allow-configuration .*;
        deny-configuration-regexps ".* .* .*-ssl"";
    }
}

Se ha denegado la siguiente instrucción de configuración:

  • servicios del sistema xnm-SSL

ssh

[edit system]
login {
    class test {
        permissions configure;
        allow-configuration .*;
        deny-configuration ".*ssh";
    }
}
[edit system]
login {
    class test {
        permissions configure;
        allow-configuration .*;
        deny-configuration-regexps ".*ssh";
        deny-configuration-regexps ".* .*ssh";
        deny-configuration-regexps ".* .* .*ssh";
    }
}

Se rechazan las siguientes instrucciones de configuración:

  • System host-nombre hostname-SSH

  • SSH de servicios del sistema

  • servicios del sistema Outbound-SSH

  • host conocido por SSH de seguridad

Aunque las instrucciones también son útiles cuando desea una configuración simple, estas proporcionan un mejor rendimiento y superan la ambición que existía cuando se combinan expresiones en las allow/deny-configurationallow/deny-configuration-regexpsallow/deny-configuration instrucciones.

Uso de expresiones regulares en servidores de autorización remota

Puede usar expresiones regulares extendidas para especificar qué comandos de modo operativo y modo de configuración, así como las instrucciones de configuración y jerarquías se permiten o niegan para ciertos usuarios. Estas expresiones regulares se especifican localmente en allow/deny-commands el , y en las instrucciones en el nivel de allow/deny-configurationallow/deny-commands-regexpsallow/deny-configuration-regexps[edit system login class class-name] jerarquía. Estas expresiones regulares se especifican de forma remota mediante Juniper Networks atributos TACACS+ o RADIUS específicos del proveedor en la configuración del servidor de autorización. Cuando configure parámetros de autorización de forma local y remota, el dispositivo fusiona las expresiones regulares recibidas durante la autorización TACACS+ o RADIUS con cualquier expresión regular definida en el dispositivo local.

Nota:

A partir de Junos OS versión 18,1, allow-commands-regexps las deny-commands-regexps instrucciones y son compatibles con la autorización TACACS +.

Cuando se especifican varias expresiones regulares en una configuración local mediante las instrucciones , , se configuran allow-commandsdeny-commandsallow-configuration expresiones regulares entre paréntesis y se separan mediante el símbolo deny-configuration de canalización. La expresión completa se encierran entre comillas. Por ejemplo, puede especificar varios allow-commands parámetros con la siguiente sintaxis:

El RADIUS autorización de red utiliza los siguientes atributos y sintaxis:

El servidor de autorización de TACACS+ utiliza los siguientes atributos y sintaxis:

Cuando se especifican varias expresiones regulares en una configuración local mediante las instrucciones , , , puede configurar allow-commands-regexps expresiones regulares entre comillas dobles y separarlas mediante el deny-commands-regexpsallow-configuration-regexps operador deny-configuration-regexps space. La expresión completa se encierran entre corchetes. Por ejemplo, puede especificar varios parámetros allow-Commands con la siguiente sintaxis:

El RADIUS autorización de red utiliza los siguientes atributos y sintaxis:

El servidor de autorización de TACACS+ utiliza los siguientes atributos y sintaxis:

RADIUS y los servidores TACACS+ también admiten una sintaxis simplificada en la que se especifica cada expresión individual en una línea independiente. Por ejemplo, la sintaxis RADIUS servidor simplificado es:

De manera similar, la sintaxis simplificada del servidor TACACS+ es:

Tabla 3 diferencia la configuración de autorización local y la configuración de autorización del servidor TACACS+ mediante expresiones regulares.

Tabla 3: Configuración de autorización local y remota de ejemplo mediante expresiones regulares

Configuración local

Configuración remota de TACACS+.

login {
    class local {
        permissions configure;
        allow-commands "(ping .*)|(traceroute .*)|(show .*)|(configure .*)|(edit)|(exit)|(commit)|(rollback .*)";
        deny-commands .*;
        allow-configuration "(interfaces .* unit 0 family ethernet-switching vlan mem.* .*)|(interfaces .* native.* .*)|(interfaces .* unit 0 family ethernet-switching interface-mo.* .*)|(interfaces .* unit .*)|(interfaces .* disable)|(interfaces .* description .*)|(vlans .* vlan-.* .*)"
        deny-configuration .*;
    }
}
user = remote {
    login = username
    service = junos-exec {
        allow-commands1 = "ping .*"
        allow-commands2 = "traceroute .*"
        allow-commands3 = "show .*"
        allow-commands4 = "configure"
        allow-commands5 = "edit"
        allow-commands6 = "exit"
        allow-commands7 = "commit"
        allow-commands8 = ".*xml-mode"
        allow-commands9 = ".*netconf"
        allow-commands10 = ".*need-trailer"
        allow-commands11 = "rollback.*"
        deny-commands1 = ".*"
        allow-configuration1 = "interfaces .* unit 0 family ethernet-switching vlan mem.* .*"
        allow-configuration2 = "interfaces .* native.* .*"
        allow-configuration3 = "interfaces .* unit 0 family ethernet-switching interface-mo.* .*"
        allow-configuration4 = "interfaces .* unit .*"
        allow-configuration5 = "interfaces .* disable"
        allow-configuration6 = "interfaces .* description .*"
        allow-configuration7 = "interfaces .*"
        allow-configuration8 = "vlans .* vlan-.* .*"
        deny-configuration1 = ".*"
        local-user-name = local-username
        user-permissions = "configure"
    }
}
Nota:
  • Es necesario permitir explícitamente el acceso al modo NETCONF, ya sea localmente o de forma remota, mediante la emisión de los tres comandos siguientes: xml-mode, netconf, y need-trailer.

  • Cuando use la deny-configuration = ".*" instrucción, debe permitir todas las configuraciones deseadas mediante la allow-configuration instrucción. Sin embargo, esta configuración puede afectar al límite de memoria de expresiones regulares permitidas para la allow-configuration instrucción. Si se supera este límite, es posible que la configuración permitida no funcione.

Especificar expresiones regulares

Aviso:

Cuando especifique expresiones regulares para comandos e instrucciones de configuración, preste mucha atención a los siguientes ejemplos. Es posible que una expresión regular con sintaxis no válida no produzca los resultados deseados, incluso si la configuración se confirma sin ningún error.

Debe especificar expresiones regulares para los comandos y las instrucciones de configuración de la misma manera que la ejecución del comando o instrucción completos. Tabla 4 enumera las expresiones regulares para configurar los privilegios de acceso para las jerarquías [edit interfaces] de instrucciones y para el [edit vlans]delete interfaces comando.

Tabla 4: Especificar expresiones regulares

Afirmación

Expresión regular

Notas de configuración

[edit interfaces]

El set comando para interfaces se ejecuta de la siguiente manera:

[edit]
user@host# set interfaces interface-name unit interface-unit-number

La set interfaces instrucción está incompleta por sí misma y requiere la opción de ejecutar la unit instrucción.

Como resultado, la expresión regular necesaria para denegar la set interfaces configuración debe especificar toda la cadena ejecutable con el .* operador en lugar de las variables de instrucción:

[edit system login class class-name]
user@host# set permissions configure
user@host# set deny-configuration "interfaces .* unit .*"
  • El .* operador denota todo, desde el punto especificado hacia delante de ese comando o instrucción concretos. En este ejemplo, indica cualquier nombre de interfaz con cualquier valor de unidad.

  • Especificar solo la deny-configuration "interfaces .*" instrucción no es correcto y no deniega el acceso a la configuración de las interfaces para la clase de inicio de sesión especificada.

  • Otras opciones válidas se pueden incluir en la expresión regular. Por ejemplo:

    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set deny-configuration "interfaces .* description .*"
    
    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration-regexps [ "interfaces .* description .*" "interfaces .* unit .* description .*" "interfaces .* unit .* family inet address .*" "interfaces.* disable" ]
    
    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration "interfaces .* unit 0 family ethernet-switching vlan mem.* .*"
    

    Nota: La expresión regular de este ejemplo se usa cuando se espera que varias cadenas que comienzan con la palabra clave mem se incluyan mem.* en la expresión regular especificada. Cuando se espera member incluir una sola cadena, se utiliza la member .* expresión regular.

delete interfaces

El delete comando para interfaces se ejecuta de la siguiente manera:

[edit]
user@host# delete interfaces interface-name

La delete interfaces instrucción puede ejecutarse por sí misma y no requiere que se completen instrucciones adicionales.

Como resultado, la expresión regular que se requiere para denegar delete interfaces la instrucción debe especificar lo siguiente:

[edit system login class class-name]
user@host# set permissions configure
user@host# set allow-configuration "interfaces .*"
user@host# set deny-configuration "interfaces .*"
  • El .* operador denota todo, desde el punto especificado hacia delante de ese comando o instrucción concretos. En este ejemplo, indica cualquier nombre de interfaz.

  • Para que deny-configuration "interfaces .*" la expresión regular surta efecto, la clase de inicio de sesión especificada debe permitir permisos de configuración para la allow-configuration "interfaces .*" jerarquía de interfaces utilizando la expresión regular.

[edit vlans]

El set comando para redes VLAN se ejecuta de la siguiente manera:

[edit]
user@host# set vlans vlan-name vlan-id vlan-id

Aquí, la set vlans instrucción está incompleta por sí sola, y vlan-id requiere la opción para ejecutar la instrucción.

Como resultado, la expresión regular necesaria para permitir la set vlans configuración debe especificar toda la cadena ejecutable con el .* operador en lugar de las variables de instrucción:

[edit system login class class-name]
user@host# set permissions configure
user@host# set allow-configuration "vlans .* vlan-id .*"
  • El .* operador denota todo, desde el punto especificado hacia delante de ese comando o instrucción concretos. En este ejemplo, indica cualquier nombre de VLAN con cualquier ID de VLAN.

  • Otras opciones válidas en [edit vlans] la jerarquía de instrucciones se pueden incluir en la expresión regular. Por ejemplo:

    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration-regexps [ "vlans .* vlan-id .*" "vlans .* vlan-id .* description .*" "vlans .* vlan-id .* filter .*" ]
    

Operadores de expresiones regulares

Tabla 5enumera los operadores de expresiones regulares comunes que puede utilizar para permitir o denegar los modos operativos y de configuración.

Las expresiones regulares de comando implementan las expresiones regulares extendidas (modernas), tal y como se definen en POSIX 1003,2.

Tabla 5: Operadores de expresiones regulares comunes

Armador

Coincidencia

Ejemplo

|

Uno de dos o más términos separados por la canalización. Cada término debe ser una expresión independiente completa encerrada entre paréntesis (), sin espacios entre la canalización y los paréntesis adyacentes.

[edit system login class test]
user@host# set permissions configure
user@host# set allow-commands "(ping)|(traceroute)|(show system alarms)|(show system software)"
user@host# set deny-configuration "(access)|(access-profile)|(accounting-options)|(applications)|(apply-groups)|(bridge-domains)|(chassis)|(class-of-service)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de prueba tienen acceso al modo operativo restringido solo a los comandos especificados en la allow-commands instrucción. También tienen acceso al modo de configuración, sin los niveles de jerarquía especificados en la deny-configuration instrucción.

^

Al principio de una expresión, que se utiliza para denotar dónde comienza el comando, donde puede haber alguna ambigüedad.

[edit system login class test]
user@host# set permissions interface
user@host# set permissions interface-control
user@host# set allow-commands "(^show) (log|interfaces|policer))|(^monitor)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de prueba tienen acceso a la visualización y configuración de la configuración de la interfaz. La allow-commands instrucción concede acceso a los comandos que comienzan con las palabras clave showmonitor y.

Para el primer filtro, los comandos especificados incluyen show loglos show interfacescomandos, show policer y. El segundo filtro especifica todos los comandos a partir de la monitor palabra clave, como los monitor interfaces comandos o monitor traffic o.

$

Al final de un comando. Se utiliza para denotar un comando con el que se debe hacer coincidir exactamente hasta ese punto.

[edit system login class test]
user@host# set permissions interface
user@host# set allow-commands "(show interfaces$)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de prueba pueden ver la configuración de las interfaces en modo de configuración. Los usuarios también pueden ver la configuración de la interfaz con el show configuration comando de modo operativo. Sin embargo, la expresión regular especificada en la instrucción restringe que los usuarios ejecuten solo el comando y niega el acceso a las extensiones de allow-commandsshow interfaces comando, como show interfaces detail o show interfaces extensive .

[ ]

Rango de letras o dígitos. Para separar el principio y el final de un rango, utilice un guión ( -   ).

[edit system login class test]
user@host# set permissions clear
user@host# set permissions configure
user@host# set permissions network
user@host# set permissions trace
user@host# set permissions view
user@host# set allow-configuration-regexps [ "interfaces [gx]e-.* unit [0-9]* description .*" ]

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de prueba tienen permisos de usuario a nivel de operador. Estos usuarios también tienen acceso para configurar interfaces dentro del intervalo especificado de nombre de interfaz y número de unidad (del 0 al 9).

( )

Un grupo de comandos que indican una expresión completa e independiente que se va a evaluar. A continuación, el resultado se evalúa como parte de la expresión general. Deben utilizarse paréntesis junto con los operadores de canalización, tal y como se explica.

[edit system login class test]
user@host# set permissions all
user@host# set allow-commands "(clear)|(configure)"
user@host# deny-commands "(mtrace)|(start)|(delete)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de prueba tienen permisos a nivel de superusuario y tienen acceso a los comandos especificados en la allow-commands instrucción.

*

Cero o más términos.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m*)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de m prueba a cuyo nombre de inicio de sesión comienza con se les deniega el acceso de configuración.

+

Uno o varios términos.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m+)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de m prueba a cuyo nombre de inicio de sesión comienza con se les deniega el acceso de configuración.

.

Cualquier carácter excepto un espacio "".

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m.)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de m prueba a cuyo nombre de inicio de sesión comienza con se les deniega el acceso de configuración.

.*

Todo lo que haya desde el punto especificado hacia adelante.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m .*)"

Con la configuración anterior, los usuarios asignados a la clase de inicio de sesión de m prueba a cuyo nombre de inicio de sesión comienza con se les deniega el acceso de configuración.

De forma similar deny-configuration "protocols .*" , la instrucción rechaza todo el acceso a [edit protocols] la configuración bajo el nivel jerárquico.

Nota:
  • Las *operaciones +, y . se pueden lograr mediante el uso .*de.

  • Las deny-commands .* instrucciones deny-configuration .* and deniegan el acceso a todos los comandos de modo operativo y las jerarquías de configuración, respectivamente.

Nota:

No ! se admite el operador de expresión regular.

Ejemplos de expresiones regulares

Tabla 6 enumera las expresiones regulares utilizadas para permitir opciones de configuración en dos jerarquías de configuración; y — como un ejemplo para [edit system ntp server][edit protocols rip] especificar expresiones regulares.

Nota:

Tabla 6no proporciona una lista completa de todas las expresiones regulares y palabras clave de todas las instrucciones y jerarquías de configuración. Las expresiones regulares enumeradas en la tabla solo se validan para las jerarquías [edit system ntp server][edit protocols rip] de instrucciones y.

Tabla 6: Ejemplos de expresiones regulares

Jerarquía de instrucciones

Expresiones regulares

Configuración permitida

Configuración denegada

[edit system ntp server]

     

número de clave

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* key .*" ]
set deny-configuration-regexps [ "system ntp server .* version .*" "system ntp server .* prefer" ]
  • IP del servidor

  • IP y clave del servidor

  • versi

  • desee

número de versión

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* version .*" ]
set deny-configuration-regexps [ "system ntp server .* key .*" "system ntp server .* prefer" ]
  • IP del servidor

  • IP del servidor y versión

  • clave

  • desee

desee

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* prefer" ];
set deny-configuration-regexps [ "system ntp server .* key .*" "system ntp server .* version .*" ]
  • IP del servidor

  • IP de servidor y prefiera

  • clave

  • versi

[edit protocols rip]

     

tamaño del mensaje

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip message-size .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip route-timeout .*" "protocols rip update-interval .*" ]
  • tamaño del mensaje

  • Metric-in

  • Ruta-tiempo límite

  • Update-Interval

métrica en métrica

[edit system login class test]
set permissions configure
set  allow-configuration-regexps "protocols rip metric-in .*"
set  deny-configuration-regexps [ "protocols rip message-size .*" "protocols rip route-timeout .*" "protocols rip update-interval .*" ]
  • Metric-in

  • tamaño del mensaje

  • Ruta-tiempo límite

  • Update-Interval

tiempo de espera de ruta de tiempo de espera de ruta

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip route-timeout .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip message-size .*" "protocols rip update-interval .*" ]
  • Ruta-tiempo límite

  • tamaño del mensaje

  • Metric-in

  • Update-Interval

intervalo de actualización intervalo de actualización-intervalo

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip update-interval .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip route-timeout .*" "protocols rip message-size .*" ]
  • Update-Interval

  • tamaño del mensaje

  • Metric-in

  • Ruta-tiempo límite

Cómo definir privilegios de acceso con instrucciones allow-configuration y deny-configuration

Puede definir privilegios de acceso para las jerarquías de instrucciones de configuración mediante una combinación de los siguientes tipos de instrucciones:

  • indicadores de permiso

  • allow-configurationy deny-configuration las instrucciones

Los indicadores de permisos definen los límites mayores de lo que puede tener acceso y controlar una persona o clase de inicio de sesión. Las allow-configuration instrucciones y contienen una o más expresiones regulares que permiten o niegan jerarquías y instrucciones de configuración deny-configuration específicas. Las instrucciones y tienen prioridad sobre los indicadores de permiso y dan al administrador un control más preciso sobre exactamente qué jerarquías e instrucciones puede ver allow-configurationdeny-configuration y configurar el usuario.

En este tema, se explica cómo definir los privilegios de acceso mediante instrucciones y muestra ejemplos de configuraciones de clase de inicio de sesión allow-configurationdeny-configuration que utilizan estas instrucciones. Los ejemplos del 1 al 3 crean clases de inicio de sesión que permiten a los usuarios acceso a todos los comandos e instrucciones, excepto a los definidos en la deny-configuration instrucción.

Observe que el bit de permiso y el indicador de permiso se utilizan indistintamente.

Ejemplo, 1

Para crear una clase de inicio de sesión que permita al usuario ejecutar todos los comandos y configurar todo excepto los parámetros de Telnet:

  1. Establezca los permisos de clase de inicio de sesión del usuario en all .
  2. Incluir la siguiente deny-configuration instrucción.

Ejemplo n° 2

Para crear una clase de inicio de sesión que permita al usuario ejecutar todos los comandos y configurar todo, excepto las instrucciones dentro de cualquier clase de inicio de sesión cuyo nombre comience por "m":

  1. Establezca los permisos de clase de inicio de sesión del usuario en all .

  2. Incluir la siguiente deny-configuration instrucción.

Ejemplo 3

Para crear una clase de inicio de sesión que permita al usuario ejecutar todos los comandos y configurar todo, excepto los [edit system login class] niveles [edit system services] de jerarquía o:

  1. Establezca los permisos de clase de inicio de sesión del usuario en all .

  2. Incluya la siguiente deny-configuration instrucción:

En los ejemplos siguientes se muestra cómo usar las instrucciones y para determinar los permisos inversos entre sí allow-configuration para el nivel deny-configuration[edit system services] jerárquido.

Ejemplo n° 4

Para crear una clase de inicio de sesión que permita al usuario tener privilegios de configuración completos solo en el [edit system services] nivel de jerarquía:

  1. Establezca los permisos de clase de inicio de sesión del usuario en configure .

  2. Incluya la siguiente allow-configuration instrucción:

Ejemplo 5

Para crear una clase de inicio de sesión que permita al usuario todos los permisos de todos los comandos y todas las jerarquías de configuración, excepto el [edit system services] nivel jerárquico:

  1. Establezca los permisos de clase de inicio de sesión del usuario en all .

  2. Incluir la siguiente deny-configuration instrucción.

Ejemplo: Utilice la lógica de aditiva con expresiones regulares para especificar privilegios de acceso

En este ejemplo se muestra cómo usar la lógica aditiva cuando se utilizan expresiones regulares para configurar los privilegios de acceso a la configuración.

Requisitos

En este ejemplo, se utiliza un dispositivo Junos OS versión 16.1 o posterior.

Descripción general

Puede definir expresiones regulares para controlar quién puede realizar cambios en la configuración y lo que pueden cambiar. Estas expresiones regulares indican jerarquías de configuración específicas a las que pueden acceder los usuarios de una clase de inicio de sesión. Por ejemplo, puede definir expresiones regulares que permiten a los usuarios modificar un grupo de instancias de enrutamiento y definir expresiones regulares que impidan a los usuarios realizar cambios en cualquier otra instancia de enrutamiento o a otros niveles de configuración. Las expresiones regulares se definen configurando las allow-configuration-regexps instrucciones y para una clase de inicio de deny-configuration-regexps sesión.

De forma predeterminada, deny-configuration-regexps la instrucción tiene prioridad sobre la allow-configuration-regexps instrucción. Si aparece una jerarquía de configuración en una instrucción para una clase de inicio de sesión, no es visible para los usuarios de esa clase, independientemente del contenido deny-configuration-regexps de la allow-configuration-regexps instrucción. Si una jerarquía de configuración no aparece en una instrucción, es visible para los usuarios de esa clase deny-configuration-regexps si aparece en una allow-configuration-regexps instrucción.

Puede cambiar este comportamiento predeterminado habilitando la lógica de aditivación para las *-configuration-regexps instrucciones. Cuando se habilita la lógica de restricción, allow-configuration-regexps la instrucción tiene prioridad sobre la deny-configuration-regexps instrucción.

De este modo, si la instrucción niega el acceso a todas las jerarquías de configuración en un nivel determinado (protocolos .*) pero la instrucción permite el acceso a una subcategoría deny-configuration-regexpsallow-configuration-regexps (protocolos bgp .*), de forma predeterminada el dispositivo niega el acceso a las jerarquías para los usuarios en esa clase de inicio de sesión porque la instrucción tiene deny-configuration-regexps prioridad. Sin embargo, si habilita la lógica de restricción, el dispositivo permite el acceso a la subcategola especificada para los usuarios en esa clase de inicio de sesión, ya que tiene prioridad en allow-configuration-regexps este caso.

Configuración

Procedimiento paso a paso

Para permitir que la lógica de los componentes permita explícitamente a los usuarios de una clase de inicio de sesión determinada acceso a una o más jerarquías de configuración individuales:

  1. Incluya la deny-configuration-regexps instrucción y denegue explícitamente el acceso a las jerarquías de configuración.

    Por ejemplo:

  2. Incluya la allow-configuration-regexps instrucción y defina expresiones regulares para las jerarquías específicas que se permitan.

    Por ejemplo:

  3. Habilite la lógica de los componentes para allow-configuration-regexps las deny-configuration-regexps expresiones regulares y.

  4. Asigne la clase login a uno o varios usuarios.

  5. Confirme los cambios.

    Los usuarios asignados a esta clase de inicio de sesión tienen acceso a las jerarquías de configuración incluidas en la instrucción, pero no tienen acceso a las otras jerarquías especificadas allow-configuration-regexps en la deny-configuration-regexps instrucción.

Nota:

Cuando configure la regex-additive-logic instrucción, el cambio de comportamiento se aplica a todas las instrucciones allow-configuration-regexpsdeny-configuration-regexps presentes en todas las clases de inicio de sesión. Si habilita la lógica de adiciones, debe evaluar las instrucciones existentes para ver si hay algún impacto y actualizar las expresiones regulares en ellas según sea necesario.

Ejemplos

Usar expresiones regulares con lógica de adición

Propósito

En esta sección se proporcionan ejemplos de expresiones regulares que utilizan lógica aditiva para proporcionarle ideas para crear configuraciones apropiadas para su sistema.

Permitir instancias específicas de enrutamiento

La siguiente clase de inicio de sesión de ejemplo incluye una expresión regular que permite la configuración de instancias de enrutamiento cuyos nombres comienzan con ; por CUST-VRF- ejemplo, CUST-VRF-1 , , y CUST-VRF-25 así CUST-VRF-100 sucesivamente. En el ejemplo también se incluye una expresión regular que impide la configuración de cualquier instancia de enrutamiento.

De forma predeterminada, la instrucción tiene prioridad y la configuración anterior impide que los usuarios en la clase de inicio de sesión configuren cualquier instancia de enrutamiento, independientemente deny-configuration-regexps del nombre.

Sin embargo, si configura la siguiente instrucción, allow-configuration-regexps la instrucción tiene prioridad. De este modo, los usuarios pueden configurar instancias de enrutamiento cuyos nombres comienzan con , pero los usuarios no pueden CUST-VRF- configurar ninguna otra instancia de enrutamiento.

Permitir solo la configuración de BGP del mismo nivel

La siguiente clase de inicio de sesión de ejemplo incluye expresiones regulares que impiden la configuración en el nivel de jerarquía, pero permiten la [edit protocols] configuración de BGP pares:

De forma predeterminada, la configuración anterior impide que los usuarios de la clase de inicio de sesión realicen cambios en cualquier jerarquía en [edit protocols] .

Sin embargo, si configura la siguiente instrucción, los usuarios de la clase de inicio de sesión pueden realizar cambios BGP pares, pero los usuarios no pueden configurar otros protocolos u otras instrucciones BGP fuera del nivel de jerarquía permitido.

Comproba

Para comprobar que ha establecido los privilegios de acceso correctamente:

  1. Configure una clase login y confirme los cambios.

  2. Asigne la clase de inicio de sesión a un nombre de usuario.

  3. Inicie sesión como el nombre de usuario asignado con la nueva clase de inicio de sesión.

  4. Intente configurar los niveles de jerarquía permitidos.

    • Debe poder configurar instrucciones en los niveles de jerarquía permitidos.

    • Los niveles de jerarquía que se niegan no deben ser visibles.

    • Cualquier expresión permitida o denegada debe tener prioridad sobre cualquier permiso permissions concedido con la instrucción.

Ejemplo: Configure los permisos de usuario con privilegios de acceso para los comandos del modo operativo

En este ejemplo se muestra cómo configurar clases de inicio de sesión personalizadas y asignar privilegios de acceso para comandos de modo de funcionamiento. Los usuarios de la clase de inicio de sesión solo pueden ejecutar los comandos a los que tienen acceso. Esto impide que usuarios no autorizados ejecuten comandos confidenciales que podrían ocasionar daños en la red.

Requisitos

En este ejemplo se utilizan los siguientes componentes de hardware y software:

  • Un dispositivo Juniper Networks

  • Un servidor TACACS + (o RADIUS)

Antes de comenzar, establezca una conexión TCP entre el dispositivo y el servidor TACACS+. En el caso del servidor RADIUS, establezca una conexión UDP entre el dispositivo y el servidor RADIUS.

Descripción general y topología

Figura 1ilustra una topología sencilla, en la que el enrutador R1 es un dispositivo de Juniper Networks y tiene una conexión TCP establecida con un servidor TACACS +.

Figura 1: Topología Topología

En este ejemplo, se configura R1 con tres clases de inicio de sesión personalizadas: Clase1, Clase2 y Clase3. Cada clase define los privilegios de acceso para el usuario mediante la configuración de la instrucción y la definición de permissions expresiones regulares extendidas mediante los allow-commandsdeny-commands y.

El propósito de cada clase login es el siguiente:

  • Class1: define los privilegios de acceso para el usuario solo con allow-commands la instrucción. Esta clase de inicio de sesión proporciona permisos de usuario a nivel de operador y autorización para reiniciar el dispositivo.

  • Class2: define los privilegios de acceso para el usuario solo con deny-commands la instrucción. Esta clase de inicio de sesión proporciona permisos de usuario a nivel de operador y niega el acceso a set los comandos.

  • Class3: define los privilegios de acceso para el usuario con las allow-commands instrucciones deny-commands y. Esta clase de inicio de sesión proporciona permisos de usuario a nivel de superusuario y autorización para acceder a las interfaces y ver la información del dispositivo. También niega el acceso a los edit comandos configure y.

El enrutador R1 tiene tres usuarios diferentes, User1, User2 y User3 asignados a las clases de inicio de sesión Class1, Class2 y Class3, respectivamente.

Configuración

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 el CLI en el nivel de jerarquía y, luego, ingrese en el modo de [edit]commit configuración.

R1

Configurar parámetros de autenticación para el enrutador R1

Procedimiento paso a paso

Configuración de la autenticación R1:

  1. Configure el orden en el que R1 intenta autenticar al usuario. En este ejemplo, la autenticación para servidores TACACS + primero, seguida de RADIUS autenticación del servidor y, a continuación, la contraseña local.

  2. Configure el servidor TACACS +.

  3. Configure el RADIUS seguro.

  4. Configure los parámetros de la cuenta R1.

Configure los privilegios de acceso con la instrucción allow-commands (Class1)

Procedimiento paso a paso

Para especificar expresiones regulares mediante la allow-commands instrucción:

  1. Configure la clase de inicio de sesión Class1 y asigne permisos de usuario a nivel de operador.

  2. Configure la allow-commands expresión regular para que los usuarios de la clase reinicien el dispositivo.

  3. Configure la cuenta de usuario para la clase de inicio de sesión Class1.

Configure los privilegios de acceso con la instrucción deny-commands (Class2)

Procedimiento paso a paso

Para especificar expresiones regulares mediante la deny-commands instrucción:

  1. Configure la clase de inicio de sesión Class2 y asigne permisos de usuario a nivel de operador.

  2. Configure la deny-commands expresión regular para evitar que los usuarios de la clase set ejecuten comandos.

  3. Configure la cuenta de usuario para la clase de inicio de sesión clase2.

Configure los privilegios de acceso con las instrucciones allow-commands y deny-commands (Class3)

Procedimiento paso a paso

Para especificar expresiones regulares con las allow-commands dos sentencias y: deny-commands

  1. Configure la clase de inicio de sesión Class3 y asigne permisos de nivel de superusuario.

  2. Configure la deny-commands expresión regular para evitar que los usuarios de la clase ejecuten ningún comando.

  3. Configure la allow-commands expresión regular para permitir que los usuarios ingresen al modo de configuración.

  4. Configure la cuenta de usuario para la clase de inicio de sesión clase3.

Resultados

En el modo de configuración, escriba el show system comando para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Comproba

Inicie sesión como el nombre de usuario asignado con la nueva clase de inicio de sesión y confirme que la configuración funciona correctamente.

Verificar la configuración de clase 1

Propósito

Compruebe que los permisos y comandos permitidos en la clase de inicio de sesión Class1 funcionan.

Acción

En el modo operativo, ejecute el show system users comando.

En el modo operativo, ejecute el request system reboot comando.

Significado

La clase de inicio de sesión Class1 a la que se asigna User1 tiene permisos de usuario a nivel de operador y permite que los usuarios en la clase ejecuten el request system reboot comando.

La clase de inicio de sesión del operador predefinida tiene los siguientes indicadores de permiso especificados:

  • clear: puede usar comandos para borrar (eliminar) la información que el dispositivo aprende de la red y clear almacena en varias bases de datos de red.

  • network: puede acceder a la red con ping los comandos ssh , telnettraceroute y.

  • reset: puede reiniciar los procesos del software con el restart comando.

  • trace: puede ver la configuración del archivo de seguimiento y configurar las propiedades del archivo de seguimiento.

  • view: puede usar varios comandos para mostrar estadísticas y valores y estadísticas actuales para todo el sistema, tablas de enrutamiento y protocolos específicos. No se puede ver la configuración secreta.

Para la clase de inicio de sesión Class1, además de los permisos de usuario mencionados anteriormente, el usuario1 request system reboot puede ejecutar el comando. El primer resultado muestra los permisos de vista como un operador y el segundo muestra que el request systemrequest system reboot comando es el único que el usuario1 puede ejecutar como operador.

Verificar la configuración de clase 2

Propósito

Compruebe que los permisos y comandos permitidos para la clase de inicio de sesión clase2 funcionan.

Acción

En el modo operativo, ejecute el ping comando.

En el CLI, compruebe los comandos disponibles.

Desde el indicador de CLI, ejecute cualquier comando set.

Significado

La clase de inicio de sesión Class2 a la que se asigna User2 tiene permisos de usuario a nivel de operador y niega el acceso a todos set los comandos.

Los indicadores de permiso especificados para la clase de inicio de sesión del operador predefinido son los mismos que los especificados para Class1.

Comprobando la configuración de Class3

Purpose

Compruebe que los permisos y comandos permitidos para la clase de inicio de sesión Class3 funcionan correctamente.

Acción

En el modo operativo, compruebe los comandos disponibles.

Ingrese al modo de configuración.

Significado

La clase de inicio de sesión Class3 a la que se asigna User3 tiene permisos de superusuario (todos), pero esta clase solo permite a los usuarios ejecutar el configure comando. La clase niega el acceso a todos los demás comandos del modo operativo. Dado que las expresiones regulares especificadas en las instrucciones tienen prioridad sobre los permisos de usuario, User3 en R1 solo tiene acceso al modo de configuración y se le niega el acceso a todos los demás comandos del modo allow/deny-commands operativo.

Ejemplo: Configurar permisos de usuario con privilegios de acceso para instrucciones de configuración y jerarquías

En este ejemplo, se muestra cómo configurar clases de inicio de sesión personalizadas y asignar privilegios de acceso a jerarquías de configuración específicas. Los usuarios de la clase de inicio de sesión solo pueden ver y modificar aquellas instrucciones de configuración y jerarquías a las que tienen acceso. Esto impide que usuarios no autorizados modifiquen la configuración de los dispositivos que podrían ocasionar daños en la red.

Requisitos

En este ejemplo se utilizan los siguientes componentes de hardware y software:

  • Un dispositivo Juniper Networks

  • Un servidor TACACS + (o RADIUS)

Antes de comenzar, establezca una conexión TCP entre el dispositivo y el servidor TACACS+. En el caso del servidor RADIUS, establezca una conexión UDP entre el dispositivo y el servidor RADIUS.

Descripción general y topología

Figura 2ilustra una topología sencilla, en la que el enrutador R1 es un dispositivo de Juniper Networks y tiene una conexión TCP establecida con un servidor TACACS +.

Figura 2: Topología Topología

En este ejemplo, se configura R1 con dos clases de inicio de sesión personalizadas: Clase1 y clase 2. Cada clase define los privilegios de acceso para el usuario mediante la configuración de la instrucción y la definición de permissions expresiones regulares extendidas mediante allow-configuration las instrucciones deny-configuration , allow-configuration-regexpsdeny-configuration-regexps y.

El propósito de cada clase login es el siguiente:

  • Class1: define los privilegios de acceso para el usuario con las allow-configurationdeny-configuration instrucciones y. Esta clase de inicio de sesión proporciona acceso para configurar solo la jerarquía [edit interfaces] y niega el resto del acceso en el dispositivo. Para ello, los permisos de usuario incluyen configure proporcionar acceso de configuración. Además, la instrucción permite el acceso a la configuración de las interfaces y la instrucción niega el acceso a todas las demás allow-configurationdeny-configuration jerarquías de configuración. Dado que la instrucción allow tiene prioridad sobre la instrucción deny, los usuarios asignados a la clase de inicio de sesión [edit interfaces] Class1 sólo pueden tener acceso al nivel de la jerarquía.

  • Class2: define los privilegios de acceso para el usuario con las allow-configuration-regexpsdeny-configuration-regexps instrucciones y. Esta clase de inicio de sesión proporciona permisos de usuario a nivel de superusuario y permite explícitamente la configuración bajo varios niveles de jerarquía para interfaces. También niega el acceso a los niveles [edit system] de [edit protocols] jerarquía y.

El enrutador R1 tiene dos usuarios, user1 y usuario2, asignados a las clases de inicio de sesión Class1 y clase2, respectivamente.

Automática

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 el CLI en el nivel de jerarquía y, luego, ingrese en el modo de [edit]commit configuración.

R1

Configurar parámetros de autenticación para el enrutador R1

Procedimiento paso a paso

Configuración de la autenticación R1:

  1. Configure el orden en el que R1 intenta autenticar al usuario. En este ejemplo, la autenticación para servidores TACACS + primero, seguida de RADIUS autenticación del servidor y, a continuación, la contraseña local.

  2. Configure el servidor TACACS +.

  3. Configure el RADIUS seguro.

  4. Configure los parámetros de la cuenta R1.

Configure los privilegios de acceso con las instrucciones allow-configuration y deny-configuration (Class1)

Procedimiento paso a paso

Para especificar expresiones regulares con las allow-configuration sentencias and deny-configuration :

  1. Configure la clase de inicio de sesión Class1 configure con permisos.

  2. Configure la allow-configuration expresión regular para que los usuarios de la clase puedan ver y modificar parte del nivel [edit interfaces] jerárquido.

  3. Configure la deny-configuration expresión regular para denegar el acceso a todas las jerarquías de configuración.

  4. Configure la cuenta de usuario para la clase de inicio de sesión Class1.

Configure los privilegios de acceso con las instrucciones allow-configuration-regexps y deny-configuration-regexps (Class2)

Procedimiento paso a paso

Para especificar expresiones regulares con las allow-configuration-regexps sentencias and deny-configuration-regexps :

  1. Configure la clase de inicio de sesión Class2 y asigne permisos de superusuario (todos).

  2. Configure la allow-configuration-regexps expresión regular para permitir que los usuarios de la clase accedan a varias jerarquías bajo el [edit interfaces] nivel jerárquico.

  3. Configure la expresión regular para evitar que los usuarios de la clase puedan ver o modificar la configuración deny-configuration-regexps en los niveles de jerarquía [edit system][edit protocols] y.

  4. Configure la cuenta de usuario para la clase de inicio de sesión clase2.

Resultados

En el modo de configuración, escriba el show system comando para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Comproba

Inicie sesión como el nombre de usuario asignado con la nueva clase de inicio de sesión y confirme que la configuración funciona correctamente.

Verificar la configuración de clase 1

Propósito

Compruebe que los permisos permitidos en la clase de inicio de sesión Class1 funcionan.

Acción

En el modo operativo, compruebe los comandos disponibles.

En el modo de configuración, compruebe los permisos de configuración disponibles.

Significado

User1 tiene configure permisos de usuario, como se ve en el primer resultado. Además, en el modo de configuración, el usuario1 tiene acceso al nivel de jerarquía, pero solo ese nivel de jerarquía, como se ve interfaces en el segundo resultado.

Verificar la configuración de clase 2

Propósito

Compruebe que la configuración de Class2 funciona de la forma esperada.

Acción

En el modo de configuración, acceda a la interfaces configuración.

En el modo de configuración, acceda a system las protocols jerarquías de configuración y.

Significado

User2 tiene permisos para configurar interfaces en R1, pero el usuario no tiene permiso para ver o modificar los niveles [edit system][edit protocols] de jerarquía o.

Tabla de historial de versiones
Liberación
Descripción
18.1
A partir de Junos OS versión 18,1, allow-commands-regexps las deny-commands-regexps instrucciones y son compatibles con la autorización TACACS +.