例:Junos OS の設定を変更または削除から保護する
この例では、 設定モードで および コマンドを使用して、CLI 設定を保護および保護解除する方法を示しています。protect
unprotect
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
M シリーズ、MX シリーズ、PTX シリーズ、または T シリーズ デバイス
すべてのデバイスでJunos OS 11.2以降が作動
概要
Junos OSを使用すると、他のユーザーによってデバイス設定が変更されたり削除されたりしないように保護できます。これは、CLIの設定モードで コマンドを使用することで 実現できます。protect
同様に、 コマンドを使用して、保護された構成 の保護を解除することもできます。unprotect
これらのコマンドは、最上位の親階層、設定ステートメント、階層の最下位レベル内の識別子など、設定階層のどのレベルでも使用することができます。
構成階層が保護されている場合、ユーザーは以下のアクティビティを実行できません。
保護された階層内の階層、ステートメント、識別子の削除または変更
保護された階層内での新しい設定ステートメントまたは識別子の挿入
保護された階層内のステートメントまたは識別子の名前変更
保護された階層への構成のコピー
保護された階層内でのステートメントのアクティブ化または無効化
保護された階層に注釈を付ける
トポロジー
親レベルの階層の保護
手順
ステップバイステップでの手順
階層の最上位レベルの設定を保護するには:
保護したい階層を特定し、その階層レベルでその階層に対して コマンドを発行します。protect
[edit]
たとえば、階層レベル全体 を保護する場合は、次のコマンドを使用します。[edit access]
[edit]
user@host#protect access
結果
親階層の下にあるすべての要素を保護します。
設定で使用されていない階層に対して コマンドを発行 すると、Junos OS CLI に次のエラー メッセージが表示されます。protect
[edit]
user@host#protect access
warning: statement not found
子階層の保護
手順
ステップバイステップでの手順
親階層内に含まれる子階層を保護するには:
親コンテナ階層に移動します。親レベルの階層に対して コマンドを使用します。protect
たとえば、階層レベルを保護する 場合は、 階層レベルで次のコマンド を使用します。[edit system syslog console]
[edit system syslog]
[edit system syslog]
user@host#protect console
結果
子階層の下にあるすべての要素を保護します。
階層内の設定ステートメントの保護
手順
ステップバイステップでの手順
階層レベル内の設定ステートメントを保護するには:
保護したいステートメントを含む階層レベルに移動し、その階層に対して コマンド を発行します。protect
たとえば、 階層レベル下のステートメントを保護する場合は、次のコマンドを使用します。host-name
[edit system]
[edit system]
user@host#protect host-name
結果
設定ステートメントの識別子リストの保護
手順
ステップバイステップでの手順
一部の構成ステートメントは、複数の値を取ることができます。例えば、 階層レベルの ステートメントは、ホスト名、IPv4アドレス、またはIPv6アドレスのリストを受け取ることができます。address
[edit system login deny-sources]
次の構成があるとします。
[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
結果
ステートメントのすべてのアドレス([172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]) は保護されています。address
同種リストからの個々のメンバーの保護
手順
ステップバイステップでの手順
次の構成があるとします。
[edit groups ] test1 { system { name-server { 10.1.2.1; 10.1.2.2; 10.1.2.3; 10.1.2.4; } } }
ステートメントの 1 つ以上の個別のアドレスを保護するには、 レベルで次のコマンドを発行します 。name-server
[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 コマンドを使用して、階層が保護されていることを確認する
目的
構成階層が保護されていることを確認するには。
アクション
設定モードで、 階層レベルで コマンドを発行すると、保護されているすべての設定階層と設定ステートメントが表示されます。show
[edit]
すべての保護された階層またはステートメントには、文字列のプレフィックスが付き ます。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 ]; }
階層が保護されていることを確認するには、 ステートメントの コマンドを発行してみてください。
activate
domain-search
[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 で表示するには:
表示する階層に移動します。
コマンドを パイプ記号とオプション とともに使用します。
show
| display xml
[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>注:というタグを使用して XML 構成を 読み込むと、すでに保護された階層の保護が解除されます。
unprotect="unprotect"
たとえば、次の XML 階層を読み込むとします。<protocols unprotect="unprotect"> <ospf> <area> <name>0.0.0.0</name> <interface> <name>all</name> </interface> </area> </ospf> </protocols>
階層が既に保護されている場合、 その階層は保護解除されます。
[edit protocols]