保護されたファブリックとシールドされた VM の概要

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

保護されたファブリックの概要

仮想化セキュリティは、Hyper-v の大きな投資領域です。 悪意のあるソフトウェアを実行する仮想マシンからホストやその他の仮想マシンを保護するだけでなく、不正に使用されているホストから仮想マシンを保護する必要もあります。 これは、Hyper-v、VMware、またはその他のすべての仮想化プラットフォームにおいて、基本的な危険です。 簡単に言えば、(故意または偶然に) 組織の外に出た仮想マシンは、他のどのシステムでも実行できます。 ドメイン コントローラー、機密性の高いファイル サーバー、人事システムなど、組織内で価値の高い資産を保護することは最優先事項です。

侵害された仮想化ファブリックから保護するために、Windows Server 2016 hyper-v はシールドされた vm を導入しました。 シールドされた vm は、仮想 TPM を備え、BitLocker を使用して暗号化された第2世代 Windows Server 2012 VM であり、ファブリック内の正常で承認されたホストでのみ実行できます。 シールドされた VM と保護されたファブリックの効果として、クラウド サービス プロバイダーやエンタープライズ プライベート クラウド管理者は、セキュリティのより高いテナント VM 環境を実現できます。

保護されたファブリックは次の要素で構成されます。

  • 1 つのホスト ガーディアン サービス (HGS) (通常は 3 つのノードから成るクラスター)。
  • 1 つまたは複数の保護されたホスト。
  • シールドされた複数の仮想マシンのセット。 次の図は、ホスト ガーディアン サービスで使用される構成証明とキー保護の仕組みを示しています。構成証明は、既知の有効なホストのみが、シールドされた VM を起動できるようにするために使用されます。キー保護は、シールドされた VM 用のキーをセキュリティで保護してリリースするために使用されます。

保護されたファブリック上で実行されるシールドされた VM がテナントによって作成されると、HYPER-V ホストとシールドされた VM 自体が HGS によって保護されるようになります。 HGS には、構成証明とキー保護という 2 つの異なるサービスがあります。 構成証明サービスは、信頼された Hyper-V ホストのみが、シールドされた VM を実行できるようにします。キー保護サービスは、シールドされた VM をオンにするときや、他の保護されているホストにシールドされた VM をライブ マイグレートするときに必要なキーを提供します。

保護されたホスト ファブリック

ビデオ: シールドされた仮想マシンの概要

保護されたファブリック ソリューションの構成証明モード

HGS は、保護されたファブリックのさまざまな構成証明モードをサポートしています。

  • TPM-信頼された構成証明 (ハードウェアベース)
  • (非対称キーペアに基づく) ホストキーの構成証明

次の表で説明されているとおり、TPM によって信頼された構成証明の方が保証が強いため、こちらをお勧めしますが、使用するには、Hyper-V ホストに TPM 2.0 が実装されている必要があります。 現在、TPM 2.0 または TPM がない場合は、ホストキーの構成証明を使用できます。 新しいハードウェアを購入するときに、TPM によって信頼された構成証明に移行する場合は、ファブリックをほとんどまたはまったく切断せずに、ホスト ガーディアン サービスで構成証明モードを切り替えることができます。

ホスト用に選択する構成証明モード ホストの保証
TPM によって信頼された構成証明: 最強の保護を実現しますが、必要な構成手順が多くなります。 ホストのハードウェアとファームウェアには、セキュアブートが有効になっている TPM 2.0 と UEFI 2.3.1 が含まれている必要があります。 保護されたホストは、TPM id、メジャーブートシーケンス、およびコード整合性ポリシーに基づいて承認され、承認されたコードのみが実行されるようにします。
ホストキーの構成証明: TPM 2.0 を使用できない既存のホストハードウェアをサポートすることを目的としています。 必要な構成手順が少なく、一般的なサーバー ハードウェアに対応します。 保護されたホストは、キーの所有に基づいて承認されます。

管理者によって信頼された構成証明という名前の別のモードは、Windows サーバー2019以降では非推奨とされます このモードは、指定された Active Directory Domain Services (AD DS) セキュリティグループの保護されたホストメンバーシップに基づいています。 ホストキーの構成証明は同様のホスト id を提供し、セットアップが簡単です。

ホスト ガーディアン サービスによる保証

HGS は、シールドされた VM をシールドを作成する方法とともに、次の保証を提供します。

