PowerShellでWindows Defender Credential Guardを有効化する企業向け設定手順

Windows Defender Credential Guardを有効化することは、企業のITセキュリティを向上させるための重要なステップです。Credential Guardは、ハードウェアベースのセキュリティ機能を活用して、企業ネットワークにアクセスするための資格情報を保護します。本記事では、PowerShellを活用してこの重要なセキュリティ機能を効率的に有効化するための手順を解説します。この記事を読むことで、PowerShellのスクリプトを使ったCredential Guardの有効化が簡単に行えるようになります。また、企業向けの環境に最適化された設定や、実行時に役立つヒントも提供します。

目次

Windows Defender Credential Guardとは


Windows Defender Credential Guardは、Windows 10以降のOSに搭載されたセキュリティ機能で、資格情報の不正なアクセスを防ぐために設計されています。この機能は、ハードウェアの仮想化技術を利用して機密情報を保護します。

主な機能と利点

  • 資格情報の保護
    Credential Guardは、資格情報を隔離された仮想化環境に保存し、OSやアプリケーションからの直接アクセスを制限します。これにより、マルウェアや悪意のある攻撃による資格情報の盗難を防止します。
  • 企業向けセキュリティ強化
    特に企業環境では、ドメイン資格情報やパスワードの漏洩が大きなリスクとなります。Credential Guardを有効化することで、ネットワーク内の資格情報のセキュリティが飛躍的に向上します。

動作の仕組み


Credential Guardは、Windows Hyper-V仮想化技術を基盤に構築されています。以下の要素が連携して機能します:

  • LSA (Local Security Authority) プロセスの分離
    通常、OS内で動作するLSAプロセスを分離し、仮想化セキュリティ環境内で実行します。
  • VSM (Virtual Secure Mode)
    仮想セキュリティモードにより、資格情報が攻撃者から保護されます。

企業における重要性


Credential Guardを導入することで、標的型攻撃や内部不正による資格情報漏洩のリスクが低減します。また、規制やコンプライアンス要件を満たすためにも有効です。

これらの特長により、Windows Defender Credential Guardは企業ネットワークのセキュリティ基盤を支える不可欠な技術となっています。

Credential Guard有効化の前提条件


Windows Defender Credential Guardを有効化するためには、いくつかの前提条件を満たす必要があります。これらを確認しておくことで、設定プロセスをスムーズに進めることができます。

システム要件


Credential Guardを利用するには、以下のシステム要件を満たしている必要があります:

  • 対応OS: Windows 10 Enterprise、Windows 10 Education、Windows 11 Enterprise、またはWindows Server 2016以降。
  • CPU要件: Intel VT-x、AMD-Vなどの仮想化支援技術をサポートするプロセッサ。
  • メモリ要件: 最低4GBのRAM(推奨8GB以上)。

BIOS/UEFI設定


Credential Guardを有効化するためには、仮想化技術をサポートするBIOS/UEFI設定を有効にする必要があります。以下の設定を確認してください:

  • 仮想化支援機能: Intel VT-xまたはAMD-Vを有効化。
  • IOMMUサポート: 仮想化デバイスの割り当てをサポートするIOMMU(Intel VT-dまたはAMD-Vi)を有効化。
  • セキュアブート: セキュアブートを有効化し、UEFIモードで起動する必要があります。

ソフトウェア依存関係


Credential Guardを有効化する前に、以下のソフトウェアが正しくインストールおよび設定されていることを確認してください:

  • Hyper-Vの有効化
    Credential GuardはHyper-Vを基盤にしているため、Hyper-Vのインストールが必要です。PowerShellコマンドで次のように有効化できます:
  Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
  • グループポリシー設定
    Credential Guardを有効化するには、グループポリシーで「Credential Guardの構成」を設定する必要があります。

ネットワーク要件

  • Active Directory連携: Credential Guardを効果的に活用するには、Active Directoryドメイン環境で運用することが推奨されます。
  • ネットワーク接続: 必要な更新プログラムやポリシーを適用するため、インターネット接続が必要です。

注意点

  • 古いハードウェアでは、仮想化技術をサポートしていない場合があります。導入前にデバイス互換性を確認してください。
  • Credential Guardを無効化する際には、OSの再インストールが必要になる場合があります。事前にテスト環境で検証することをお勧めします。

これらの前提条件を満たしていることを確認した後、PowerShellを使用してCredential Guardの設定に進むことができます。

PowerShellの基礎準備


Credential GuardをPowerShellで有効化するには、まずPowerShell環境の準備を整える必要があります。以下の手順を確認し、適切な設定を行ってください。

PowerShellのバージョン確認


最新の機能を利用するため、PowerShellのバージョンを確認して更新してください。以下のコマンドを実行してバージョンを確認します:

$PSVersionTable.PSVersion


推奨バージョンはPowerShell 5.1以上、またはPowerShell Core 7以降です。最新バージョンをインストールしていない場合、Microsoft公式サイトからインストールできます。

管理者権限でPowerShellを起動


