次の方法で共有


保護されたファブリックの展開のクイック スタート

このトピックでは、保護されたファブリックとは何か、その要件、および展開プロセスの概要について説明します。 展開の詳細な手順については、「保護されたホストとシールドされた VM のためのホスト ガーディアン サービスの展開」を参照してください。

ビデオがお好みの場合は、 Microsoft Virtual Academy コース「Windows Server 2016 でのシールドされた VM と保護されたファブリックの展開」を参照してください。

保護されたファブリックとは

"保護されたファブリック" は、Windows Server 2016 Hyper-V ファブリックであり、ホストで実行されているマルウェアとシステム管理者による検査、盗難、改ざんからテナントのワークロードを保護できます。 これらの仮想化されたテナント ワークロード (保存時とフライト中の両方で保護されます) は、"シールドされた VM" と呼ばれます。

保護されたファブリックの要件とは

保護されたファブリックの要件は次のとおりです。

  • 悪意のあるソフトウェアを含まないシールドされた VM を実行する場所。

    これらは "保護されたホスト" と呼ばれます。 保護されたホストは、Windows Server 2016 Datacenter エディションの Hyper-V ホストです。これがシールドされた VM を実行できるのは、それらの VM がホスト ガーディアン サービス (HGS) と呼ばれる外部機関に対して既知の信頼された状態で実行されていることを証明できる場合のみです。 HGS は、Windows Server 2016 の新しいサーバーの役割であり、通常は 3 ノード クラスターとして展開されます。

  • ホストが正常な状態であることを確認する方法。

    HGS は、"構成証明" を実行し、そこで保護されたホストの正常性を測定します。

  • 正常なホストにキーを安全にリリースするプロセス。

    HGS は "キー保護とキー リリース" を実行し、そこでキーをリリースして正常なホストに戻します。

  • シールドされた VM のセキュリティで保護されたプロビジョニングとホスティングを自動化するための管理ツール。

    必要に応じて、保護されたファブリックに次の管理ツールを追加できます。

    • System Center 2016 Virtual Machine Manager (VMM)。 VMM を使用すると、Hyper-V に付属する PowerShell コマンドレットと保護されたファブリック ワークロードだけの使用で得られることを超える追加の管理ツールを利用できるため、お勧めします。
    • System Center 2016 Service Provider Foundation (SPF)。 これは、Windows Azure Pack と VMM の間の API レイヤーであり、Windows Azure Pack を使用する場合の前提条件です。
    • Windows Azure Pack は、保護されたファブリックとシールドされた VM を管理するための優れたグラフィカル Web インターフェイスを提供します。

実際には、最初に、保護されたファブリックで使用される構成証明のモードを決定する必要があります。 HGS で Hyper-V ホストが正常であることを測定できる 2 つの方法 (相互に排他的なモード) があります。 HGS を初期化するときに、このモードを選択する必要があります。

  • ホスト キーの構成証明 (キー モード) は、安全性が低いが、採用しやすい
  • TPM ベースの構成証明 (TPM モード) は、より安全だが、多くの構成と特定のハードウェアが必要

必要に応じて、Windows Server 2019 Datacenter エディションにアップグレードされた既存の Hyper-V ホストを使用してキー モードで展開し、サポートされているサーバー ハードウェア (TPM 2.0 を含む) が使用できるときに、より安全な TPM モードに変換することができます。

細部の内容を理解したので、展開モデルの例を見てみましょう。

現在の Hyper-V ファブリックから保護されたファブリックにアクセスする方法

次の図に示す Contoso.com のような既存の Hyper-V ファブリックがあり、Windows Server 2016 の保護されたファブリックを構築する必要があるシナリオを考えてみましょう。

既存の Hyper-V ファブリック

手順 1: Windows Server 2016 を実行している Hyper-V ホストを展開する

Hyper-V ホストは、Windows Server 2016 Datacenter エディションまたはそれ以降を実行している必要があります。 ホストをアップグレードする場合は、Standard エディションから Datacenter エディションにアップグレードできます。

Hyper-V ホストをアップグレードする

手順 2: ホスト ガーディアン サービス (HGS) を展開する

次に、HGS サーバーの役割をインストールし、次の図の relecloud.com の例のような 3 ノード クラスターとして展開します。 これには、次の 3 つの PowerShell コマンドレットが必要です。

  • HGS ロールを追加するには、Install-WindowsFeature を使用します
  • HGS をインストールするには、Install-HgsServer を使用します
  • 選択した構成証明モードで HGS を初期化するには、Initialize-HgsServer を使用します

既存の Hyper-V サーバーが TPM モードの前提条件を満たしていない場合 (たとえば、TPM 2.0 がない場合) は、ファブリック ドメインとの Active Directory 信頼を必要とする管理者ベースの構成証明 (AD モード) を使用して HGS を初期化できます。

この例では、Contoso はコンプライアンス要件をすぐに満たすために最初に AD モードで展開し、適切なサーバー ハードウェアを購入できたら、より安全な TPM ベースの構成証明に変換する予定だとします。

HGS のインストール

手順 3: ID、ハードウェア ベースライン、コード整合性ポリシーを抽出する

Hyper-V ホストから ID を抽出するプロセスは、使用されている構成証明モードによって異なります。

AD モードの場合、ホストの ID はそのドメイン参加済みコンピューター アカウントであり、ファブリック ドメイン内の指定されたセキュリティ グループのメンバーである必要があります。 指定されたグループのメンバーシップだけで、ホストが正常であるかどうかが判断されます。

