Inleiding
In dit document wordt het configuratieproces beschreven om de volledige actieve configuratie weer te geven voor gebruikers met lage toegangsrechten.
Voorwaarden
Vereisten
Om dit document te begrijpen, is een basiskennis van de Cisco-voorkeursniveaus vereist. De achtergrondinformatie is voldoende om het begrip van de vereiste voorkeursniveaus uit te leggen.
Gebruikte componenten
De componenten die voor de configuratievoorbeelden in dit document werden gebruikt, waren een ASR1006, maar elk Cisco IOS®- of Cisco IOS XE-apparaat werkt op dezelfde manier.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
In dit document worden de configuratiestappen beschreven voor het weergeven van de volledige actieve configuratie voor gebruikers die zijn aangemeld bij de router met lage voorkeurniveaus. Om het volgende probleem en de oplossing te begrijpen, is het noodzakelijk om de voorkeursniveaus te begrijpen. De beschikbare voorkeursniveaus variëren van 0 tot 15 en stellen de beheerder in staat aan te passen welke opdrachten beschikbaar zijn op welk voorkeursniveau. Standaard zijn de drie voorkeursniveaus op een router:
- Niveau 0 – bevat alleen basisopdrachten (uitschakelen, inschakelen, afsluiten, hulp en uitloggen)
- Niveau 1 – Bevat alle opdrachten die beschikbaar zijn in de opdrachtmodus User EXEC
- Niveau 15 – Bevat alle opdrachten die beschikbaar zijn in de opdrachtmodus Privileged EXEC
De resterende niveaus tussen deze minimum- en maximumniveaus zijn niet gedefinieerd totdat de beheerder er opdrachten en/of gebruikers aan toewijst. Daarom kan de beheerder gebruikers verschillende voorkeursniveaus toewijzen tussen deze minimum- en maximumvoorkeursniveaus om te scheiden waartoe verschillende gebruikers ook toegang hebben. De beheerder kan vervolgens individuele opdrachten (en verschillende andere opties) toewijzen aan een individueel voorkeursniveau om dit beschikbaar te maken voor elke gebruiker op dit niveau. Voorbeeld:
Router(config)# username user1 privilege 7 password P@ssw0rD1
Router(config)# privilege exec level 7 show access-lists
Met deze configuratie, wanneer gebruiker1 verbonden is met de router, zouden ze in staat zijn om de opdracht uit te voeren show access-lists en / of iets anders dat is ingeschakeld op dat voorkeursniveau. Hetzelfde kan echter niet worden gezegd voor de opdracht ingeschakeldshow running-config , zoals later in de probleemstelling wordt besproken.
Configuratieprobleem
Bij het configureren van verschillende toegangsniveaus tot de router voor verschillende gebruikers, is het een gebruikelijke toepassing voor een netwerkbeheerder om te proberen bepaalde gebruikers toe te wijzen om alleen toegang te hebben tot show opdrachten en geen toegang te geven tot configuration opdrachten. Dit is een eenvoudige taak voor de meeste show opdrachten, omdat u toegang kunt verlenen via een eenvoudige configuratie zoals hieronder beschreven:
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
Met deze voorbeeldconfiguratie kan de tweede regel de gebruiker toegang geven tot een overvloed aan test_user showgerelateerde opdrachten, die normaal niet beschikbaar zijn op dit voorkeursniveau. De opdracht wordt echter anders show running-config behandeld dan de meeste opdrachten weergeven. Zelfs met de derde regel voorbeeldcode wordt alleen een weggelaten/afgekorte show running-config code weergegeven voor de gebruiker, ondanks dat de opdracht op het juiste voorkeursniveau is opgegeven.
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#
Zoals u kunt zien, toont deze uitvoer geen configuratie en zou het niet nuttig zijn voor een gebruiker die informatie probeert te verzamelen over de configuratie van de router. Dit komt omdat de opdracht show running-config alle opdrachten weergeeft die de gebruiker op het huidige voorkeursniveau kan wijzigen. Dit is ontworpen als een beveiligingsconfiguratie om te voorkomen dat de gebruiker toegang heeft tot opdrachten die eerder zijn geconfigureerd vanaf het huidige voorkeursniveau. Dit is een probleem wanneer u probeert een gebruiker te maken met toegang om opdrachten weer te geven, omdat show running-config dit een standaardopdracht is voor technici om in eerste instantie te verzamelen bij het oplossen van problemen.
Configuratieoplossing en verificatie
Als oplossing voor dit dilemma is er een andere versie van het traditionele show run commando dat deze beperking van het commando omzeilt.
Router(config)# show running-config view full
Router(config)# privilege exec level 10 show running-config view full
De toevoeging van view full aan de opdracht, (en op zijn beurt het voorkeursniveau van de opdracht om de gebruiker toegang te geven tot de opdracht), stelt de gebruiker nu in staat om de volledige show running-config zonder weggelaten opdrachten te bekijken.
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#
Dit roept echter de vraag op, door de gebruiker toegang te geven tot deze versie van het commando, verhoogt dit niet het initiële beveiligingsrisico dat probeerde te worden opgelost door een weggelaten versie te ontwerpen?
show running-config Als oplossing voor de oplossing en om consistentie in een veilig netwerkontwerp te garanderen, kunt u een alias maken voor de gebruiker die de volledige versie van de opdracht uitvoert zonder de gebruiker toegang/kennis te bieden, zoals hier wordt weergegeven:
Router(config)# alias exec show-running-config show running-config view full
In dit voorbeeld is de naam show running-config de aliasnaam en wanneer de gebruiker is aangemeld bij de router, kunnen ze deze aliasnaam invoeren in plaats van de opdracht en de verwachte uitvoer ontvangen zonder kennis van de eigenlijke opdracht die wordt uitgevoerd.
Opmerking: vanaf versie 16.X is het, afhankelijk van het platform, ook vereist om machtigingen toe te voegen aan de bestanden met de opdracht (config)#file privilege <level>.
Conclusie
Kortom, dit is slechts een voorbeeld van hoe u meer controle kunt hebben bij het administratief maken van toegang tot gebruikersrechten op verschillende niveaus. Er zijn een overvloed aan opties om verschillende voorkeursniveaus en toegang tot verschillende opdrachten te maken, en dit is een voorbeeld van hoe u ervoor kunt zorgen dat een gebruiker die alleen wordt weergegeven, nog steeds toegang heeft tot de volledige actieve configuratie wanneer deze geen toegang heeft tot configuratieopdrachten.
Gerelateerde informatie