Azure Dedicated HSM サービスのトラブルシューティング

Azure Dedicated HSM サービスには、2 つの異なるファセットがあります。 まず、基になるネットワーク コンポーネントを使用して HSM デバイスのAzureでの登録とデプロイを行います。 第 2 に、特定のワークロードまたはアプリケーションとの使用/統合に備えた HSM デバイスの構成です。 Thales Luna 7 HSM デバイスはAzureで Thales から直接購入する場合と同じですが、Azureのリソースであるため、固有の考慮事項がいくつかあります。 これらの考慮事項と、結果として得られるトラブルシューティングの分析情報またはベスト プラクティスについては、重要な情報への高い可視性とアクセスを確保するために、ここに記載されています。 サービスが使用されると、Microsoftまたは Thales へのサポート 要求を通じて、明確な情報を直接入手できます。

Note

新しくデプロイされた HSM デバイスで構成を実行する前に、関連するパッチで更新する必要があります。 Thales サポート ポータルには、 再起動中にシステムが応答しなくなる問題に対処する、特定の必要な修正プログラムがKB0019789されています。

HSM の登録

専用 HSM は、Azureでベアメタル HSM 機能を提供する貴重なリソースであり、自由に使用することはできません。 適切な使用率を確保するために、登録登録プロセスを使用して、オンボードとデプロイのためにAzureサブスクリプションを承認します。 Dedicated HSM へのオンボードを続行する場合は、Microsoft アカウント マネージャーに問い合わせてください。

専用 HSM へのアクセスの取得

まず、ユース ケースが Azure Key Vault または Managed HSM で対処できないことを確認します。 その場合、Dedicated HSM のみが主要なストレージ要件を満たしていると思われる場合は、Microsoft アカウント マネージャーまたはカスタマー サポートMicrosoft問い合わせて、アクセスを要求するための詳細なガイダンスを確認してください。 アプリケーションとユース ケース、HSM が必要なリージョン、必要な HSM の量を概説します。

HSM プロビジョニング

Azureでの HSM デバイスのプロビジョニングは、CLI または PowerShell を使用して行うことができます。 サービスに登録すると、サンプル ARM テンプレートが提供され、初期カスタマイズに関するサポートが提供されます。

HSM デプロイの失敗情報

Dedicated HSM ではデプロイ用の CLI と PowerShell がサポートされているため、ポータル ベースのエラー情報は制限され、詳細ではありません。 リソース エクスプローラーを使用すると、より適切な情報を確認できます。 ポータルのホーム ページにはこのアイコンが表示され、より詳細なエラー情報が表示されます。 この情報は、デプロイの問題に関連するサポート要求を作成するときに貼り付ける場合に役立ちます。

エラー情報

HSM サブネットの委任

デプロイエラーの 1 つ目の理由は、HSM がプロビジョニングされている顧客定義のサブネットに適切な委任を設定し忘れることです。 この委任の設定は、デプロイの仮想ネットワークとサブネットの前提条件の一部であり、詳細についてはチュートリアルを参照してください。

サブネットの委任

HSM デプロイの競合状態

デプロイ用に提供される標準 ARM テンプレートには、HSM と ExpressRoute ゲートウェイ 関連のリソースがあります。 ネットワーク リソースは、HSM のデプロイを成功させるためには依存関係であり、タイミングが重要になる可能性があります。 場合によっては、依存関係の問題に関連するデプロイエラーが発生し、デプロイを再実行すると問題が解決されることがよくあります。 そうでない場合は、多くの場合、リソースの削除と再デプロイが成功します。 これを試しても問題が見つけたら、Azure ポータルで問題の種類として [Azure セットアップの構成に関する問題] を選択してサポート リクエストを送信します。

Terraform を使用した HSM のデプロイ

