はじめに
このドキュメントでは、特権レベルの低いユーザの完全な実行コンフィギュレーションを表示する設定プロセスについて説明します。
前提条件
要件
このドキュメントを理解するには、シスコの特権レベルに関する基本的な知識が必要です。必要な特権レベルの理解については、「背景説明」を参照してください。
使用するコンポーネント
このドキュメント内の設定例で使用するコンポーネントはASR1006ですが、Cisco IOS®またはCisco IOS XEデバイスはすべて同様に動作します。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
このドキュメントでは、特権レベルの低いルータにログインしたユーザの完全な実行コンフィギュレーションを表示する方法の設定手順について説明します。次の問題と回避策を理解するには、特権レベルを理解する必要があります。 使用可能な特権レベルの範囲は0 ~ 15で、管理者はどのコマンドをどの特権レベルで使用できるかをカスタマイズできます。デフォルトでは、ルータの3つの特権レベルは次のとおりです。
- レベル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
この設定を使用すると、ユーザ1がルータに接続した時点で、 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
この設定例では、2行目で test_user
通常この特権レベルでは使用できない大量のshow relatedコマンドにアクセスできること。ただし、 show running-config
コマンドの扱いは、ほとんどのshowコマンドとは異なります。例文の3行目でも省略・省略のみ 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#
この出力は設定を示していないため、ルータの設定に関する情報を収集しようとするユーザには役立ちません。これは、 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 privilege <level>コマンドを使用してファイルに権限を追加する必要もあります。
結論
結論として、これは、管理上さまざまなレベルでユーザ権限アクセスを作成する際に、より詳細な制御を行う方法の1つの例にすぎません。さまざまな特権レベルを作成したり、さまざまなコマンドにアクセスしたりするためのオプションは数多くあります。これは、show onlyユーザがコンフィギュレーションコマンドにアクセスできない場合でも、完全な実行コンフィギュレーションにアクセスできるようにする方法の例です。
関連情報