VM の保証の種類 キー保護サービスによるシールドされた VM の保証、およびシールドされた VM の作成方法によるシールドされた VM の保証
BitLocker で暗号化されたディスク (OS ディスクとデータ ディスク) シールドされた VM は、BitLocker を使用して、それらのディスクを保護します。 VM を起動してディスクの暗号化を解除するために必要な BitLocker キーは、シールドされた VM の仮想 TPM によって保護されます。これは、セキュリティで保護された測定ブートなど、業界で実証済みのテクノロジを使用します シールドされた VM はオペレーティング システム ディスクのみを自動的に暗号化して保護しますが、シールドされた VM にアタッチされた データ ドライブを暗号化することもできます。
"信頼済み" テンプレートディスク/イメージからの新しいシールドされた Vm のデプロイ シールドされた VM を新規展開するときに、テナントはどのテンプレート ディスクを信頼しているのかを指定できます。 シールドされたテンプレート ディスクには、そのコンテンツが信頼できると判定された時点で計算される署名があります。 テナントは、シールドされた VM の作成時に、署名カタログをセキュリティで保護してファブリックに提供します。ディスク署名は、この署名カタログに格納されます。 シールドされた VM のプロビジョニング時に、ディスク署名が再計算されて、カタログ内にある信頼された署名と比較されます。 署名が一致した場合は、シールドされた VM が展開されます。 署名が一致しなかった場合は、シールドされたテンプレート ディスクは信頼できないと判定されて、展開が失敗します。
シールドされた VM を作成するときのパスワードやその他の秘密の保護 Vm を作成するときは、信頼されたディスク署名、RDP 証明書、VM のローカル管理者アカウントのパスワードなどの VM シークレットがファブリックに divulged されていないことを確認する必要があります。 これらの秘密はシールド データファイルと呼ばれる暗号化されたファイル (PDK ファイル) に格納されます。このファイルは、テナント キーで保護され、テナントによってファブリックにアップロードされます。 VM を作成するときに、テナントは保護されたファブリック内にある信頼されたコンポーネントのみにこれらの秘密をセキュリティで保護して提供するために使用するシールド データを選択します。
VM を起動できるテナントの制御 シールド データには、特定のシールドされた VM の実行が許可されている保護されたファブリックの一覧も含まれます。 たとえば、通常はオンプレミスのプライベート クラウドに存在するシールドされた VM を災害復旧の目的で別の (パブリックまたはプライベート) クラウドに移行する必要がある場合に、これは便利です。 ターゲット クラウドまたはファブリックは、シールドされた VM をサポートしている必要があります。シールドされた VM は、そのファブリックがシールドされた VM を実行することを許可する必要があります。

シールド データの内容とその必要性

シールド データ ファイル (別名プロビジョニング データ ファイルまたは PDK ファイル) は、管理者のパスワード、RDP やその他の ID 関連証明書、ドメイン参加の資格情報など、重要な VM 構成情報を保護するために、テナントまたは VM 所有者が作成する暗号化されたファイルです。 ファブリック管理者は、シールドされた VM を作成するときにシールド データファイルを使用しますが、ファイルに含まれる情報を表示したり使用したりすることはできません。

シールド データファイルには、以下のような秘密が含まれます。

  • 管理者の資格情報
  • 応答ファイル (unattend.xml)
  • このシールド データを使用して作成される VM が、シールドされた VM または暗号化サポート VM のどちらとして構成されるかを決定するセキュリティ ポリシー
    • シールド対象として構成されている VM はファブリック管理者から保護されますが、暗号化サポート VM はファブリック管理者から保護されないことを覚えておいてください。
  • VM とリモート デスクトップの通信をセキュリティで保護するための RDP 証明書
  • 新しい VM の作成の基にすることができる信頼された署名付きテンプレート ディスク署名の一覧を含むボリューム署名カタログ
  • シールドされた VM の実行が許可されている保護されたファブリックを定義するキーの保護機能 (または KP)

シールド データファイル (PDK ファイル) により、テナントが意図した方法で VM が作成されることが保証されます。 たとえば、テナントが応答ファイル (unattend.xml) をシールド データファイルに配置して、ホスティング プロバイダーに配布すると、ホスティング プロバイダーはその応答ファイルの変更内容を表示したり、その応答ファイルを変更したりすることはできません。 同様に、シールド データファイルにはシールドされた VM の作成の基にすることができる信頼されたディスクの署名が含まれていることから、ホスティング プロバイダーはシールドされた VM の作成時に別の VHDX で代用することができません。

次の図は、シールド データファイルと関連構成要素を示しています。