このモードでは、ファブリック管理者は単独で Hyper-V ホストの正常性を確保する責任を負います。 HGS は実行を許可するものと許可しないものの決定に何の役割も果たさないため、マルウェアとデバッガーは設計どおりに機能します。

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

つまり、TPM モードに使用される厳格な検証手順は、AD モードでは一切使用されません。

TPM モードの場合は、次の 3 つが必要です。

  1. すべての Hyper-V ホスト上の TPM 2.0 からの "パブリックなサポート キー" (EKpub)。 EKpub を取得するには、Get-PlatformIdentifier を使用します。
  2. "ハードウェア ベースライン"。 各 Hyper-V ホストが同一の場合、必要なのは 1 つのベースラインだけです。 そうではない場合は、ハードウェアのクラスごとに 1 つ必要です。 ベースラインは、Trustworthy Computing Group ログ ファイル (TCGlog) の形式です。 TCGlog には、UEFI ファームウェアからカーネルを経由して、ホストが完全に起動された所に至るまで、ホストが行ったすべてが含まれます。 ハードウェア ベースラインを取得するには、Hyper-V ロールとホスト ガーディアン Hyper-V サポート機能をインストールし、Get-HgsAttestationBaselinePolicy を使用します。
  3. "コード整合性ポリシー"。 各 Hyper-V ホストが同一の場合、必要なのは 1 つの CI ポリシーだけです。 そうではない場合は、ハードウェアのクラスごとに 1 つ必要です。 Windows Server 2016 とWindows 10 の両方に、"ハイパーバイザーによるコード整合性の強制 (HVCI)" と呼ばれる CI ポリシー向けの新しい形式の適用があります。 HVCI により強力な適用が実現し、信頼された管理者が実行を許可したバイナリの実行のみがホストで許可されるようになります。 これらの指示は、HGS に追加される CI ポリシーにラップされます。 HGS によって各ホストの CI ポリシーが評価された後、シールドされた VM の実行がホストで許可されます。 CI ポリシーを取得するには、New-CIPolicy を使用します。 その後、ConvertFrom-CIPolicy を使用して、ポリシーをバイナリ形式に変換する必要があります。

ID、ベースライン、および CI ポリシーを抽出する

これで完了です。保護されたファブリックは、それを実行するインフラストラクチャの観点から構築されています。 これで、シールドされた VM を簡単かつ安全にプロビジョニングできるように、シールド VM テンプレート ディスクとシールド データ ファイルを作成できます。

手順 4: シールドされた VM のテンプレートを作成する

シールド VM テンプレートは、既知の信頼できる時点でディスクの署名を作成することで、テンプレート ディスクを保護します。  テンプレート ディスクが後でマルウェアに感染した場合、その署名は、安全なシールドされた VM のプロビジョニング プロセスによって検出される元のテンプレートとは異なります。  シールド テンプレート ディスクは、通常のテンプレート ディスクに対して [シールド テンプレート ディスクの作成ウィザード] (Protect-TemplateDisk) を実行して作成します。

それぞれは、Windows 10 向けのリモート サーバー管理ツールシールドされた VM のツール機能と共に含まれています。 RSAT をダウンロードした後、このコマンドを実行して、シールドされた VM のツール機能をインストールします。

Install-WindowsFeature RSAT-Shielded-VM-Tools -Restart

ファブリック管理者や VM 所有者などの信頼できる管理者は、VHDX テンプレート ディスクに署名するために証明書 (多くの場合、ホスティング サービス プロバイダーによって提供されます) を必要とします。

シールドされたテンプレート ディスク ウィザード

ディスク署名は、仮想ディスクの OS パーティションを使用して計算されます。 OS パーティションで何かが変更された場合は、署名も変更されます。 これにより、ユーザーは適切な署名を指定することで、信頼するディスクをしっかり識別できるようになります。

開始する前に、テンプレート ディスクの要件を確認してください。

手順 5: シールド データ ファイルを作成する

シールド データ ファイル (.pdk ファイルとも呼ばれます) には、管理者パスワードなど、仮想マシンに関する機密情報が記録されます。

シールド データ

シールド データ ファイルには、シールドされた VM のセキュリティ ポリシー設定も含まれています。 シールド データ ファイルを作成する際は、2 つのセキュリティ ポリシーのいずれかを選択する必要があります。

  • [シールド]

    最も安全なオプションです。多くの管理攻撃ベクトルが排除されます。

  • 暗号化をサポート

    より低いレベルの保護です。VM を暗号化できるというコンプライアンス上の利点は依然として提供しますが、Hyper-V 管理者は VM コンソール接続や PowerShell Direct を使用するなどの処理を行えます。

    新しい暗号化をサポートする VM

VMM や Windows Azure Pack など、オプションの管理部品を追加できます。 これらの部品をインストールせずに VM を作成する場合は、「詳細な手順 – シールドされた VM を VMM なしで作成する」 を参照してください。

手順 6: シールドされた VM を作成する

シールドされた仮想マシンの作成は、通常の仮想マシンの場合とわずかに異なります。 Windows Azure Pack では、エクスペリエンスは通常の VM の作成よりも簡単です。これは、指定する必要があるのが、名前、シールド データ ファイル (その他の特殊化情報を含みます)、および VM ネットワークのみであるためです。

Windows Azure Pack の新しいシールドされた VM

次のステップ