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 è collegato al router, può eseguire show access-lists
e/o qualsiasi altro comando abilitato a tale livello di privilegio. Tuttavia, lo stesso non può essere detto per l'attivazione show running-config
come illustrato più avanti nella descrizione del problema.
Problema di configurazione
Quando si configurano diversi livelli di accesso al router per utenti diversi, è un'applicazione comune per un amministratore di rete tentare di assegnare a determinati utenti solo l'accesso a show
e non forniscono l'accesso ad alcun comando configuration
comandi. Si tratta di un'operazione semplice per la maggior parte show
, poiché è 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 al test_user
per accedere a una serie di comandi correlati a show che normalmente non sono disponibili a questo livello di privilegio. Tuttavia, la show running-config
viene trattato in modo diverso dalla maggior parte dei comandi show. Anche con la terza riga del codice di esempio, solo un show running-config
viene visualizzato per l'utente 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ò è dovuto al show running-config
In questo comando vengono visualizzati tutti i comandi che l'utente è in grado di modificare al livello di privilegio corrente. 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 tenta di creare un utente con accesso ai comandi show, come show running-config
è un comando standard che i tecnici devono raccogliere inizialmente durante la risoluzione dei problemi.
Soluzione di configurazione e verifica
Come soluzione a questo dilemma, c'è un'altra versione del tradizionale show run
che ignora questa limitazione del comando.
Router(config)# show running-config view full
Router(config)# privilege exec level 10 show running-config view full
L'aggiunta di view full
al comando (e a sua volta al livello di privilegio del comando per consentire all'utente di accedere al comando), consente ora all'utente di visualizzare show running-config
senza comandi omessi.
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?
Come soluzione alternativa alla soluzione e per garantire la coerenza in una progettazione di rete sicura, è possibile creare un alias per l'utente che esegue la versione completa della show running-config
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
è il nome alias e, quando l'utente è connesso al router, può immettere questo nome 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 è necessario aggiungere anche le autorizzazioni per i 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