Introducción
Este documento describe los pasos de configuración para mostrar la configuración completa en ejecución para los usuarios conectados al router con bajos niveles de privilegio. Para entender el problema siguiente y la solución temporal, es necesario entender los niveles de privilegio. Los niveles de privilegio disponibles oscilan entre 0 y 15 y permiten al administrador personalizar qué comandos están disponibles en qué nivel de privilegio. De forma predeterminada, los tres niveles de privilegio en un router son:
- Nivel 0: sólo incluye comandos básicos (disable, enable, exit, help y logout)
- Nivel 1: incluye todos los comandos disponibles en el modo de comando EXEC del usuario
- Nivel 15: incluye todos los comandos disponibles en el modo de comando EXEC privilegiado
Los niveles restantes entre estos niveles mínimo y máximo no se definen hasta que el administrador les asigne comandos o usuarios. Por lo tanto, el administrador puede asignar a los usuarios diferentes niveles de privilegio entre estos niveles de privilegio mínimo y máximo para separar los diferentes usuarios a los que también tienen acceso. A continuación, el administrador puede asignar comandos individuales (y varias otras opciones) a un nivel de privilegio individual para que este esté disponible para cualquier usuario en este nivel. Por ejemplo:
Router(config)# username user1 privilege 7 password P@ssw0rD1
Router(config)# privilege exec level 7 show access-lists
Con esta configuración, cuando ‘user1’ se conectó al router, podrían ejecutar el comando ‘show access-lists’ y/o cualquier otra cosa habilitada en ese nivel de privilegio. Sin embargo, no se puede decir lo mismo para habilitar el comando "show running-config", como se tratará a continuación con nuestra sentencia de problema.
Prerequisites
Requirements
Se requiere una comprensión básica de los niveles de privilegio de cisco para entender este documento, la introducción anterior debería bastar para explicar la comprensión de los niveles de privilegio que se requieren.
Componentes Utilizados
Los componentes utilizados para los ejemplos de configuración dentro de este documento eran un ASR1006.
Problema de configuración
Al configurar diferentes niveles de acceso al router para diferentes usuarios, es una aplicación común para un administrador de red intentar asignar ciertos usuarios sólo para tener acceso a los comandos "show" y no proporcionar acceso a ningún comando "configuration". Esta es una tarea sencilla para la mayoría de los comandos show, ya que puede conceder acceso a través de una configuración simple como la siguiente:
Router(config)# username test_user privilege 10 password testP@ssw0rD
Router(config)# privilege exec level 10 show
Router(config)# privilege exec level 10 show running-config
Con este ejemplo de configuración, la segunda línea permitirá que ‘test_user’ tenga acceso a una plétora de comandos show relacionados, que normalmente no están disponibles en este nivel de privilegio. Sin embargo, el comando show running-config se trata de manera diferente a la mayoría de los comandos show. Incluso con la tercera línea de código de ejemplo, sólo se mostrará para el usuario un "show running-config" omitido/abreviado, a pesar de que el comando se especifique en el nivel de privilegio correcto.
Verificación de acceso del usuario
Nombre de usuario: test_user
Contraseña
Router#
Router#show privilege
El nivel de privilegio actual es 10
Router#
Router#show running-config
Generando configuración...
Configuración actual 121 bytes
!
! Último cambio de configuración a las 21:10:08 UTC el lunes 28 de agosto de 2017
!
boot-start-marker
boot-end-marker
!
!
!
Finalizar
Router#
Como puede ver, este resultado no muestra ninguna configuración y no sería útil para un usuario que intenta recopilar información sobre la configuración del router. Esto se debe a que el comando show running-config sólo mostrará todos los comandos que el usuario puede modificar en su nivel de privilegio actual. Esto se ha diseñado como una configuración de seguridad para evitar que el usuario tenga acceso a los comandos que se han configurado por encima de su nivel de privilegio actual. Este es un problema al intentar crear un usuario con acceso a los comandos show, ya que "show running-config" es un comando estándar que los ingenieros pueden recopilar inicialmente al resolver problemas.
Solución de configuración y verificación
Como solución a este dilema, hay otra versión del comando show run tradicional que omitirá esta limitación del comando.
Router(config)# show running-config view full
Router(config)# privilege exec level 10 show running-config view full
La adición de ‘view full’ al comando, (y a su vez el nivel de privilegio del comando para permitir el acceso del usuario al comando), ahora permite al usuario ver el show running-config completo sin ningún comando omitido.
Nombre de usuario: test_user
Contraseña
Router#
Router#show privilege
El nivel de privilegio actual es 10
Router#
Router#show running-config view full
Generando configuración...
Configuración actual 2664 bytes
!
! Último cambio de configuración a las 21:25:45 UTC el lunes 28 de agosto de 2017
!
versión 15.4
service timestamps debug datetime msec
service timestamps debug datetime msec
no platform punt-keepalive disable-kernel-core
!
HostName Router
!
boot-start-marker
boot system flash bootflash:packages.conf
boot system flash bootflash:asr1000rp1-adventerprisek9.03.13.06a.S.154-3.S6a-ext.bin
boot-end-marker
!
vrf definition Mgmt-intf
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
enable password <omite>
!
no aaa new-model
!
no ip domain lookup
!
plantilla del suscriptor
!
multilink bundle-name autenticado
!
spanning-tree extend system-id
!
username test_user privilege 10 password 0 testP@ssw0rD
!
redundancia
mode sso
!
cdp run
!
interface GigabitEthernet0/2/0
sin dirección de IP
apagado
negotiation auto
!
interface GigabitEthernet0/2/1
sin dirección de IP
apagado
negotiation auto
!
interface GigabitEthernet0
vrf forwarding Mgmt-intf
ip address <omite>
negotiation auto
cdp enable
!
ip forward-protocol nd
!
plano de control
!
!
privilege exec level 10 show running-config view full
alias exec show-running-config show running-config view full
!
line con 0
stopbits 1
line aux 0
exec-timeout 0 1
no exec
transport output none
stopbits 1
line vty 0 4
login local
!
Finalizar
Router#
Sin embargo, esto plantea la pregunta, al proporcionar al usuario acceso a esta versión del comando, ¿no aumenta el riesgo de seguridad inicial que estaba intentando resolver diseñando una versión omitida?
Como solución alternativa a la solución y para asegurar la consistencia en un diseño de red seguro, podemos crear un alias para el usuario que ejecutará la versión completa del comando show running-config sin proporcionar acceso/conocimiento al usuario, como se muestra a continuación:
Router(config)# alias exec show-running-config show running-config view full
En este ejemplo, "show-running-config" es el nombre de alias y, cuando el usuario inicia sesión en el router, puede ingresar este nombre de alias en lugar del comando y recibir el resultado esperado sin conocer el comando real que se está ejecutando.
Conclusión
En conclusión, este es solo un ejemplo de cómo tener más control al crear administrativamente acceso de privilegios de usuario en diferentes niveles. Hay una gran cantidad de opciones para crear varios niveles de privilegio y acceso a diferentes comandos, y este es un ejemplo de cómo garantizar que un usuario "show-only" aún tenga acceso a la configuración en ejecución completa cuando no tenga acceso a ningún comando de configuración.