例:Junos OS の設定を変更または削除から保護する
この例では、設定モードで protect
コマンドと unprotect
コマンドを使用して、CLI 設定を保護および保護解除する方法を示しています。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
M シリーズ、MX シリーズ、PTX シリーズ、または T シリーズ デバイス
すべてのデバイスでJunos OS 11.2以降が作動
概要
Junos OSを使用すると、他のユーザーによってデバイス設定が変更されたり削除されたりしないように保護できます。これは、CLI の設定モードで protect
コマンドを使用することで実現できます。同様に、 unprotect
コマンドを使用して、保護された構成の保護を解除することもできます。
これらのコマンドは、最上位の親階層、設定ステートメント、階層の最下位レベル内の識別子など、設定階層のどのレベルでも使用することができます。
構成階層が保護されている場合、ユーザーは以下のアクティビティを実行できません。
保護された階層内の階層、ステートメント、識別子の削除または変更
保護された階層内での新しい設定ステートメントまたは識別子の挿入
保護された階層内のステートメントまたは識別子の名前変更
保護された階層への構成のコピー
保護された階層内でのステートメントのアクティブ化または無効化
保護された階層に注釈を付ける
位相幾何学
親レベルの階層の保護
プロシージャ
手順
階層の最上位レベルの設定を保護するには:
保護したい階層を識別し、[edit]
階層レベルでその階層に対して protect
コマンドを発行します。
たとえば、 [edit access]
階層レベル全体を保護する場合は、次のコマンドを使用します。
[edit]
user@host#protect access
業績
親階層の下にあるすべての要素を保護します。
設定で使用されていない階層に対して protect
コマンドを発行すると、Junos OS CLI に次のエラー メッセージが表示されます。
[edit]
user@host#protect access
warning: statement not found
子階層の保護
階層内の設定ステートメントの保護
設定ステートメントの識別子リストの保護
プロシージャ
手順
一部の構成ステートメントは、複数の値を取ることができます。たとえば、[edit system login deny-sources]
階層レベルの address
ステートメントは、ホスト名、IPv4 アドレス、または IPv6 アドレスのリストを取得できます。次の構成があるとします。
[edit system login] deny-sources { address [ 172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]; }
address
ステートメントのすべてのアドレスを保護するには、[edit]
レベルで次のコマンドを使用します。
[edit]
user@host# protect system login deny-sources address
業績
address
ステートメントのすべてのアドレス ([172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]) は保護されています。
同種リストからの個々のメンバーの保護
プロシージャ
手順
次の構成があるとします。
[edit groups ] test1 { system { name-server { 10.1.2.1; 10.1.2.2; 10.1.2.3; 10.1.2.4; } } }
name-server
ステートメントに対して 1 つ以上の個別のアドレスを保護するには、[edit]
レベルで次のコマンドを発行します。
[edit] user@host#protect groups test1 system name-server 10.1.2.1
user@host#protect groups test1 system name-server 10.1.2.4
業績
アドレス 10.1.2.1 および 10.1.2.4 は保護されています。
設定の保護解除
プロシージャ
手順
[edit system]
階層レベルで次の構成があるとします。
protect: system { host-name bigping; domain-search 10.1.2.1; login { deny-sources { protect: address [ 172.17.28.19 172.17.28.173 172.17.28.0 174.0.0.0 ]; } } }
[edit system]
階層レベル全体の保護を解除するには、[edit]
レベルで次のコマンドを発行します。
[edit]
user@host# unprotect system
業績
system
階層レベル全体が保護解除されます。
検証
show コマンドを使用して、階層が保護されていることを確認する
目的
構成階層が保護されていることを確認するには。
アクション
設定モードで、[edit]
階層レベルで show
コマンドを発行すると、保護されているすべての設定階層と設定ステートメントが表示されます。
すべての保護された階層またはステートメントには、 protect:
文字列のプレフィックスが付きます。
... protect: system { host-name bigping; domain-search 10.1.2.1; login { deny-sources { protect: address [ 172.17.28.19 172.17.28.173 172.17.28.0 174.0.0.0 ]; } } } ...
構成の変更を試みることによって、階層が保護されていることを確認する
目的
activate
、copy
、insert
、rename
、および delete
コマンドを使用して設定を変更することで、設定が保護されていることを確認するには。
アクション
設定が保護されていることを確認するには:
最上位階層、子階層、階層内のステートメントに対して、
activate
、copy
、insert
、rename
、およびdelete
コマンドを使用してみます。保護された階層またはステートメントの場合、Junos OSは、コマンドが実行されていないことを示す適切な警告を表示します。例えば:
protect: system { host-name a; inactive: domain-search [ a b ]; }
階層が保護されていることを確認するには、
domain-search
ステートメントに対してactivate
コマンドを発行してみてください。[edit system]
user@host#
activate system domain-search
Junos OS CLI は、適切なメッセージを表示します。
warning: [system] is protected, 'system domain-search' cannot be activated
保護コマンドの使用確認
目的
設定の保護に使用される protect
コマンドを表示します。
アクション
必要な階層に移動します。
show | display set relative
コマンドを発行します。
user@host> show | display set relative
set system host-name bigping
set system domain-search 10.1.2.1
set system login deny-sources address 172.17.28.19
set system login deny-sources address 172.17.28.173
set system login deny-sources address 172.17.28.0
set system login deny-sources address 174.0.0.0
protect system login deny-sources address
protect system
XML での構成の表示
目的
保護された階層またはステートメントが XML にも表示されているかどうかを確認します。保護された階層、ステートメント、または識別子は、XML の | display xml
属性で表示されます。
アクション
構成を XML で表示するには:
表示する階層に移動します。
パイプ記号とオプション
| display xml
を指定して [show
コマンドを使用します。[edit system]
user@host#
show | display xml
[edit] user@host# show system | display xml <rpc-reply xmlns:junos="http://xml.juniper.net/junos/11.2I0/junos"> <configuration junos:changed-seconds="1291279234" junos:changed-localtime="2017-12-02 00:40:34 PST"> <system protect="protect"> <host-name>bigping</host-name> <domain-search>10.1.2.1</domain-search> <login> <message> \jnpr \tUNAUTHORIZED USE OF THIS ROUTER \tIS STRICTLY PROHIBITED! </message> <class> <name>a</name> <allow-commands>commit-synchronize</allow-commands> <deny-commands>commit</deny-commands> </class> <deny-sources> <address protect="protect">172.17.28.19</address> <address protect="protect">172.17.28.173</address> <address protect="protect">172.17.28.0</address> <address protect="protect">174.0.0.0</address> </deny-sources> </login> <syslog> <archive> </archive> </syslog> </system> </configuration> <cli> <banner>[edit]</banner> </cli> </rpc-reply>手記:unprotect="unprotect"
タグを使用してXML構成を読み込むと、すでに保護された階層の保護が解除されます。たとえば、次の XML 階層を読み込むとします。<protocols unprotect="unprotect"> <ospf> <area> <name>0.0.0.0</name> <interface> <name>all</name> </interface> </area> </ospf> </protocols>
[edit protocols]
階層が既に保護されている場合、その階層は保護されなくなります。