vSRX仮想ファイアウォール3.0へのMicrosoft Azureハードウェアセキュリティモジュールの導入
Microsoft Azure Key Vault ハードウェア セキュリティ モジュール統合の概要
Microsoft Azure Key Vault ハードウェア セキュリティ モジュール (HSM) は、セキュリティで保護されたシークレット ストアとして機能するクラウド サービスです。キー、パスワード、証明書、およびその他のシークレットを安全に保存できます。クラウドベンダーが提供するこのサービスは、暗号キーを安全に生成、保存、管理するのに役立ちます。vSRX仮想ファイアウォールアプリケーションは、これらの暗号キーを使用して、秘密鍵、パスワード、その他の機密データなどの保存データを保護します。Azure Key Vault HSM は、キー管理ソリューションとしても使用できます。Azure Key Vault を使用すると、データの暗号化に使用される暗号化キーを簡単に作成および制御できます。マスター暗号化パスワードを指定すると、そのパスワードを使用して機密データが暗号化され、暗号化されたデータ(AES256)がディスクに保存されます。マスター暗号化パスワードは、HSM で生成および保存された RSA キーペアを使用して保護されます。
vSRX 仮想ファイアウォール(mgd プロセス)が構成ハッシュを生成します。このハッシュ (およびその他の機密データ) は、AES-GCM 256 暗号化のキーとしてマスター暗号化パスワードを使用して保護されます。
マスターパスワードは、RADIUSパスワード、IKE事前共有キー、およびJunos OS管理プロセス(mgd)設定内の他の共有シークレットなどのシークレットを保護するために使用されます。マスターパスワードは、マスター暗号化パスワードを使用して保護されます。マスターパスワード自体は、設定の一部として保存されません。パスワードの品質は強度について評価され、脆弱なパスワードが使用された場合はデバイスがフィードバックを提供します。
vSRX仮想ファイアウォール3.0インスタンスにプレーンテキストで保存されているPKIプライベートキーや設定などの機密データを、HSMサービスを使用して保護できるようになりました。
vSRX仮想ファイアウォールでMicrosoft Azure Key Vault HSMを有効にすると、vSRX仮想ファイアウォールは2048サイズのRSAキーペアを作成して暗号化し、 それを使用して、/var/db/certs/common/key-pairsにあるPKIプライベートキーファイル、設定ハッシュ、マスターパスワード( /config/unrd-master-password.txtに保存されます)。
HSM を有効にする前の既存のキーペアは暗号化されず、削除されます。
HSM を有効にすると、ソフトウェアレイヤーは、(クリアテキスト形式で保存するのではなく) 256 ビット AES 暗号化を使用して情報を保存することで、プライベートキー、システムマスターパスワードなどの機密情報を保護する基盤となる HSM サービスの使用を利用します。また、管理者が設定をコミットするたびに、デバイスは設定の新しい SHA256 ハッシュを生成します。このハッシュは、システムが起動するたびに検証されます。設定が改ざんされている場合、検証は失敗し、デバイスは起動を継続しません。暗号化されたデータと構成のハッシュの両方が、マスター暗号化パスワードを使用して HSM モジュールによって保護されます。
ハッシュ検証は、コミット操作中に、以前のコミットで保存されたハッシュに対して構成ファイルの検証チェックを実行することによって実行されます。シャーシ クラスタ システムでは、ハッシュはコミット プロセスの一環としてバックアップ システムで個別に生成されます。
ハッシュは現在の設定にのみ保存され、ロールバックの設定には保存されません。ハッシュは、デバイスの再起動またはシャットダウン中に生成されません。
vSRX仮想ファイアウォールはHSMを使用して以下のシークレットを暗号化します。
設定の SHA256 ハッシュ
デバイスマスターパスワード
デバイス上のすべてのキーペア
各vSRX仮想ファイアウォール3.0インスタンスによって作成されたキーには、各VMのUUIDを使用してタグ付けや名前が付けられます。クラウド ポータルにログインしてキーにアクセスし、キーのプロパティまたは要求された操作を確認できます。
vSRX仮想ファイアウォール3.0でMicrosoft Azure Key Vault HSMを設定する
Azure スタック上のキー コンテナーは、すべての Azure アプリケーションに対してクラウド HSM サービスを提供します。Key Vault などのサービスを使用するには、すべてのアプリケーションを Azure Active Directory に登録する必要があります。
vSRX3.0をAzure上で実行する場合、Microsoft Azure Cloud HSMと統合されます。クラウドポータルにログインしてキーにアクセスし、そのプロパティまたは要求された操作を確認できます。
パブリッククラウドベンダーごとに、vSRX仮想ファイアウォールをクラウドHSMに統合するための固有の手順があります。このセクションでは、vSRX仮想ファイアウォール3.0をMicrosoft Azure Key Vault HSMに統合するために必要な手順について説明します。
vSRX仮想ファイアウォールをMicrosoft Azure Key Vault HSMと統合するには、以下の項目が必要になります。
vSRX仮想ファイアウォール3.0インスタンス
Microsoft Azure Key Vault
vSRX仮想ファイアウォール用のキーボールト認証を設定する
HSM を統合するための Microsoft Azure 固有の構成
Microsoft Azure Key Vault は、ユーザーがハードウェア セキュリティ モジュール (HSM) によって保護されているキーを使用してキーと小さなシークレットを暗号化できるようにする、クラウドでホストされる管理サービスです。
この手順では、Microsoft Azure Key Vault HSMをvSRX仮想ファイアウォール3.0に統合するための一般的な手順を説明します。
マスター暗号化パスワードを変更する
マスター暗号化パスワードを変更する場合は、動作モードから次のコマンドを実行します request security hsm master-encryption-password set plain-text-password
。
マスター暗号化パスワードの変更中は、設定を変更しないことをお勧めします。
マスター暗号化パスワードがすでに設定されているかどうかがチェックされます。マスター暗号化パスワードが設定されている場合は、現在のマスター暗号化パスワードを入力するよう求められます。
入力したマスター暗号化パスワードは、現在のマスター暗号化パスワードと照合され、これらのマスター暗号化パスワードが一致することを確認します。検証が成功すると、新しいマスター暗号化パスワードをプレーンテキストとして入力するように求められます。パスワードを検証するために、キーを2回入力するように求められます。
その後、システムは新しいマスター暗号化パスワードを使用して機密データを再暗号化します。マスター暗号化パスワードの変更を再試行する前に、この再暗号化プロセスが完了するのを待つ必要があります。
暗号化されたマスター暗号化パスワードファイルが紛失または破損している場合、システムは機密データを復号化できません。システムは、機密データをクリアテキストで再インポートし、再暗号化することによってのみ回復できます。
HSM のステータスを確認する
セキュリティHSMマスター暗号化パスワードを要求する
構文
request security hsm master-encryption-password set plain-text-password
リリース情報
Junos OSリリース19.4R1で導入されたコマンド。
説明
このコマンドを使用して、パスワードを(プレーンテキストで)設定または置換します。
オプション
plain-text-password | パスワードを(プレーンテキストで)設定または置換します。 |
必要な権限レベル
メンテナンス
出力フィールド
このコマンドを入力すると、リクエストステータスに関するフィードバックが提供されます。
サンプル出力
セキュリティの要求 HSMマスター暗号化パスワードセットプレーンテキストパスワード
user@host> request security hsm master-encryption-password set plain-text-password
Enter new master encryption password: Repeat new master encryption password: Binding password with HSM Master encryption password is bound to HSM Encoding master password .. Successfully encoded master password Deleting all previous local certificates, keypairs and certificate requests
セキュリティHSMステータスを表示
構文
show security HSM status
リリース情報
Junos OSリリース19.4R1で導入されたコマンド。
説明
ハードウェア セキュリティ モジュール (HSM) の現在のステータスを表示します。この show security hsm status
コマンドを使用して、HSM、マスターバインディングキー、マスター暗号化パスワード、およびクラウドベンダーの詳細のステータスを確認できます。
オプション
このコマンドにオプションはありません。
必要な権限レベル
セキュリティ
出力フィールド
表 1 に、このコマンドの出力フィールドshow security hsm status
を示します。
フィールド名 |
フィールドの説明 |
---|---|
|
HSM を有効にするか無効にするかを指定します。 |
|
HSM のマスター バインド キーの状態を、HSM で作成されているかどうかに関係なく表示します。HSM は暗号化キーを生成して暗号化し、HSM によってのみ復号できるようにします。このプロセスはバインディングと呼ばれます。各 HSM には、ストレージ ルート キーとも呼ばれるマスター バインド キーがあります。 |
|
マスター暗号化の設定ステータスを表示します。暗号化されたデータと設定のハッシュは、Microsoft Key Vault(HSM)サービスを使用するvSRX仮想ファイアウォールによって保護されます。 |
|
クラウド ベンダーに固有の詳細を表示します。 |
サンプル出力
show security hsm status(vSRX仮想ファイアウォールが最初に起動するが、この機能が有効になっていない場合のHSM statusコマンド出力)
user@host> show security hsm status
HSM Status: Accessible: no Master Binding Key: not-created Master Encryption Key: not-configured Azure Key Vault: unknown
サンプル出力
show security hsm status(Key Vaultとの統合が成功した後のHSM statusコマンド出力)
user@host> show security hsm status
HSM Status: Accessible: yes Master Binding Key: created Master Encryption Key: configured Azure Key Vault: vsrx3-hsm-kv
関連項目
Microsoft Azure Key Vault HSM Serviceを使用したVPN機能について
vSRX3.0にMicrosoft Azure Key Vault HSMサービスが統合されたことで、HSMサービスを使用して、必要なVPNキーペア操作を作成、保存、実行できるようになりました。キーペアの作成がHSMサービスで有効になりました。HSM を使用して生成されたキーペアを使用して、PKI ベースの VPN トンネルを確立できるようになりました。マスター暗号化キーを構成したら、HSM サービスを使用して VPN 機能を構成できます。生成できるのは、長さが 2048 ビットと 4096 ビットの RSA キーペアのみです。PKIDでのCSR作成時のプライベートキー署名、PKIDでCAサーバーから受信した証明書の検証時のプライベートキー署名、IKEDでのIKEネゴシエーション中のプライベートキー署名などの操作は、vSRX仮想ファイアウォールからオフロードされ、HSMサービスによって実行されるようになりました。
HSM サービスを使用したキーペアの生成は、pkid および iked プロセス専用です。また、HSM サービスが有効になる前のファイルシステム内の既存のキーペアは暗号化されず、それらのキーペアは削除されます。
導入シナリオ
このセクションでは、純粋なIPsec接続を使用してデータセンターに接続する仮想ネットワークで、vSRX仮想ファイアウォール3.0インスタンスをゲートウェイとして起動する導入シナリオについて説明します。
図 4 に、展開シナリオを示します。
pkid プロセスに Microsoft Azure クラウド HSM サービスを使用してキー ペアを生成し、これらのキー ペアを使用して CA サーバーからローカル証明書を取得できます。クラウドHSMサービスに存在するキーペアを、IKEネゴシエーション中のプライベートキーの署名に使用します。
HSM サービスを使用して Microsoft Azure クラウド内で実行される VPN 機能は、 図 5 のようになります。
ここで関係するコンポーネントは次のとおりです。
Microsoft AzureクラウドでリリースされたvSRX仮想ファイアウォール3.0。
ピア—Azureクラウドで起動された2番目のvSRX仮想ファイアウォール3.0インスタンス。最初のvSRX仮想ファイアウォール3.0と とピアの間にトンネルが確立されます。
Key Vault—Azureクラウドで起動されたHSMサービス。vSRX仮想ファイアウォール3.0とHSMの間で対話を行うことができます。また、ピアはローカルでキーペアを作成して保存できます。
認証局サーバー:vSRX仮想ファイアウォールインスタンスからアクセスできるCAサーバー。CA サーバーが Azure クラウド上で起動されます。
この手順では、クラウドHSMサービスでvSRX仮想ファイアウォールを認証することにより、vSRX仮想ファイアウォールからHSMへのアクセスを許可する手順を説明します。
HSM サービスとのセッションを初期化する — HSM と対話する必要がある各プロセスは、独自の個別のセッションを初期化する必要があります。VPN 機能を使用するには、関連するデバイスごとに HSM サービスとのセッションを 2 つ確立する必要があります。1 つのセッションは pkid プロセスで確立され、もう 1 つのセッションは iked プロセスで確立されます。HSM サービスとのこれらのセッションは、デーモンの初期化プロセス中に一度だけ確立されます。デーモンが再起動されると、HSM サービスとの新しいセッションが確立されます。HSM サービスでセッションが正常に確立されると、有効なセッションコンテキストが返されます。マスター暗号化キー (MEK) が有効になっている場合にのみ、HSM サービスとのセッションが確立されます。各セッションは、vSRX仮想ファイアウォールとクラウドHSM間の安全なTLS接続になります。
HSM でのキーペアの処理 — HSM でキーペアを作成して保存するには、 コマンドを使用します
request security pki generate-key-pair certificate-id certificate-id-name <size> <type>
。メモ:certificate-id という用語は、生成されたキーペアに関連付けられた単なる識別子です。証明書の作成への接続はまだありません。型とサイズが記述されていない場合は、型のデフォルト値を RSA として、サイズ 2048 が考慮されます。
HSM へのリダイレクト—HSM を有効にすると、同じ CLI コマンドが HSM にリダイレクトされます。指定されたパラメーターを持つ新しいキーペアが HSM で作成されます。各vSRX仮想ファイアウォールで作成されたキーには、各VMのUUIDを使用してタグ付けされます。クラウドポータルにログインし、キーにアクセスして、必要なプロパティ/操作を確認できます。各キーの UUID の形式は、<キー名>_<一意の VM インスタンス ID>です。キーの作成時にキー名を指定する必要があります。VM インスタンスは、HSM サービスでキー ID を一意にする要素です。そのため、 VM インスタンス ID は、稼働中の VM ごとに一意である必要があります。これが保証されているのがMicrosoft Azureです。HSM リダイレクトは時間指定呼び出しであり、数秒以内 x に応答が受信されない場合は、エラー メッセージが表示されます
call to HSM failed
。公開キー情報の取得 — HSM でキーペアを作成した後、キーペアの公開キーコンポーネントを取得します。HSM はモジュラスと指数を返します。これらのコンポーネントはEVP_PKEY OpenSSL APIを使用して構造に変換されます。公開キー構造は、キーのハッシュに新しいエントリとして格納されます。このようにして、必要に応じて公開キー コンポーネントをハッシュから取得できます。現在、HSM は重複するキーペアを検出しませんが、代わりにエラーキー ID を再度受信すると、HSM は既存のキーペアを上書きします。このキーペアの上書きを回避するために、公開キーはキー作成自体の時点でハッシュに保存されます。このようにして、重複するキーペアの作成は、HSM を呼び出すことなく、デバイスレベル自体で停止されます。
以前のキーペアを削除した場合でも、同じ名前を使用して新しいキーペアを作成しようとすると、エラー
error: Failed to generate key pair at HSM. Found a key with the same name at HSM. Use a different certificate id next time. Refer to PKID logs for more details
が表示されます。キーペアの削除 — HSM は、HSM で作成されたキーペアを削除する API をサポートしていません。CLI で delete keypair コマンドを発行すると、公開鍵コンポーネントがディスクおよび鍵ハッシュから削除されます。キーペアは HSM から削除されません。HSM からキーペアを削除するには、HSM にアクセスし、キーペアを手動で削除する必要があります。Azure Key Vault で論理的な削除機能が有効になっている場合は、キーペア名を再利用する前に、キーペアからキーペアを削除する必要もあります。
メモ:ファイルからのキーのエクスポートはサポートされていません。および
request security pki key-pair export
コマンドを使用してrequest security pki local-certificate export
キーをエクスポートすると、エラーメッセージが表示されますExport of keypairs/certificate is not supported when HSM is enabled
。プライベートキーの署名 — プライベートキーが HSM に存在するようになりました。そのため、プライベートキーを必要とするすべての操作が HSM にオフロードされています。操作には以下が含まれます。
秘密キー署名操作は、次のときに使用されます。
証明書署名要求(CSR)の作成
CA から受信したローカル証明書の検証
IKE ネゴシエーション中の RSA 署名
SHA-1 の相互運用性。Azure キー コンテナーでは、SHA-256 ダイジェストに対してのみ秘密キーの署名がサポートされています。
HSMを使用する場合と使用しない場合のCLIの動作
CLI |
Non-HSM |
HSM |
|
キーペアをローカルに作成します。 |
HSM でキーペアを作成します |
|
CSRをローカルで作成します |
CSR の作成中にプライベートキーの署名のために HSM に接続します。ダイジェストは SHA-256 である必要があります |
|
CSR をローカルで作成します。CSR を CA サーバに送信し、証明書を受信します。 |
CSR の作成中にプライベートキーの署名のために HSM に接続します。CSR を CA サーバに送信し、証明書を受信します。ダイジェストは SHA-256 である必要があります |
|
ローカル証明書を他のデバイスにエクスポート |
キーペアがローカルに存在しないため、不可能です |
|
ローカルに存在するキーペアを他のデバイスにエクスポート |
キーペアがローカルに存在しないため、不可能です |
|
自己署名証明書の生成 |
署名のために HSM に連絡し、自己署名証明書を生成します |
|
デバイスに存在するローカル証明書を表示します |
キーペアがローカルまたはクラウドHSMで生成されたことを示します |
セキュリティ PKI ローカル証明書登録 SCEP の要求
構文
request security pki local-certificate enroll scep ca-profile ca-profile name certificate-id certificate-id-name challenge-password challenge-password digest (sha-1 | sha-256) domain-name domain-name email email-address ip-address ip-address ipv6-address ipv6-address logical-system (logical-system-name | all) scep-digest-algorithm (md5 | sha-1) scep-encryption-algorithm (des | des3) subject subject-distinguished-name
リリース情報
Junos OS リリース 9.1 で導入されたコマンド。Junos OSリリース12.1X45の件名文字列出力フィールドにシリアル番号(SN)オプションが追加されました。 scep
Junos OSリリース15.1X49-D40で追加されたキーワードと ipv6-address
オプション。
vSRX仮想ファイアウォール3.0のJunos OSリリース20.1R1以降、Microsoft Azure Key Vaultハードウェアセキュリティモジュール(HSM)サービスを使用して、PKIDとIKEDで使用されるプライベートキーを保護できます。HSM で生成されたキーペアを使用して、PKI ベースの VPN トンネルを確立できます。証明書 ID のハブ certificate-id
オプションは、HSM キーペアの生成後の構成には使用できません。
vSRX仮想ファイアウォール3.0のJunos OSリリース20.4R1以降、AWSキー管理サービス(KMS)を使用して、PKIDとIKEDで使用されるプライベートキーを保護できます。KMS によって生成されたキーペアを使用して、PKI ベースの VPN トンネルを確立できます。certificate-id の下のハブ certificate-id
オプションは、PKI キーペアを生成した後の設定に使用できません。
Junos OS リリース 22.4R2 以降、 logical-system
は PKI SCEP 証明書登録のステートメントで導入されています。
説明
簡易証明書登録プロトコル (SCEP) を使用して、ローカルのデジタル証明書をオンラインで登録およびインストールします。
または cmpv2
キーワードを指定scep
せずにコマンドを入力しrequest security pki local-certificate enroll
た場合、SCEP がローカル証明書を登録するデフォルトの方法です。
オプション
ca-profile ca-profile-name | CA プロファイル名。 |
certificate-id certificate-id-name | ローカル・デジタル証明書および公開鍵と秘密鍵のペアの名前。 |
challenge-password password | 管理者によって設定され、通常は CA の SCEP 登録 Web ページから取得されるパスワード。パスワードの長さは最大 256 文字です。必要な文字に制限を適用できます。 |
digest (sha-1 | sha-256) | RSA 証明書の署名に使用されるハッシュ アルゴリズム(SHA-1 または SHA-256)。SHA-1 がデフォルトです。 |
domain-name domain-name | 完全修飾ドメイン名 (FQDN)。FQDN は、インターネット キー交換 (IKE) ネゴシエーションの証明書所有者の ID を提供し、サブジェクト名の代替手段を提供します。 |
email email-address | 認証所有者の電子メール アドレス。 |
ip-address ip-address | ルーターのIPアドレス。 |
ipv6-address ipv6-address | 代替サブジェクトのルーターの IPv6 アドレス。 |
logical-system (logical-system-name | all) | 論理システムの名前またはすべて。これは任意です。 |
scep-digest-algorithm (md5 | sha-1) | ハッシュ アルゴリズム ダイジェスト(MD5 または SHA-1)。SHA-1 がデフォルトです。 |
scep-encryption-algorithm (des | des3) | DES または DES3 の暗号化アルゴリズム。デフォルトは DES3 です。 |
subject subject-distinguished-name | ドメイン コンポーネント、共通名、部門、シリアル番号、会社名、都道府県、および国を DC、CN、OU、O、SN、L、ST、C の形式で含む識別名 (DN) 形式。
|
必要な権限レベル
メンテナンスとセキュリティ
出力フィールド
このコマンドを入力すると、リクエストステータスに関するフィードバックが提供されます。
サンプル出力
コマンド名
user@host> request security pki local-certificate enroll scep certificate-id r3-entrust-scep ca-profile entrust domain-name router3.example.net subject "CN=router3,OU=Engineering,O=example,C=US" challenge-password 123
Certificate enrollment has started. To view the status of your enrollment, check the public key infrastructure log (pkid) log file at /var/log/pkid. Please save the challenge-password for revoking this certificate in future. Note that this password is not stored on the router.
サンプル出力
vSRX仮想ファイアウォール3.0の出力例
user@host> request security pki generate-key-pair certificate-id example
Generated key pair example, key size 2048 bits
user@host> request security pki local-certificate enroll certificate-id ?
Possible completions: <certificate-id> Certificate identifier example
user@host> request security pki generate-key-pair certificate-id Hub
error: Failed to generate key pair at HSM. Found a key with the same name at HSM. Use a different certificate id next time. Refer to PKID logs for more details