Einleitung
In diesem Dokument wird der Konfigurationsprozess zur Anzeige der vollständigen aktuellen Konfiguration für Benutzer mit geringen Berechtigungen beschrieben.
Voraussetzungen
Anforderungen
Für das Verständnis dieses Dokuments ist ein grundlegendes Verständnis der Cisco Privilegstufen erforderlich. Die Hintergrundinformationen reichen aus, um das Verständnis der erforderlichen Berechtigungsstufen zu erklären.
Verwendete Komponenten
Die in diesem Dokument für die Konfigurationsbeispiele verwendeten Komponenten sind ASR1006, aber alle Cisco IOS®- und Cisco IOS XE-Geräte funktionieren ähnlich.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
In diesem Dokument werden die Konfigurationsschritte zum Anzeigen der vollständig ausgeführten Konfiguration für Benutzer beschrieben, die beim Router mit niedrigen Berechtigungsstufen angemeldet sind. Um das nächste Problem zu verstehen und um es zu umgehen, ist es notwendig, die Berechtigungsstufen zu verstehen. Die verfügbaren Berechtigungsebenen reichen von 0 bis 15, und der Administrator kann festlegen, welche Befehle auf welcher Berechtigungsebene verfügbar sind. Standardmäßig lauten die drei Privilegstufen auf einem Router:
- Ebene 0 - Nur einfache Befehle (Deaktivieren, Aktivieren, Beenden, Hilfe und Abmelden)
- Ebene 1 - Beinhaltet alle Befehle, die im Benutzer-EXEC-Befehlsmodus verfügbar sind
- Ebene 15 - Beinhaltet alle Befehle, die im privilegierten EXEC-Befehlsmodus verfügbar sind
Die verbleibenden Ebenen zwischen diesen Mindest- und Höchstwerten sind so lange nicht definiert, bis der Administrator ihnen Befehle und/oder Benutzer zuweist. Daher kann der Administrator Benutzern verschiedene Berechtigungsebenen zwischen diesen Mindest- und Höchstberechtigungsebenen zuweisen, um die Zugriffsrechte verschiedener Benutzer voneinander zu trennen. Der Administrator kann dann einzelne Befehle (und verschiedene andere Optionen) einer einzelnen Berechtigungsebene zuordnen, um diese für jeden Benutzer auf dieser Ebene verfügbar zu machen. Beispiele:
Router(config)# username user1 privilege 7 password P@ssw0rD1
Router(config)# privilege exec level 7 show access-lists
Bei dieser Konfiguration kann user1, wenn eine Verbindung mit dem Router besteht, den show access-lists Befehl und/oder andere auf dieser Berechtigungsebene aktivierte Optionen ausführen. Dasselbe gilt jedoch nicht für den aktivierten show running-config Befehl, wie später in der Problem-Anweisung erläutert wird.
Konfigurationsproblem
Bei der Konfiguration verschiedener Zugriffsebenen für den Router für verschiedene Benutzer ist es eine gängige Anwendung für Netzwerkadministratoren, zu versuchen, bestimmten Benutzern nur Zugriff auf show Befehle zuzuweisen, nicht jedoch Zugriff auf configuration Befehle. Dies ist eine einfache Aufgabe für die meisten show Befehle, da Sie den Zugriff über eine einfache Konfiguration wie folgt gewähren können:
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
Bei dieser Beispielkonfiguration kann die zweite Zeile dem Benutzer Zugriff auf eine Vielzahl von Befehlen zum Anzeigen von Informationen gewähren, die normalerweise auf dieser Berechtigungsebene nicht verfügbar sind. Die zweite Zeile enthält test_user die folgenden Befehle: Der show running-config Befehl wird jedoch anders behandelt als die meisten Befehle show. Selbst bei der dritten Zeile Beispielcode wird nur eine ausgelassene/gekürzte show running-config Anzeige für den Benutzer angezeigt, obwohl der Befehl auf der richtigen Berechtigungsebene angegeben wurde.
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#
Wie Sie sehen, zeigt diese Ausgabe keine Konfiguration an und wäre für einen Benutzer, der versucht, Informationen über die Konfiguration des Routers zu sammeln, nicht hilfreich. Dies liegt daran, dass der show running-config Befehl alle Befehle anzeigt, die der Benutzer auf der aktuellen Berechtigungsebene ändern kann. Dies dient als Sicherheitskonfiguration, um zu verhindern, dass Benutzer auf Befehle zugreifen können, die zuvor für ihre aktuelle Berechtigungsstufe konfiguriert wurden. Dieses Problem tritt auf, wenn versucht wird, einen Benutzer mit Zugriff auf Befehle zum Anzeigen von Befehlen zu erstellen. Dies show running-config ist ein Standardbefehl, den Techniker bei der Fehlerbehebung zunächst erfassen müssen.
Konfigurationslösung und Verifizierung
Als Lösung für dieses Dilemma gibt es eine andere Version des traditionellen show run Befehls, die diese Einschränkung des Befehls umgeht.
Router(config)# show running-config view full
Router(config)# privilege exec level 10 show running-config view full
Das Hinzufügen von view full zum Befehl (und damit die Privilegstufe des Befehls, um dem Benutzer den Zugriff auf den Befehl zu ermöglichen) ermöglicht es dem Benutzer nun, den vollständigen show running-config Befehl ohne ausgelassene Befehle anzuzeigen.
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#
Dies wirft jedoch die Frage auf, indem dem Benutzer Zugriff auf diese Version des Befehls gewährt wird, löst dies nicht das ursprüngliche Sicherheitsrisiko aus, das durch das Entwerfen einer weggelassenen Version behoben werden sollte?
Als Problemumgehung für die Lösung und um Konsistenz in einem sicheren Netzwerkdesign zu gewährleisten, können Sie einen Alias für den Benutzer erstellen, der die vollständige Version des show running-config Befehls ausführt, ohne dem Benutzer Zugriff auf/Kenntnisse zu gewähren, wie hier gezeigt:
Router(config)# alias exec show-running-config show running-config view full
In diesem Beispiel ist der show running-config Aliasname, und wenn der Benutzer beim Router angemeldet ist, kann er diesen Aliasnamen anstelle des Befehls eingeben und die erwartete Ausgabe erhalten, ohne den tatsächlichen Befehl zu kennen, der ausgeführt wird.
Anmerkung: Ab der Version 16.x müssen den Dateien je nach Plattform auch Berechtigungen mithilfe des Befehls (config)#file privilege <level> hinzugefügt werden.
Schlussfolgerung
Zusammenfassend ist dies nur ein Beispiel dafür, wie Sie mehr Kontrolle haben können, wenn Sie administrativ Benutzerberechtigungen auf verschiedenen Ebenen erstellen. Es gibt eine Vielzahl von Optionen, um verschiedene Berechtigungsebenen und den Zugriff auf verschiedene Befehle zu erstellen. Dies ist ein Beispiel dafür, wie sichergestellt wird, dass ein Benutzer, der nur anzeigen kann, weiterhin Zugriff auf die vollständige aktuelle Konfiguration hat, wenn er keinen Zugriff auf Konfigurationsbefehle hat.
Zugehörige Informationen