構成ファイルの暗号化と復号化
暗号化構成ファイルを使用すると、構成データまたは機密情報を構成ファイルに格納できます。暗号化解除では、デバイス上の設定ファイルの暗号を無効にして、すべてを読み取ることができるようにします。
構成ファイルの暗号化
EEPROM で暗号化鍵を設定し、暗号化プロセスを決定するには、「 request system set-encryption-key動作」モードで、「 表 1」で説明されているコマンドのいずれかを入力します。
このrequest system set-encryption-keyコマンドは、SRX3400、SRX3600、SRX5400、SRX5600、SRX5800 の各デバイスではサポートされていません。したがって、この作業はそのようなデバイスには適用されません。
表 1: request system set-暗号化キーコマンド
CLI コマンド | 説明 |
---|---|
request system set-encryption-key | 暗号化キーを設定し、デフォルトの構成ファイル暗号化を有効にします。
|
request system set-encryption-key algorithm des | 暗号化鍵を設定し、DES による設定ファイルの暗号化を指定します。 |
request system set-encryption-key unique | 暗号化キーを設定し、デバイスのシャーシシリアル番号を含む一意の暗号化キーを使用して、デフォルトの構成ファイル暗号化を有効にします。 固有のキーで暗号化された設定ファイルは、現在のデバイスでのみ復号化できます。このような設定ファイルを別のデバイスにコピーして復号化することはできません。 |
request system set-encryption-key des unique | 暗号化キーを設定し、DES によって一意の暗号化キーで設定ファイルの暗号化を指定します。 |
デバイス上の設定ファイルを暗号化するには、次のようにします。
- CLI で運用モードに入ります。
- 暗号化鍵を EEPROM で設定し、暗号化プロセスを決定します。たとえば、 request system set-encryption-keyコマンドを入力します。user@host> request system set-encryption-keyEnter EEPROM stored encryption key:
- プロンプトで、暗号化キーを入力します。暗号化キーは6文字以上にする必要があります。Enter EEPROM stored encryption key:juniper1Verifying EEPROM stored encryption key:
- 2つ目のプロンプトで、暗号化キーをもう一度入力します。
- CLI で設定モードに入ります。
- 設定ファイルの暗号化を有効にします。[edit]user@host# edit systemuser@host# set encrypt-configuration-files
- 設定をコミットして、暗号化プロセスを開始します。[edit]user@host# commitcommit complete
構成ファイルの暗号化解除
デバイス上の設定ファイルの暗号化を無効化し、読み取り可能にするには、次のようにします。
- CLI で運用モードに入ります。
- デバイスの暗号化キーを入力して、このデバイスの設定ファイルを復号化する権限を確認してください。user@host> request system set-encryption-keyEnter EEPROM stored encryption key:Verifying EEPROM stored encryption key:
- 2つ目のプロンプトで、暗号化キーをもう一度入力します。
- CLI で設定モードに入ります。
- 構成ファイルの暗号化解除を有効にします。[edit]user@host# edit systemuser@host# set no-encrypt-configuration-files
- 構成をコミットして、復号化プロセスを開始します。[edit]user@host# commitcommit complete
暗号化キーの変更
暗号化キーを変更すると、設定ファイルの暗号化が解除され、新しい暗号化キーを使用して再度暗号化が行います。
暗号化キーを変更するには、次のようにします。
- CLI で運用モードに入ります。
- 新しい暗号化鍵を EEPROM で設定し、暗号化プロセスを決定します。たとえば、 request system set-encryption-keyコマンドを入力します。user@host> request system set-encryption-keyEnter EEPROM stored encryption key:
- プロンプトが表示されたら、新しい暗号化鍵を入力します。暗号化キーは6文字以上にする必要があります。Enter EEPROM stored encryption key:juniperoneVerifying EEPROM stored encryption key:
- 2つ目のプロンプトで、新しい暗号化キーを再入力します。
例:変更または削除からの Junos OS 構成の保護
この例では、設定モードprotectのunprotect and コマンドを使用して、CLI 構成を保護し、解除する方法を示します。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
M Series、MX シリーズ、PTX シリーズ、T Series デバイス
すべてのデバイスで Junos OS 11.2 以降を実行
概要
Junos OS では、他のユーザーによって変更または削除されないようにデバイス構成を保護することができます。これを実現するには、 protect CLI の設定モードのコマンドを使用します。同様に、このunprotectコマンドを使用して保護された構成を解除することもできます。
これらのコマンドは、最上位レベルの親階層、—構成文、階層の最下位にある識別子といった、構成階層の任意のレベルで使用できます。
構成階層が保護されている場合、ユーザーは以下の活動を実行できません。
階層、または保護された階層内の文または識別子の削除または変更
保護された階層内での新しい構成ステートメントまたは識別子の挿入
保護された階層内でのステートメントまたは識別子の名前変更
構成の保護された階層へのコピー
保護された階層内でのステートメントの有効化または無効化
保護された階層への注釈付け
親レベル階層の保護
ステップごとの手順
階層の最上位で構成を保護するには、次のようにします。
階層レベルでprotect[edit]階層のコマンドを保護して発行する階層を特定します。
たとえば、階層レベル全体[edit access]を保護する場合は、次のコマンドを使用します。
結果
親階層の下のすべての要素を保護します。
構成で使用さprotectれていない階層に対してコマンドを発行すると、Junos OS CLI に次のエラーメッセージが表示されます。
子階層の保護
ステップごとの手順
親階層内に含まれる子階層を保護するには、次のようにします。
親コンテナ階層に移動します。親レベルprotect の階層のコマンドを使用します。
たとえば、 [edit system syslog console]階層レベルを保護する場合は、次のコマンドを[edit system syslog]階層レベルで使用します。
結果
子階層の下のすべての要素を保護します。
階層内での構成ステートメントの保護
ステップごとの手順
階層レベルでの設定ステートメントを保護するには、次のようにします。
保護するステートメントが含まれている階層レベルに移動し、階層のprotectコマンドを発行します。
たとえば、階層レベルのhost-name[edit system]下でステートメントを保護する場合は、次のコマンドを使用します。
結果
構成文の識別子リストを保護する
ステップごとの手順
構成文によっては、複数の値を取ることができます。たとえば、 address階層レベル[edit system login deny-sources]の文は、ホスト名、IPv4 アドレス、IPv6 アドレスのリストを取得できます。以下の構成があるとします。
addressステートメントのすべてのアドレスを保護するには、 [edit]レベルで次のコマンドを使用します。
結果
addressステートメントのすべてのアドレス ([172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]) は保護されています。
同種リストからの個人メンバーの保護
ステップごとの手順
以下の構成があるとします。
name-serverステートメントの1つ以上のアドレスを保護するには、次のコマンドを[edit]レベルで発行します。
結果
アドレス10.1.2.1 と10.1.2.4 は保護されています。
Unprotecting の構成
ステップごとの手順
次のような階層レベルの[edit system]構成があるとします。
階層レベル全体[edit system]の保護を解除するには、 [edit]レベルで次のコマンドを実行します。
結果
階層全体systemのレベルは、保護されていません。
検証
[表示] コマンドを使用して階層が保護されていることを確認します。
目的
構成階層が保護されていることを確認します。
アクション
設定モードでは、 show[edit]階層レベルでコマンドを発行して、保護されているすべての構成階層と構成ステートメントを確認します。
保護されたすべての階層またはprotect:ステートメントの前には、文字列が付いています。
構成の変更を試みることで階層が保護されていることを確認します。
目的
、、、、 activateおよびcopyinsertrenamedeleteの各コマンドを使用して設定を変更しようとすることで、構成が保護されていることを確認します。
アクション
構成が保護されていることを確認するには
- 最上位階層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 でも表示されているかどうかを確認します。保護された階層、文、または識別子が、 | display xml
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]でに保護されている場合、階層は保護解除になります。