シールドされた VM の主な機能を決定する

完了

Windows Server 管理者は、Contoso のインフラストラクチャで使用する妥当性を適切に評価できるように、シールドされた VM のコンポーネントと構成要件を理解する必要があります。

シールドされた VM の概要

シールドされた VM は、HGS によって承認された正常で承認済みの保護されたホストでのみ実行できます。 シールドされた VM を作成するには、次の 2 つの主要な要素があります。

  1. シールドされた VM の署名済みテンプレート ディスクを作成します。
  2. シールドされたデータ ファイルを作成します。

1. シールドされた VM の署名済みテンプレート ディスクを作成する

"VM テンプレート ディスク" は、今後ファブリック内にデプロイされるすべての VM の基礎として使用されます。 シールドされた VM テンプレート ディスクを使用すると、パスワードや証明書などのすべての機密情報をファブリック管理者から隠すことで、セキュリティが強化されます。

OS をインストールすることでテンプレート ディスク ファイルを準備する

テンプレート ディスクを作成するには、まず OS をインストールする OS ディスクを準備します。 ディスクは .vhdx ファイル形式である必要があります。

セットアップするディスクは、次の要件を満たしている必要があります。

テンプレート ディスクの .vhdx ファイルの要件 説明
GUID パーティション テーブル (GPT) ディスクである必要がある 第 2 世代の VM で UEFI をサポートするために必要です。
ディスクの種類は基本である必要がある BitLocker では、ダイナミック ディスクはサポートされていません。
ディスクには少なくとも 2 つのパーティションが必要である 1 つのパーティションには、Windows をインストールするドライブが含まれている必要があります。 BitLocker は、このドライブを暗号化します。 もう 1 つのパーティションはアクティブなパーティションであり、ブートローダーが含まれ、コンピューターを起動できるように暗号化されないままになります。
ファイル システムは NTFS である必要がある BitLocker のために必要です
サポート対象 OS 第 2 世代の VM と、Microsoft セキュア ブート プロセスをサポートできる必要があります。
OS は一般化されている必要がある テンプレート ディスクは、sysprep.exe を実行して一般化する必要があります。

注意

OS をインストールした後、すべての最新の Windows 更新プログラムを確認してインストールします。

シールド テンプレート ディスクの作成ウィザードを使用する

テンプレート ディスクを使用してシールドされた VM を作成する前に、一般化されたディスクを準備し、BitLocker で暗号化する必要があります。 このタスクは、シールド テンプレート ディスクの作成ウィザードを使用して実行できます。 このウィザードにより、ディスクのハッシュが生成され、ボリューム署名カタログ (VSC) に追加されます。 VSC は、ユーザーが指定した証明書を使用して署名され、プロビジョニング プロセスの間に、ファブリックに展開されているディスクが変更されていないこと、または信頼されていないディスクに置き換えられていないことを確認するために使用されます。 最後に、VM のプロビジョニング時の暗号化用にディスクを準備するため、BitLocker がディスクの OS にインストールされます。

2. シールドされたデータ ファイルを作成する

VMM ライブラリで署名済みテンプレート ディスクを使用するには、シールド データ ファイルを 1 つ以上準備する必要があります。 シールド データ ファイルは、プロビジョニング データ ファイルまたはプラットフォーム開発キット (PDK) ファイルとも呼ばれ、シールドされた VM を展開するために必要な暗号化されたシークレットが含まれる暗号化されたファイルです。 シールド データ ファイルは、信頼されたファブリックの保護されたホストによってのみ読み取ることができ、シールドされた VM をホストするために HGS が信頼できる保護されたファブリックが指定されています。

シールド データ ファイルには、次のようなシークレットを含めることができます。

  • 管理者アカウントの資格情報
  • VM の展開をカスタマイズするために使用される応答ファイル unattend.xml
  • このシールド データを使用して作成される VM が、シールドされた VM または暗号化サポート VM のどちらとして構成されるかを決定するセキュリティ ポリシー
  • ID 関連の証明書
  • VM などとのリモート デスクトップ通信をセキュリティで保護するための RDP 証明書
  • それを基にして新しい VM を作成できる信頼された署名済みテンプレート ディスク署名の一覧が含まれるボリューム署名カタログ
  • シールドされた VM の実行が許可されている保護されたファブリックを定義する KP
  • ドメイン参加の資格情報

シールドされた VM のプロセスを理解する

シールドされた VM を展開するには、次の手順を完了する必要があります。

  1. HGS サーバーを展開します。
  2. 保護されたホストを設定します。
  3. 署名済みテンプレート ディスク (.vhdx ファイル) を準備します。
  4. シールド データ ファイルを作成します。
  5. シールド データ ファイルを VMM ライブラリにインポートします。
  6. 署名済みテンプレート ディスクから、新しいシールドされた VM を作成します。
  7. シールド データ ファイルを新しいシールドされた VM に追加します。