シールドデータファイルとそれに関連する構成要素を示す図。

保護されたファブリックが実行できる仮想マシンの種類とは

保護されたファブリックは、3 つの方法のいずれかで VM を実行できます。

  1. 以前の Hyper-V バージョンを上回る保護を提供しない標準の VM
  2. ファブリック管理者が保護を構成できる暗号化サポート VM
  3. 保護がすべて有効になっていて、ファブリック管理者が保護を無効にすることができないシールドされた VM

暗号化サポート VM は、ファブリック管理者が完全に信頼されている場合に使用するためのものです。 たとえば、企業はコンプライアンスのために VM ディスクが保存時に暗号化されるように、保護されたファブリックを展開することがあります。 ファブリック管理者は、VM コンソールの接続、PowerShell ダイレクト、その他の日常的な管理やトラブルシューティング ツールなど、便利な管理機能を引き続き使用できます。

シールドされた VM は、ファブリック管理者と、Hyper-V ホスト上で実行される可能性がある信頼されていないソフトウェアの両方から VM のデータと状態を保護する必要があるファブリックで使用するためのものです。 たとえば、シールドされた VM で VM コンソールの接続が許可されることはありませんが、暗号化サポート VM ではファブリック管理者がこの保護をオンまたはオフにすることができます。

次の表は、暗号化がサポートされている Vm とシールドされた Vm の違いをまとめたものです。

機能 第 2 世代の暗号化のサポート 第 2 世代のシールド
セキュア ブート はい、必須/構成可能 はい、必須/強制
Vtpm はい、必須/構成可能 はい、必須/強制
VM の状態とライブ マイグレーション トラフィックの暗号化 はい、必須/構成可能 はい、必須/強制
統合コンポーネント ファブリック管理者が構成可能 特定の統合コンポーネント (例: データ交換、PowerShell ダイレクト) はブロック
仮想マシン接続 (コンソール)、HID デバイス (例: キーボード、マウス) オン、無効化は不可 Windows Server バージョン1803以降のホストで有効になります。以前のホストでは無効
COM/シリアル ポート サポートされています 無効 (有効化は不可)
デバッガーを VM プロセスにアタッチします。1 サポートされています 無効 (有効化は不可)

1 プロセスに直接アタッチされる従来のデバッガー (WinDbg.exe など) は、vm のワーカープロセス (VMWP.exe) は保護されたプロセス (PPL) であるため、シールドされた vm に対してはブロックされます。 LiveKd.exe によって使用されるような代替のデバッグ手法はブロックされません。 シールドされた Vm とは異なり、暗号化がサポートされている Vm のワーカープロセスは PPL として実行されないため、WinDbg.exe などの従来のデバッガーは引き続き正常に機能します。

シールドされた VM と暗号化サポート VM の両方は、ライブ マイグレーション、Hyper-V レプリカ、VM チェックポイントといった一般的なファブリック管理機能を引き続きサポートします。

ホスト ガーディアン サービスが実行中: シールドされた VM をオンにする方法