一部のお客様は、このサービスに登録するときに提供される ARM テンプレートではなく、自動化環境として Terraform を使用しています。 この方法で HSM をデプロイすることはできませんが、依存するネットワーク リソースはデプロイできます。 Terraform には、HSM デプロイのみを備える最小限の ARM テンプレートを呼び出すモジュールがあります。 このような場合は、HSM をデプロイする前に、必要な ExpressRoute ゲートウェイ などのネットワーク リソースが完全にデプロイされるように注意する必要があります。 次の CLI コマンドを使用して、デプロイの完了をテストし、必要に応じて統合できます。 山かっこのプレースホルダーは、実際の名前に置き換えてください。 "provisioningState が成功した" という結果を確認します。

az resource show --ids /subscriptions/<subid>/resourceGroups/<myresourcegroup>/providers/Microsoft.Network/virtualNetworkGateways/<myergateway>

クォータに起因するデプロイ エラー

専用 HSM の初期クォータ制限は、スタンプあたり 2 HSM、リージョンあたり 4 HSM です。 これらの制限を超えるとデプロイが失敗する可能性があるため、新しいデプロイを試みる前に、失敗した以前のデプロイからリソースを削除する必要があります。 プロビジョニング時に HSM を表示する方法を参照して、既存のリソースを確認できます。 1 つのリージョンに 4 つ以上の HSM が必要な場合は、カスタマー サポート チケットを送信してクォータ制限の引き上げを要求します。

容量に基づくデプロイエラー

スタンプまたはリージョンが容量に近付き、使用可能な HSM の大部分がプロビジョニングされていると、デプロイエラーが発生する可能性があります。 各スタンプは、お客様が使用するために 12 個の HSM を提供し、リージョンごとに合計 24 個、スペアが 2 つとスタンプごとに 1 つのテスト デバイスを備えています。 この制限に達したと思われる場合は、カスタマー サポート チケットを送信して、リージョン内の利用可能な容量または特定のスタンプのフィル レベルについて問い合わせてください。

プロビジョニングされたときに HSM を確認するにはどうすればよいですか?

Dedicated HSM は許可リストに登録されたサービスであるため、Azure ポータルでは "非表示の種類" と見なされます。 HSM リソースを表示するには、[非表示の型を表示する] チェック ボックスをオンにする必要があります。 NIC リソースは常に HSM に従い、SSH を使用して接続する前に HSM の IP アドレスを調べるのに適しています。

[非表示の型の表示] チェックが強調表示されているスクリーンショット

ネットワーク リソース

専用 HSM のデプロイには、ネットワーク リソースに依存し、その結果として注意すべきいくつかの制限があります。

ExpressRoute のプロビジョニング

専用 HSM では、顧客のプライベート IP アドレス空間とAzure データセンター内の物理 HSM との間の通信に、ExpressRoute ゲートウェイを "トンネル" として使用します。 仮想ネットワークごとに 1 つのゲートウェイの制限があることを考慮すると、ExpressRoute 経由でオンプレミス リソースへの接続を必要とするお客様は、その接続に別の仮想ネットワークを使用する必要があります。

HSM プライベート IP アドレス

Dedicated HSM 用に提供されるサンプル テンプレートでは、HSM IP が特定のサブネット範囲から自動的に取得されることを前提としています。 ARM テンプレートの "NetworkInterfaces" 属性を使用して、HSM の明示的な IP アドレスを指定できます。

Dedicated HSM のサンプル テンプレートを示すスクリーンショット。

HSM の初期化

初期化では、新しい HSM を使用できるように準備するか、既存の HSM を再利用できるように準備します。 オブジェクトの生成または格納、クライアントの接続の許可、暗号化操作の実行を行うには、HSM の初期化が完了している必要があります。

認証情報の紛失

シェル管理者パスワードが失われると、HSM キー マテリアルが失われます。 HSM をリセットするためのサポート要求を行う必要があります。 HSM を初期化するときは、資格情報を安全に格納します。 シェルと HSM の資格情報は、会社のポリシーに従って保持する必要があります。

失敗したログイン

HSM に正しくない資格情報を指定すると、破壊的な結果が生じることがあります。 HSM ロールの既定の動作を次に示します。

