WHfBTools PowerShell モジュールを使用して、孤立した Windows Hello for Business キーをクリーンアップする

適用先
Windows Server 2019, all editions Windows Server 2016, all editions

概要

お客様が TPM の脆弱性の影響を受ける孤立した Windows Hello for Business (WHfB) キーを特定できるように、管理者が実行できる PowerShell モジュールを公開しました。 この記事では、「ADV190026 |"脆弱な TPM で生成され、Windows Hello for Business に使用される孤立したキーをクリーンアップするための Microsoft ガイダンス。"

重要: WHfBTools を使用して孤立したキーを削除する前に、ADV170012 のガイダンスに従って、脆弱な TPM のファームウェアを更新する必要があります。 このガイダンスに従わない場合、ファームウェアが更新されていないデバイスで生成される新しい WHfB キーは、引き続き CVE-2017-15361 (ROCA) の影響を受けます。

WHfBTools PowerShell モジュールをインストールする方法

次のコマンドを実行して、モジュールをインストールします。

WHfBTools PowerShell モジュールをインストールする
PowerShell を介してインストールする

PS> Install-Module WHfBTools

PS> # Save the current execution policy so it can be reset later

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module WHfBTools

または PowerShell ギャラリーからダウンロードしてインストールする

  1. https://www.powershellgallery.com/packages/WHfBTools に移動
  2. 生 .nupkg ファイルをローカル フォルダーにダウンロードし、.zip 拡張子で名前を変更します。
  3. 内容をローカル フォルダー (C:\ADV190026 など) に抽出します


PowerShell を起動し、次のコマンドをコピーして実行します。

PS> # Save the current execution policy so it can be reset later

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV190026\WHfBTools

PS> Import-Module .\WHfBTools.psd1

モジュールを使用するための依存関係をインストールします。

WHfBTools モジュールを使用するための依存関係をインストールする
Azure Active Directory に対して孤立したキーのクエリを実行している場合は、MSAL.PS PowerShell モジュールをインストールします。

PowerShell を介してインストールする

PS> Install-Module -Name MSAL.PS -RequiredVersion 4.5.1.1

PS> Import-Module MSAL.PS

または、PowerShell ギャラリーからダウンロードしてインストールします

  1. https://www.powershellgallery.com/packages/MSAL.PS/4.5.1.1 に移動
  2. 生 .nupkg ファイルをローカル フォルダーにダウンロードし、.zip 拡張子で名前を変更します。
  3. 内容をローカル フォルダー (C:\MSAL.PS など) に抽出します
PowerShell を起動し、次のコマンドをコピーして実行します。

PS> CD C:\MSAL.PS

PS> Import-Module .\MSAL.PS.psd1

Active Directory に対して孤立したキーのクエリを実行する場合は、リモート サーバー管理ツール (RSAT) をインストールします。Active Directory Domain Services およびライトウェイト ディレクトリ サービス ツール

設定を介してインストールする (Windows 10 バージョン 1809 以降)

  1. [設定] -> [アプリ] -> [オプション機能] -> [機能の追加] に移動します。
  2. [RSAT: Active Directory Domain Services] と [Lightweight Directory Services Tools] を選択します。
  3. [インストール] を選択します
または PowerShell を介してインストールします

PS> dism /online /Add-Capability /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

またはダウンロードを介してインストールします
  1. https://www.microsoft.com/en-us/download/details.aspx?id=45520 (Windows 10 リンク) に移動
  2. Windows 10 インストーラーのリモート サーバー管理ツールをダウンロードします
  3. ダウンロードが完了したらインストーラを起動します

WHfBTools PowerShell モジュールを実行します

ご使用の環境に Azure Active Directory に参加しているデバイスまたはハイブリッド Azure Active Directory に参加しているデバイスがある場合は、Azure Active Directory の手順に従ってキーを特定して削除します。 Azure 内でのキーの削除は、Azure AD Connect を介して Active Directory に同期されます。

ご使用の環境がオンプレミスのみの場合は、Active Directory の手順に従ってキーを特定して削除します。

孤立したキーと CVE-2017-15361 (ROCA) の影響を受けるキーのクエリ
次のコマンドを使用して、Azure Active Directory 内のキーのクエリを実行します。

PS> Get-AzureADWHfBKeys -Logging -Report -Tenant contoso.com -All | Export-Csv C:\AzureKeys.csv

このコマンドは、登録されているすべての公開キーについて "contoso.com" テナントWindows Hello for Business照会し、その情報を C:\AzureKeys.csv に出力します。 contoso.comテナント名に置き換えて、テナントのクエリを実行します。