Credential Guardの設定を変更するには、管理者権限でPowerShellを実行する必要があります。以下の手順に従ってください:

  1. 「スタートメニュー」を開きます。
  2. 「PowerShell」と入力し、検索結果の「Windows PowerShell」を右クリックします。
  3. 「管理者として実行」を選択します。

実行ポリシーの設定


PowerShellでスクリプトを実行するには、適切な実行ポリシーを設定する必要があります。以下のコマンドで現在の実行ポリシーを確認してください:

Get-ExecutionPolicy


もし制限されている場合、以下のコマンドで実行ポリシーを一時的に緩和します:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass


これにより、スクリプト実行時の制限を回避できます。

PowerShellモジュールの確認とインストール


Credential Guardを有効化するために必要なモジュールが正しくインストールされていることを確認します。以下のコマンドを使用してモジュールを確認します:

Get-Module -ListAvailable


必要に応じて、以下のコマンドで追加モジュールをインストールします:

Install-Module -Name PowerShellGet -Force

テストスクリプトの実行


環境が正しく構成されているか確認するため、簡単なテストスクリプトを実行します:

Write-Host "PowerShell環境が正常に設定されました。"

バックアップの作成


Credential Guardの設定変更はシステムに影響を与える可能性があるため、変更前に重要なデータや現在の設定のバックアップを作成しておくことを推奨します。

これでPowerShellの準備が整いました。次に、Credential Guardを有効化する具体的なスクリプトについて説明します。

Credential Guardを有効化するPowerShellスクリプト


Windows Defender Credential Guardを有効化するためのPowerShellスクリプトを実行することで、手動操作を最小限に抑え、効率的に設定を行えます。このセクションでは、スクリプトの内容と実行手順を解説します。

スクリプトの概要


以下のスクリプトは、Credential Guardを有効化するために必要なグループポリシーの変更と設定を自動化します。さらに、仮想化技術が正しく動作するための必要条件も確認します。

スクリプトのコード


次のPowerShellスクリプトを実行することで、Credential Guardを有効化できます:

# 必要なモジュールのインポート
Import-Module SecureBoot

# 仮想化技術の確認
Write-Host "仮想化技術が有効か確認しています..."
$vtEnabled = (Get-WmiObject -Namespace "root\cimv2" -Class Win32_Processor).VirtualizationFirmwareEnabled
if (-not $vtEnabled) {
    Write-Error "仮想化技術が無効です。BIOS/UEFI設定を確認してください。" -ErrorAction Stop
}

# Hyper-Vの有効化
Write-Host "Hyper-Vを有効化しています..."
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -NoRestart

# Credential Guardの設定を有効化
Write-Host "Credential Guardを有効化しています..."
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Force | Out-Null
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "EnableVirtualizationBasedSecurity" -Value 1 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "RequirePlatformSecurityFeatures" -Value 1 -PropertyType DWORD -Force | Out-Null

# UEFI Lockの有効化
Write-Host "UEFI Lockを有効化しています..."
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "SecureBootEnabled" -Value 1 -PropertyType DWORD -Force | Out-Null

# 再起動の促進
Write-Host "設定を反映させるため、システムを再起動してください。"

スクリプトの動作説明

  1. 仮想化技術の確認
    仮想化が無効の場合、スクリプトは停止し、BIOS/UEFI設定を確認するよう指示します。
  2. Hyper-Vの有効化
    Credential Guardの基盤となるHyper-Vをインストールします。
  3. グループポリシー設定
    レジストリを操作してCredential Guardに必要な設定を適用します。
  4. UEFI Lockの設定
    Credential Guardのセキュリティ機能を強化するため、UEFI Lockを有効化します。

スクリプトの実行方法

  1. PowerShellを管理者権限で起動します。
  2. 上記のコードをコピーして、PowerShellコンソールに貼り付けます。
  3. スクリプトを実行し、出力結果を確認します。

注意点

  • スクリプトを実行する前に、重要なデータのバックアップを取ってください。
  • システムの再起動が必要ですので、業務時間外に実行することを推奨します。

これにより、PowerShellを用いたCredential Guardの有効化が完了します。次は、設定が正しく適用されているかを確認する手順を説明します。

スクリプト実行後の動作確認


PowerShellスクリプトでCredential Guardを有効化した後、設定が正しく適用されていることを確認する必要があります。このセクションでは、動作確認の手順を詳しく解説します。

確認手順

1. msinfo32でCredential Guardの有効化を確認


Windowsシステム情報ツール(msinfo32)を使用して、Credential Guardが有効になっているか確認します。以下の手順に従ってください:

  1. 「スタート」メニューを開く
    「msinfo32」と入力し、「システム情報」を開きます。
  2. 「デバイスガードの状態」を確認
    「システム概要」→「デバイスガードの状態」で、次の情報を確認します:
  • 仮想化ベースのセキュリティ:実行中
  • Credential Guardが有効

2. PowerShellコマンドで確認


PowerShellを使用して直接状態を確認する方法もあります。以下のコマンドを実行してください:

Get-CimInstance -Namespace "Root\Microsoft\Windows\DeviceGuard" -ClassName "Win32_DeviceGuard"


