2022年12月3日土曜日

仮想マシンでCredential Guardを有効化してみる

Credential Guardの要件を整理します。

  • ハードウェアおよびソフトウェアの要件
    から転記します。物理サーバーですが、仮想マシンにも通じるところがあります。
    • 仮想化ベースのセキュリティのサポート (必須)
      • 64 ビット CPU
      • CPU の仮想化拡張機能および Extended Page Tables
      • Windows ハイパーバイザー (Hyper-V Windows 機能をインストールする必要はありません)
        この記載が現仕様とあっていないようです。Windowsハイパーバイザーだけのインストールはできないため、Hyper-Vのインストールが必要だと確認しました。(詳細は後述します)
        Hyper-Vを仮想マシンにインストールするには、仮想マシンに対してNested Hyper-Vを有効化します。
    • セキュア ブート (必須)
      仮想マシンでもセキュアブートは有効化できますね。
    • トラステッド プラットフォーム モジュール (TPM、優先 - ハードウェアへのバインドを提供) バージョン 1.2 および 2.0 がサポートされています (ディスクリートまたはファームウェア)
    • UEFI ロック (推奨 - 攻撃者の単純なレジストリ キー変更による無効化を防ぐ)
  • Hyper-V 仮想マシンで Windows Defender Credential Guard を実行するための要件
    • Hyper-V ホストは IOMMU を備えている必要があり、Windows Server 2016 または Windows 10 バージョン 1607 以降が実行されている必要があります。
      IOMMUに関連する設定としては、Windows Admin Centerで確認できるHyper-Vホストの[DMA保護の起動]があります。ちなみに[DMA保護の起動]が非サポートでも、Credential Guardを有効化できました。
    • Hyper-V 仮想マシンは第 2 世代であることが必要です。また、仮想 TPM が有効になっており、Windows Server 2016 または Windows 10 以降が実行されている必要があります。
      • TPM は要件ではありませんが、TPM を実装することをお勧めします。
        これは仮想TPMを有効にすればよいですね。
Windows Server 2022仮想マシンを例に有効化してみます。
まず上記にある通り、Nested Hyper-V、仮想TPMを有効化しておきます。セキュアブートは、仮想マシン作成時に有効化されていることを確認しておきましょう。

具体的な有効化方法は、Windows Defender Credential Guard を有効にするに準じます。確認した中で最も確認しやすかった、レジストリを使用して Windows Defender Credential Guard を有効化するで有効化してみました。
  1. 仮想マシンでHyper-Vを有効化します。
    [プログラムと機能] を使って仮想化ベースのセキュリティ機能を追加するに準じるのですが、一部手順が異なります。具体的には、Hyper-Vの有効化だけで、[分離ユーザー モード]は有効化しません。というか、[分離ユーザー モード]自体が、統合されているためです。統合化されている旨は、上記リンクのほうに下記文言が記載されています。念のため、引用します。
    Windows 10バージョン 1607 以降では、分離ユーザー モード機能がコア オペレーティング システムに統合されています。 そのため、上記の手順 3 でコマンドを実行する必要はありません。
    Windows Serverの場合、そもそも[分離ユーザー モード]の役割サービスは無いです。つまり選択できないですね。

    2023/02/08 追記 サーバーマネージャーからうまく構成できないときは、仮想マシン内の管理者権限付きPowerShellから下記を実行してみると良いです。
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -NoRestart
    Install-WindowsFeature -Name "Hyper-V" -IncludeManagementTools
    Restart-Computer -Force
  2. レジストリ設定を追加します。
    仮想化ベースのセキュリティと Windows Defender Credential Guard を有効にするに準じます。設定自体は、レジストリエディターで行います。
    1. 仮想化ベースのセキュリティを有効にします。

    2. Windows Defender Credential Guard を有効にします。
      2023/2/8追記 画像では、[セキュア ブート] のみを使用するとして1に設定しています。[セキュア ブートと DMA 保護] を使用するための設定値"3"は、仮想マシンで設定できないです(設定するとCredential Guardが実行できない)。ご注意ください。
    3. Credential Guardの有効化を確認します。
      Windows Defender Credential Guard のパフォーマンスを確認するに準じます。msinfo32.exeを実行しましょう。
      1. レジストリ設定直後の状態です。
      2. レジストリ設定を反映するため、再起動します。
      3. 改めてレジストリ設定を確認します。
        Credential Guardが有効化されていますね。

0 件のコメント:

コメントを投稿