소개
이 문서에서는 권한 수준이 낮은 사용자에 대해 실행 중인 전체 컨피그레이션을 표시하는 컨피그레이션 프로세스를 설명합니다.
사전 요구 사항
요구 사항
이 문서를 이해하려면 Cisco 권한 수준에 대한 기본적인 이해가 필요하며, 배경 정보에서는 필요한 권한 수준에 대한 이해를 설명하기에 충분합니다.
사용되는 구성 요소
이 문서의 구성 예제에 사용된 구성 요소는 ASR1006이지만 모든 Cisco IOS® 또는 Cisco IOS XE 장치는 유사한 기능을 수행합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
이 문서에서는 낮은 권한 수준의 라우터에 로그인한 사용자의 전체 실행 중인 컨피그레이션을 표시하는 방법에 대한 컨피그레이션 단계를 설명합니다. 다음 문제를 이해하고 이를 해결하려면 권한 수준을 이해해야 합니다. 사용 가능한 권한 수준은 0~15이며, 관리자가 어떤 권한 수준에서 어떤 명령을 사용할 수 있는지 사용자 지정할 수 있습니다. 기본적으로 라우터의 세 가지 권한 레벨은 다음과 같습니다.
- 레벨 0 - 기본 명령만 포함합니다(disable, enable, exit, help, log out).
- 레벨 1 - 사용자 EXEC 명령 모드에서 사용 가능한 모든 명령을 포함합니다.
- 레벨 15 - 특별 권한 EXEC 명령 모드에서 사용 가능한 모든 명령을 포함합니다.
이러한 최소 수준과 최대 수준 사이의 나머지 수준은 관리자가 명령 및/또는 사용자를 할당할 때까지 정의되지 않습니다. 따라서 관리자는 이러한 최소 및 최대 권한 레벨 사이에서 사용자에게 서로 다른 권한 레벨을 할당하여 서로 다른 사용자가 액세스할 수 있는 권한을 구분할 수 있습니다. 그런 다음 관리자는 개별 권한 레벨에 개별 명령(및 다양한 기타 옵션)을 할당하여 이 레벨의 모든 사용자가 사용할 수 있도록 할 수 있습니다. 예를 들면 다음과 같습니다.
Router(config)# username user1 privilege 7 password P@ssw0rD1
Router(config)# privilege exec level 7 show access-lists
이 구성에서는 user1이 라우터에 연결되면 show access-lists
명령 및/또는 해당 권한 수준에서 활성화된 다른 모든 명령. 그러나 를 활성화한 경우에는 동일한 기능을 사용할 수 없습니다. show running-config
명령입니다. 이 명령의 뒷부분에 설명되어 있습니다.
컨피그레이션 문제
여러 사용자에 대해 라우터에 서로 다른 액세스 레벨을 구성하는 경우, 네트워크 관리자가 특정 사용자에게 액세스 권한만 부여하도록 할당하는 것은 일반적인 응용 프로그램입니다 show
명령 및 액세스 권한 없음 configuration
명령을 사용합니다. 이는 대부분의 사용자에게 간단한 작업입니다 show
명령 - 다음과 같이 간단한 컨피그레이션을 통해 액세스 권한을 부여할 수 있습니다.
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
이 예제 컨피그레이션에서는 두 번째 줄에서 test_user
이 권한 수준에서는 일반적으로 사용할 수 없는 다수의 show 관련 명령에 액세스할 수 있습니다. 그러나 show running-config
명령은 대부분의 show 명령과 다르게 취급됩니다. 예제 코드의 세 번째 줄에서도 생략되거나 축약된 부분만 있습니다. show running-config
명령이 올바른 권한 수준에서 지정되었음에도 불구하고 사용자에 대해 표시됩니다.
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#
보시다시피 이 출력에는 컨피그레이션이 표시되지 않으며, 라우터 컨피그레이션에 대한 정보를 수집하려는 사용자에게 도움이 되지 않습니다. 이는 Cisco의 show running-config
이 명령은 사용자가 현재 권한 수준에서 수정할 수 있는 모든 명령을 표시합니다. 이는 사용자가 현재 권한 레벨에서 이전에 구성된 명령에 액세스할 수 없도록 하기 위한 보안 컨피그레이션으로 설계되었습니다. 이 문제는 show 명령에 대한 액세스 권한이 있는 사용자를 만들 때 다음과 같이 발생합니다. show running-config
는 트러블슈팅 시 엔지니어가 초기에 수집할 수 있는 표준 명령입니다.
컨피그레이션 솔루션 및 확인
이러한 딜레마에 대한 해결책으로는 전통적인 방식의 또 다른 버전이 있다 show run
이 명령의 제한을 우회하는 명령입니다.
Router(config)# show running-config view full
Router(config)# privilege exec level 10 show running-config view full
추가 view full
명령에 대한 (그리고 사용자가 명령에 액세스할 수 있도록 명령의 권한 수준을) 이제 사용자가 전체 를 볼 수 있습니다 show running-config
생략된 명령이 없습니다.
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#
그러나 이렇게 하면 이 버전의 명령에 대한 사용자 액세스 권한을 제공함으로써 문제가 발생하지만, 이는 생략된 버전을 설계하여 해결하려고 했던 초기 보안 위험을 높이지 않습니까?
솔루션의 해결 방법으로, 그리고 보안 네트워크 설계에서 일관성을 보장하기 위해 의 전체 버전을 실행하는 사용자의 별칭을 생성할 수 있습니다. show running-config
사용자에게 액세스/지식 제공 없이 명령을 실행할 수 있습니다.
Router(config)# alias exec show-running-config show running-config view full
이 예에서는 show running-config
는 별칭 이름이며, 사용자가 라우터에 로그인하면 명령 대신 이 별칭 이름을 입력하고 실행 중인 실제 명령을 알지 못한 채 필요한 출력을 받을 수 있습니다.
참고: 16.X 버전에서는 플랫폼에 따라 (config)#file 권한 <level> 명령을 사용하여 파일에 권한을 추가해야 합니다.
결론
결론적으로, 이는 여러 레벨에서 사용자 권한 액세스를 관리적으로 생성할 때 더 많은 제어 권한을 갖는 방법의 한 예에 불과합니다. 다양한 권한 레벨을 생성하고 서로 다른 명령에 액세스할 수 있는 다양한 옵션이 있으며, 이는 show only 사용자가 어떤 컨피그레이션 명령에도 액세스할 수 없을 때 여전히 전체 실행 컨피그레이션에 액세스할 수 있도록 보장하는 방법의 예입니다.
관련 정보