Csv 出力 ( AzureKeys.csv) には、各キーの次の情報が含まれます。

  • ユーザー プリンシパル名
  • テナント
  • 用途
  • キー ID
  • 作成日時
  • 孤立状態
  • 状態の通知をサポートします
  • ROCA 脆弱性の状態
Get-AzureADWHfBKeys クエリが実行されたキーの概要も出力されます。 この概要では、次の情報が提供されます。

  • スキャンされたユーザーの数
  • スキャンされたキーの数
  • キーを持つユーザーの数
  • ROCA の脆弱なキーの数
注: これらに関連付けられた Windows Hello for Business キーを持つ Azure AD テナントに、古くなったデバイスが存在することがあります。 これらのキーは、これらのデバイスがアクティブに使用されていない場合でも、孤立状態と報告されません。 次の方法をお勧めします: Azure AD で古いデバイスを管理して、孤立したキーを照会する前に古いデバイスをクリーンアップします。



次のコマンドを使用して、Active Directory 内のキーのクエリを実行します。

PS> Get-ADWHfBKeys -Logging -Report -Domain contoso | Export-Csv C:\ADKeys.csv

このコマンドは、登録されているすべての公開キー Windows Hello for Business "contoso" ドメインに対してクエリを実行し、その情報を C:\ADKeys.csv に出力します。 contosoをドメイン名に置き換えて、ドメインのクエリを実行します。

Csv 出力 ( ADKeys.csv) には、各キーの次の情報が含まれます。

  • ユーザー ドメイン
  • ユーザー SAM アカウント名
  • ユーザーの識別名
  • キー バージョン
  • キー ID
  • 作成日時
  • キー マテリアル
  • キー ソース
  • キー使用法
  • キー デバイス ID
  • おおよその最終ログオン タイムスタンプ
  • 作成日時
  • カスタム キー情報
  • KeyLinkTargetDN
  • 孤立状態
  • ROCA 脆弱性の状態
  • KeyRawLDAPValue
Get-ADWHfBKeys クエリが実行されたキーの概要も出力されます。 この概要では、次の情報が提供されます。

  • スキャンされたユーザーの数
  • キーを持つユーザーの数
  • スキャンされたキーの数
  • ROCA の脆弱なキーの数
  • 孤立したキーの数 (-SkipCheckForOrphanedKeys が指定されていない場合)
メモ:Azure AD に参加しているデバイスを使用するハイブリッド環境があり、オンプレミス ドメインで "Get-ADWHfBKeys" を実行すると、孤立したキーの数が正確でないことがあります。 これは、Azure AD に参加しているデバイスが Active Directory に存在せず、Azure AD に参加しているデバイスに関連付けられているキーが孤立状態と表示されることがあるためです。
孤立した ROCA の脆弱なキーをディレクトリから削除する
次の手順を使用して、Azure Active Directory のキーを削除します。

  1. AzureKeys.csv の Orphaned 列と RocaVulnerable 列をフィルター処理して true に設定します
  2. フィルター処理した結果を新しいファイル ( C:\ROCAKeys.csv
  3. 次のコマンドを実行して、キーを削除します。
PS> Import-Csv C:\ROCAKeys.csv | Remove-AzureADWHfBKey -Tenant contoso.com -Logging

このコマンドは、孤立した ROCA の脆弱なキーの一覧をインポートし、 contoso.com テナントから削除します。 テナントからキーを削除するには、 contoso.comテナント名に置き換えます。

追加 まだ孤立していない ROCA の脆弱な WHfB キーを削除すると、ユーザーが中断する状況が発生します。 ディレクトリから削除する前に、これらのキーが孤立していることを確認する必要があります。



次の手順を使用して、Active Directory のキーを削除します。

注釈ハイブリッド環境で孤立したキーを Active Directory から削除すると、Azure AD Connect 同期プロセスの一部としてキーが再作成されます。 ハイブリッド環境の場合は、Azure AD からのみキーを削除します。

  1. ADKeys.csvto true の OrphanedKey 列と ROCAVulnerable 列をフィルター処理する
  2. フィルター処理した結果を新しいファイル ( C:\ROCAKeys.csv
  3. 次のコマンドを実行して、キーを削除します。
PS> Import-Csv C:\ROCAKeys.csv | Remove-ADWHfBKey -Logging

このコマンドは、孤立した ROCA の脆弱なキーの一覧をインポートし、ドメインから削除します。

注釈 まだ孤立していない ROCA の脆弱な WHfB キーを削除すると、ユーザーが中断する状況が発生します。 ディレクトリから削除する前に、これらのキーが孤立していることを確認する必要があります。