Introduzione
In questo documento viene descritto il processo di configurazione per visualizzare la configurazione in esecuzione completa per gli utenti con livelli di privilegi bassi.
Prerequisiti
Requisiti
Per comprendere questo documento, è necessaria una conoscenza di base dei livelli di privilegio Cisco; le informazioni di base bastano per spiegare la comprensione dei livelli di privilegio richiesti.
Componenti usati
I componenti usati per gli esempi di configurazione in questo documento sono ASR1006, ma tutti i dispositivi Cisco IOS® e Cisco IOS XE funzionano in modo simile.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
In questo documento viene descritto come visualizzare la configurazione in esecuzione completa per gli utenti che hanno effettuato l'accesso al router con livelli di privilegi bassi. Per comprendere il problema successivo e la soluzione alternativa, è necessario conoscere i livelli di privilegio. I livelli di privilegio disponibili sono compresi tra 0 e 15 e consentono all'amministratore di personalizzare i comandi disponibili in base al livello di privilegio. Per impostazione predefinita, i tre livelli di privilegi su un router sono:
- Livello 0 - Include solo i comandi di base (disable, enable, exit, help e log out)
- Livello 1: include tutti i comandi disponibili in modalità di esecuzione utente.
- Level 15: include tutti i comandi disponibili in modalità di esecuzione privilegiata.
I livelli restanti compresi tra questi livelli minimo e massimo non sono definiti finché l'amministratore non assegna loro comandi e/o utenti. Pertanto, l'amministratore può assegnare agli utenti livelli di privilegi diversi tra i livelli di privilegi minimo e massimo per separare i diversi utenti a cui hanno accesso. L'amministratore può quindi allocare singoli comandi (e varie altre opzioni) a un singolo livello di privilegio per renderli disponibili per qualsiasi utente a questo livello. Ad esempio:
Router(config)# username user1 privilege 7 password P@ssw0rD1
Router(config)# privilege exec level 7 show access-lists
Con questa configurazione, quando l'utente 1 è connesso al router, sarà in grado di eseguire il comando e/o qualsiasi altra operazioneshow access-lists
eseguibile a quel livello di privilegio. Tuttavia, lo stesso non può essere detto per il comando abilitato,show running-config
come illustrato più avanti nella descrizione del problema.
Problema di configurazione
Quando si configurano livelli di accesso al router diversi per utenti diversi, è un'applicazione comune per un amministratore di rete tentare di assegnare a determinati utenti l'accesso solo aishow
comandi e non a qualsiasiconfiguration
comando. Si tratta di un'operazione semplice per la maggior parte deishow
comandi, in quanto è possibile concedere l'accesso mediante una configurazione semplice come illustrato di seguito:
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 questa configurazione di esempio, la seconda riga può consentire aglitest_user
utenti di accedere a una pletora di comandi correlati a show, che normalmente non sono disponibili a questo livello di privilegio. Tuttavia, il comandoshow running-config
viene trattato in modo diverso dalla maggior parte dei comandi show. Anche con la terza riga di codice di esempio, per l'utente viene visualizzato solo un valore omesso/abbreviatoshow running-config
, nonostante il comando sia stato specificato al livello di privilegio corretto.
User Access Verification
Username: test_user
Password:
Router#
Router#show privilege
Current privilege level is 10
Router#
Router#show running-config
Building configuration...
Current configuration : 121 bytes
!
! Last configuration change at 21:10:08 UTC Mon Aug 28 2017
!
boot-start-marker
boot-end-marker
!
!
!
end
Router#
Come si può vedere, questo output non mostra alcuna configurazione e non sarebbe utile per un utente che cerca di raccogliere informazioni sulla configurazione del router. Ciò si verifica perché il comando visualizza tutti i comandi che l'utente è in grado di modificare al livello di privilegio correnteshow running-config
. Questa configurazione è progettata come configurazione di protezione per impedire all'utente di accedere a comandi configurati in precedenza dal livello di privilegio corrente. Questo problema si verifica quando si cerca di creare un utente con accesso ai comandi show, comeshow running-config
avviene con i comandi standard che i tecnici devono raccogliere inizialmente durante la risoluzione dei problemi.
Soluzione di configurazione e verifica
Per risolvere questo problema, esiste un'altra versione del comando tradizionaleshow run
che ignora questa limitazione.
Router(config)# show running-config view full
Router(config)# privilege exec level 10 show running-config view full
L'aggiunta diview full
al comando (e a sua volta il livello di privilegio del comando per consentire all'utente di accedere al comando), ora consente all'utente di visualizzare il comando completoshow running-config
senza alcun comando omesso.
Username: test_user
Password:
Router#
Router#show privilege
Current privilege level is 10
Router#
Router#show running-config view full
Building configuration...
Current configuration : 2664 bytes
!
! Last configuration change at 21:25:45 UTC Mon Aug 28 2017
!
version 15.4
service timestamps debug datetime msec
service timestamps log 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 <omitted>
!
no aaa new-model
!
no ip domain lookup
!
subscriber templating
!
multilink bundle-name authenticated
!
spanning-tree extend system-id
!
username test_user privilege 10 password 0 testP@ssw0rD
!
redundancy
mode sso
!
cdp run
!
interface GigabitEthernet0/2/0
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet0/2/1
no ip address
shutdown
negotiation auto
!
interface GigabitEthernet0
vrf forwarding Mgmt-intf
ip address <omitted>
negotiation auto
cdp enable
!
ip forward-protocol nd
!
control-plane
!
!
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
!
end
Router#
Tuttavia, se si fornisce all'utente l'accesso a questa versione del comando, non si pone il problema della protezione iniziale che si stava tentando di risolvere progettando una versione omessa?
Per ovviare al problema e garantire la coerenza in una progettazione di rete sicura, è possibile creare un alias per l'utente che esegua la versione completa delshow running-config
comando senza fornire accesso/conoscenza all'utente, come mostrato di seguito:
Router(config)# alias exec show-running-config show running-config view full
Nell'esempio riportato di seguito,show running-config
l'alias è il nome. Quando l'utente ha effettuato l'accesso al router, può immettere questo nome di alias anziché il comando e ricevere l'output previsto senza conoscere il comando effettivamente eseguito.
Nota: A partire dalla versione 16.X, a seconda della piattaforma è inoltre necessario aggiungere le autorizzazioni ai file utilizzando il comando (config)#file privilege <level>.
Conclusioni
In conclusione, questo è solo un esempio di come ottenere un maggiore controllo quando si crea un accesso con privilegi utente a diversi livelli. Sono disponibili numerose opzioni per creare vari livelli di privilegi e accedere a diversi comandi. Questo è un esempio di come garantire che un utente di sola visualizzazione possa ancora accedere alla configurazione in esecuzione completa quando non ha accesso ad alcun comando di configurazione.
Informazioni correlate