シールド データファイル

  1. VM01 をオンにするように要求されます。 保護されたホストがシールドされた VM をオンにするには、シールドされた VM が正常であることが肯定的に証明されている必要があります。 シールドされた VM が正常であることを証明するには、シールドされた VM が正常性証明書をキー保護サービス (KPS) に提示する必要があります。 正常性証明書は構成証明プロセスで取得されます。

  2. ホストが構成証明を要求します。 保護されたホストが、構成証明を要求します。 構成証明モードは、ホスト ガーディアン サービスで指定されます。

    • TPM-信頼された構成証明: hyper-v ホストは次の情報を送信します。

      • TPM 識別情報 (その保証キー)

      • 最新のブート シーケンスで起動されたプロセスに関する情報 (TCG ログ)

      • ホストに適用されたコード整合性 (CI) ポリシーに関する情報。

        構成証明はホストの起動時とその後 8 時間ごとに実行されます。 何らかの理由で、VM を起動しようとしたときにホストが構成証明書を持っていない場合は、構成証明もトリガーされます。

    • ホストキーの構成証明: hyper-v ホストは、キーペアの公開半分を送信します。 HGS は、ホストキーが登録されていることを検証します。

    • 管理者によって信頼された構成証明: ホストが属するセキュリティ グループを識別する Kerberos チケットが Hyper-V ホストから送信されます。 信頼された HGS 管理者によって先に構成されたセキュリティ グループにそのホストが属していることを HGS が検証します。

  3. 構成証明が成功 (または失敗) します。 構成証明モードによって、ホストが正常であることを証明するために必要なチェックが決まります。 TPM で信頼された構成証明を使用すると、ホストの TPM id、ブート測定、およびコード整合性ポリシーが検証されます。 ホストキーの構成証明を使用すると、ホストキーの登録のみが検証されます。

  4. 構成証明書がホストに送信されます。 構成証明が成功したと仮定すると、正常性証明書がホストに送信され、ホストは "保護されている" と見なされます (シールドされた Vm の実行が承認されます)。 ホストは、正常性証明書を使用して、シールドされた VM の操作に必要なキーをキー保護サービスがセキュリティで保護してリリースすることを許可します。

  5. ホストが VM キーを要求します。 保護されたホストには、シールドされた VM (この場合は VM01) をオンにするために必要なキーがありません。 保護されたホストは、必須キーを取得するために、次のものを KPS に提供する必要があります。

    • 最新の正常性証明書
    • VM01 をオンにするために必要なキーを含む暗号化された秘密 (キーの保護機能 (KP))。 KPS だけが認識している他のキーを使用して、秘密が暗号化されます。
  6. キーのリリース。 KPS が、正常性証明書の有効性を調査します。 証明書は有効期限が切れていてはなりません。KPS は証明書を発行した構成証明サービスを信頼している必要があります。

  7. キーがホストに返されます。 正常性証明書が有効である場合は、KPS は秘密の暗号化を解除して、VM をオンにするために必要なキーをセキュリティで保護して返そうと試みます。 キーは、保護されたホストの VBS に暗号化されることに注意してください。

  8. ホストが VM01 をオンにします。

保護されたファブリックとシールドされた VM の用語集

項目 定義
ホスト ガーディアン サービス (HGS) セキュリティで保護されたベア メタル サーバー クラスターにインストールされている Windows Server の役割です。この役割では、Hyper-V ホストの正常性を測定できます。シールドされた VM をオンにするときや、シールドされた VM のライブ マイグレーションを実行するときに、正常な Hyper-V ホストにキーをリリースすることもできます。 これら 2 つの機能はシールドされた VM ソリューションに必須であり、それぞれ構成証明サービスキー保護サービスと呼ばれます。
保護されたホスト シールドされた VM を実行できる Hyper-V ホスト。 ホストは、HGS の構成証明サービスによって正常と見なされた場合にのみ、 保護 されていると見なすことができます。 Hyper-V ホストがまだ構成証明されていない場合や、構造証明に失敗した場合は、シールドされた VM をオンにしたり、シールドされた VM をそのようなホストにライブ マイグレートしたりすることはできません。
保護されたファブリック これは、シールドされた VM を管理および実行できるHyper-V ホストのファブリックとそのホスト ガーディアン サービスを表すのに使用される総称です。
シールドされた仮想マシン (VM) 保護されたホストのみで実行できる仮想マシンであり、悪意のあるファブリック管理者やホスト マルウェアによるのぞき見、改ざん、および盗難から守られています。
ファブリック管理者 仮想マシンを管理できるパブリックまたはプライベート クラウド管理者。 保護されたファブリックのコンテキストでは、ファブリック管理者にはシールドされた VM へのアクセス権や、シールドされた VM を実行できるホストを決定するポリシーへのアクセス権がありません。
HGS 管理者 パブリックまたはプライベート クラウドで、保護されたホスト (すなわち、シールドされた VM を実行できるホスト) に関するポリシーおよび暗号化素材を管理する権限を持つ信頼された管理者。
プロビジョニング データファイルまたはシールド データファイル (PDK ファイル) テナントまたはユーザーが、重要な VM 構成情報を保持してその情報を他のユーザーによるアクセスから保護するために作成する、暗号化されたファイル。 たとえば、シールド データファイルには、VM の作成時にローカル管理者アカウントに割り当てられるパスワードが含まれることがあります。
仮想化ベースのセキュリティ (VBS) 管理者から保護されている Hyper-v ベースの処理およびストレージ環境。 仮想保護モードのシステムでは、オペレーティング システムの管理者に表示されないオペレーティング システム キーを格納できます。
仮想 TPM トラステッド プラットフォーム モジュール (TPM) の仮想化されたバージョン。 Windows Server 2016 の hyper-v 以降では、物理 tpm で物理マシンを暗号化できるのと同じように、仮想 tpm 2.0 デバイスを提供して、仮想マシンを暗号化することができます。

その他の参照情報