攻撃の種類の例と、シールドされた VM による攻撃からの保護方法

次の表では、一般的な攻撃の種類の例と、シールドされた VM によってそれらから Contoso ファブリックがどのように保護されるかを示します。

攻撃の種類 シールドされた VM による保護
1 つのホスト上のすべての VM 用の .vhdx ファイルへの未承認のアクセス ホストの管理者は、通常、ホスト上のすべての VM に対する .vhdx ファイルにアクセスできます。 ただし、.vhdx ファイルにディスク全体の暗号化を実装することで、シールドされた VM 内のファイルが悪意のある管理者から保護されます。
侵害された VM テンプレート HGS により、シールドされた VM の正常性と ID に関する構成証明が行われ、ユーザーが知らないうちにホストが変更されていないことが確認されます。 シールドされた VM は、承認されたファブリック内の保護されたホストでのみ起動できます。 これにより、シールドされた VM の .vhdx ファイルを、信頼できる環境の外部のアクターが開始 (または変更) することはできません。
侵害された VM シークレット PDK ファイルにより、意図した仕様に従って VM が作成されることが保証されます。 たとえば、HGS 管理者が、応答ファイルを含むようにシールド データ ファイルを構成した場合、ファブリック管理者は応答ファイルにアクセスしたり、変更を行ったりすることはできません。 同様に、シールド データ ファイルにはシールドされた VM の作成の基にすることができる信頼されたディスクの署名が含まれているため、ファブリック管理者はシールドされた VM の作成時に別の .vhdx ファイルで代用することはできません。 ファブリック管理者は、シールド データ ファイルを使用してシールドされた VM を作成できますが、ファイルの情報に直接アクセスすることはできません。

Windows Server での Linux のサポート

Hyper-V には、Linux のシールドされた VM のプロビジョニングのサポートが含まれます。 次のように、System Center VMM を使用して、保護されたファブリックで Linux のシールドされた VM をプロビジョニングできます。

  1. HGS サーバーを展開し、保護されたホストを設定します
  2. テンプレート ディスクを準備します。
  3. テンプレート ディスクに署名します。
  4. テンプレート ディスクと署名されたイメージを VMM ライブラリにコピーします。
  5. VMM でシールドされた Linux VM のテンプレートを作成します。
  6. シールド データ ファイル (PDK ファイル) を生成します。
  7. VMM コンソールを使用して、VM ディスク テンプレートと PDK から Linux のシールドされた VM を作成します。

シールドされた VM のトラブルシューティング

シールドされた VM のトラブルシューティングには、次のツールを使用できます。

  • 拡張セッションモードを使用した仮想マシン接続 (VMConnect)
  • Windows Server での PowerShell Direct

VMConnect

VMConnect は、VM に接続し、VM のゲスト OS と対話するために使用できるツールです。 その機能は、拡張セッションモードの RDP に似ています。 VMConnect を使用して実行できるいくつかのタスクを次に示します。

  • VM を起動およびシャットダウンする

  • DVD イメージ (.iso ファイル) または USB フラッシュ ドライブに接続する

  • チェックポイントの作成

  • VM の設定を変更する

  • ネットワークの問題を診断する

    注意

    管理者が VMConnect を使用して VM にアクセスするには、VM のゲスト資格情報が必要です。

以下を実行することにより、VM で VMConnect を無効にすることができます。

reg add "HKLM\Software\Microsoft\Virtual Machine\Guest" /v DisableEnhancedSessionConsoleConnection /t REG_DWORD /d 1

PowerShell ダイレクト

PowerShell Direct を使用すると、Hyper-V ホストから Windows 10 または Windows SERVER 2016 VM で Windows PowerShell のコマンドレットを実行できます。 PowerShell Direct を使用して実行できるいくつかのタスクを次に示します。

  • Enter-PSSession コマンドレットを使用して、対話型の Windows PowerShell セッションを開始します。
  • Invoke-Command コマンドレットを使用して、1 つの Windows PowerShell コマンドまたはスクリプトを実行します。
  • New-PSSessionCopy-ItemRemove-PSSession コマンドレットを使用して、永続的な Windows PowerShell セッションを開きます。

以下を実行することにより、VM で PowerShell Direct を無効にすることができます。

Stop-Service vmicvmsession
Set-Service vmicvmsession -StartupType Disabled

注意

シールドされた VM の VMConnect と PowerShell Direct を再び有効にするには、Windows Server バージョン 1803 以降が実行されている Hyper-V ホストに VM を移動します。 それより前のバージョンの Windows Server が実行されているホストにシールドされた VM を移動した場合、VMConnect と PowerShell Direct は再び無効になります。