Role しきい値 (試行数) サインインの失敗回数が多すぎる場合の結果 復元
HSM SO 3 HSM がゼロ化されます (すべての HSM オブジェクト ID、およびすべてのパーティションが削除されます) HSM は再初期化する必要があります。 コンテンツはバックアップから復元できます。
パーティション SO 10 パーティションがゼロ化されます。 パーティションを再初期化する必要があります。 コンテンツはバックアップから復元できます。
Audit 10 ロックアウト 10 分後に自動的にロック解除されます。
暗号担当者 10 (減らすことができる) HSM ポリシー 15: パーティション PIN の SO リセットを有効にする (有効) に設定されている場合、CO ロールと CU ロールはロックアウトされます。
HSM ポリシー 15: 「パーティション PIN の SO リセットを有効にする」が 0(無効)に設定されている場合、CO ロールと CU ロールは恒久的にロックアウトされ、パーティションの内容にはアクセスできなくなります。 既定の設定。
CO ロールのロック解除と認証情報のリセットは、role resetpw -name co を使用して Partition SO が行う必要があります。
パーティションを再初期化し、バックアップ デバイスからキー マテリアルを復元する必要があります。

HSM構成

次の項目は、構成エラーが一般的であるか、または呼び出しに値する影響を与える状況です。

HSM のドキュメントとソフトウェア

Thales Luna 7 HSM デバイスのソフトウェアとドキュメントはMicrosoftから入手できないので、Thales から直接ダウンロードする必要があります。 登録プロセス中に受信した Thales 顧客 ID を使用して登録する必要があります。 Microsoftによって提供されるデバイスには、ソフトウェア バージョン 7.2 とファームウェア バージョン 7.0.3 があります。 2020年の初めに Thales はドキュメントを公開しており、 ここに記載されています

HSM ネットワーク構成

HSM 内でネットワークを構成するときは注意してください。 HSM は、お客様のプライベート IP アドレス空間から直接 HSM に ExpressRoute ゲートウェイ 経由で接続します。 この通信チャネルは、顧客の通信専用であり、Microsoftはアクセス権を持っていません。 このネットワーク パスが影響を受けるような方法で HSM が構成されている場合は、HSM との通信がすべて削除されることを意味します。 このような場合、唯一のオプションは、Azure ポータルを介してMicrosoftサポート要求を発生させ、デバイスをリセットすることです。 このリセット手順では、HSM を初期状態に戻し、すべての構成とキー マテリアルが失われます。 構成を再作成する必要があり、デバイスが HA グループに参加すると、キー マテリアルがレプリケートされます。

HSM デバイスの再起動

一部の構成変更では、HSM の電源を入れ替えるか再起動する必要があります。 Azureでの HSM のテストMicrosoft、再起動が応答を停止する場合があることを確認しました。 これは、Azure ポータルでハード 再起動を要求するサポート要求を作成する必要があり、Azure データセンターでの手動プロセスであると考えると、完了までに最大 48 時間かかる可能性があることを意味します。 このような状況を回避するには、Thales から使用可能な再起動パッチを直接デプロイしてください。 再起動中にシステムが応答しなくなる問題については、Thales Luna 7 HSM 7.2 ダウンロードの KB0019789 を参照してください (注: ダウンロードするには Thales カスタマー サポート ポータル に登録する必要があります)。

NTLS 証明書の同期が切れている

証明書の有効期限が切れた場合、または構成の更新によって上書きされた場合、クライアントは HSM への接続を失う可能性があります。 証明書交換クライアントの構成は、各 HSM に再適用する必要があります。 無効な証明書を使用した NTLS ログの例:

NTLS[8508]: info : 0 : Incoming connection request... : 192.168.50.2/59415 NTLS[8508]: Error message from SSLAccept is : error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca NTLS[8508]: Error during SSL accept ( RC_SSL_ERROR ) NTLS[8508]: info : 0xc0000711 : Fail to establish a secure channel with client : 192.168.50.2/59415 : RC_SSL_FAILED_HANDSHAKE NTLS[8508]: info : 0 : NTLS Client "Unknown host name" Connection instance removed : 192.168.50.2/59415 (NTLS[8508]: 情報: 0 : 受信接続要求... : 192.168.50.2/59415 NTLS[8508]: SSLAccept からのエラー メッセージ: エラー:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca NTLS[8508]: SSL Accept 時にエラーが発生しました ( RC_SSL_ERROR ) NTLS[8508]: 情報: 0xc0000711: クライアントと安全なチャネルを確立できません: 192.168.50.2/59415 : RC_SSL_FAILED_HANDSHAKE NTLS[8508]: 情報: 0 : NTLS クライアント "不明なホスト名" 接続インスタンスを削除しました: 192.168.50.2/59415)

失敗した TCP 通信

Luna クライアントのインストールから HSM への通信には、少なくとも TCP ポート 1792 が必要です。 環境でネットワーク構成が変更される場合は、この点を考慮してください。

失敗した HA グループ メンバーが回復しない

失敗した HA グループ メンバーが回復しない場合は、コマンド hagroup recover を使用して Luna クライアントから手動で復旧する必要があります。 自動復旧を有効にするには、HA グループの再試行回数を構成する必要があります。 既定では、HA グループは、復旧時に HA メンバーをグループに回復しようとしません。

HA グループが同期しない

メンバー パーティションに同じ複製ドメインがない場合、ha synchronize コマンドは次のように表示されます。警告: 同期が失敗する可能性があります。 スロット 0 とスロット 1 のメンバーには、秘密キーの複製に関する競合する設定があります。 正しい複製ドメインを持つ新しいパーティションを HA グループに追加し、正しく構成されていないパーティションを削除する必要があります。

HSMのプロビジョニング解除

HSM が完全に終了した場合にのみプロビジョニングを解除し、Microsoftは HSM をリセットして空きプールに戻します。

HSM リソースを削除する方法

専用 HSM のリソース グループを直接削除しないでください。 HSM リソースは削除されません。HSM が孤立状態になったため、引き続き課金されます。 正しい手順に従っていない場合は、Microsoft サポートにお問い合わせください。

手順 1: HSM をゼロにします。 HSM のAzure リソースは、HSM が "ゼロ化" 状態でない限り削除できません。 そのため、リソースとして削除する前に、すべてのキー マテリアルを削除しておく必要があります。 ゼロ化する最も簡単な方法は、HSM 管理者パスワードを 3 回間違って取得することです (注: これは、アプライアンス レベルの管理者ではなく HSM 管理者を指します)。 コマンド 'hsm login' を使用し、間違ったパスワードを 3 回入力します。 Luna シェルには HSM -factoryreset コマンドがありますが、HSM をゼロ化しますが、シリアル ポートのコンソール経由でのみ実行でき、お客様はこれにアクセスできません。

手順 2: HSM がゼロ化されたら、次のいずれかのコマンドを使用して、専用 HSM の削除リソースを開始できます。

Azure CLI: az dedicated-hsm delete --resource-group <RG name> –-name <HSM name>
Azure PowerShell: Remove-AzDedicatedHsm -Name <HSM name> -ResourceGroupName <RG name>

Step 3:Step 2 が正常に完了したら、Azure CLIまたはAzure PowerShellを使用して、専用 HSM に関連付けられている他のリソースを削除するリソース グループを削除できます。

Azure CLI: az group delete --name <RG name>
Azure PowerShell: Remove-AzResourceGroup -Name <RG name>

次のステップ

この記事では、問題が発生したり、トラブルシューティングや慎重な検討が必要になったりする可能性がある HSM デプロイ ライフサイクル全体の領域に関する分析情報を提供しました。 この記事は、不必要な遅延やフラストレーションを回避するのに役立ち、関連する追加や変更がある場合は、Microsoftでサポートリクエストを送信し、お知らせください。