このコマンドの出力で、RequiredSecurityPropertiesに「1」(仮想化ベースのセキュリティが有効)が含まれていることを確認してください。

3. レジストリ設定の確認


Credential Guardが有効になると、次のレジストリキーが設定されます。以下の手順で確認します:

  1. レジストリエディタを開く
    「スタート」メニューで「regedit」と入力してレジストリエディタを起動します。
  2. キーを確認
    次のパスを確認します:
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard


以下の値が設定されていることを確認します:

  • EnableVirtualizationBasedSecurity: 1
  • SecureBootEnabled: 1

ログやエラーメッセージの確認

1. イベントビューアでログを確認


Credential Guardの有効化に関連するエラーや警告を確認するには、イベントビューアを使用します:

  1. 「イベントビューア」を開きます(「スタート」→「eventvwr」)。
  2. 「Windowsログ」→「システム」または「アプリケーション」を確認します。
  3. Credential Guardに関連するエラーが記録されていないことを確認します。

2. PowerShellのエラー出力を確認


スクリプト実行時にエラーメッセージが出力されていた場合、エラーメッセージの内容を確認し、設定や依存関係を再度見直してください。

正しく設定が適用されていない場合の対処

  • Hyper-Vのインストール状況を確認
    Hyper-Vが正しく有効化されていない場合、再インストールしてください。
   Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
  • BIOS/UEFI設定の再確認
    仮想化技術やセキュアブートが有効になっているか確認してください。
  • Windows Updateの適用
    最新の更新プログラムが適用されていない場合、Credential Guardが正しく動作しない可能性があります。

動作確認が完了したら、Credential Guardが適切に有効化されている状態で利用を開始できます。次は、トラブルが発生した際の対応方法を解説します。

トラブルシューティング


Credential Guardの有効化プロセスで問題が発生する場合があります。このセクションでは、よくあるエラーとその解決方法、設定を成功させるためのベストプラクティスについて解説します。

よくあるエラーと解決方法

1. 仮想化技術が無効化されている


エラー内容: PowerShellスクリプト実行時に「仮想化技術が無効」と表示される。
原因: BIOS/UEFI設定で仮想化支援技術が無効化されています。
解決方法:

  1. システムを再起動し、BIOS/UEFI設定に入ります(通常、起動時に「F2」や「DEL」キーを押す)。
  2. Intel VT-xまたはAMD-Vを有効化します。
  3. 設定を保存して再起動します。

2. Hyper-Vがインストールされていない


エラー内容: Credential Guardを有効化できない、または動作しない。
原因: Hyper-Vが正しくインストールされていません。
解決方法:
PowerShellを管理者権限で起動し、以下のコマンドを実行してください:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -NoRestart


その後、システムを再起動します。

3. レジストリ設定が適用されない


エラー内容: Credential Guardが有効化されない。
原因: レジストリ設定の権限不足や間違った値の入力。
解決方法:

  1. レジストリエディタ(regedit)を起動します。
  2. 次のパスを確認し、値が正しいか確認してください:
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
  1. 必要な値を手動で追加または修正します:
  • EnableVirtualizationBasedSecurity: 1
  • SecureBootEnabled: 1

4. Credential Guardが「無効」と表示される


エラー内容: msinfo32やPowerShellでCredential Guardが有効化されていない。
原因: 必要なWindows更新プログラムが適用されていない、またはセキュアブートが無効。
解決方法:

  • Windows Updateを適用
    最新の更新プログラムをインストールしてシステムを最新状態にします。
  • セキュアブートを有効化
    BIOS/UEFI設定でセキュアブートを有効化します。

ベストプラクティス

1. テスト環境での検証


Credential Guardを本番環境に適用する前に、テスト環境で動作を検証し、問題が発生しないか確認してください。

2. 定期的なバックアップ


設定を変更する前にシステム全体のバックアップを作成することで、万が一の問題に備えます。

3. ドライバーの互換性確認


Credential Guardを有効化すると、一部のデバイスドライバーが正常に動作しない可能性があります。特に、カスタムドライバーを使用している場合は注意してください。

専門サポートの活用


設定が正しく完了しない場合やエラーの解決が難しい場合は、Microsoftサポートや専門のIT担当者に相談してください。

これらのトラブルシューティング手順を通じて、Credential Guardの設定を正常に適用できるようになります。次は、本記事のまとめを行います。

まとめ


本記事では、Windows Defender Credential GuardをPowerShellを用いて有効化する手順を解説しました。Credential Guardの概要や利点から、必要な前提条件、PowerShell環境の準備、設定スクリプトの実行方法、動作確認手順、そしてトラブルシューティングまで詳しく説明しました。

Credential Guardを有効化することで、企業ネットワークのセキュリティが大幅に向上し、資格情報の漏洩リスクを低減できます。PowerShellスクリプトを活用することで、複雑な設定も効率的に実現可能です。

設定の際は、テスト環境での検証やバックアップを忘れずに行い、問題発生時には本記事で紹介したトラブルシューティングを参考にしてください。これにより、企業のセキュリティ体制を強化し、安心してITインフラを運用することができるでしょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次