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 および Lightweight Directory Services ツールをインストールします

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

  1. [設定] -> [アプリ] -> [オプション機能] -> [機能の追加] に移動します
  2. [RSAT: Active Directory Domain Servicesおよびライトウェイト ディレクトリ サービス ツール] を選択します
  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

このコマンドは、登録されているすべてのWindows Hello for Business公開キーの "contoso.com" テナントに対してクエリを実行し、その情報を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の孤立した列と RocaVulnerable 列を true にフィルター処理する
  2. フィルター処理された結果を新しいファイルにコピーします。 C:\ROCAKeys.csv
  3. 次のコマンドを実行して、キーを削除します。
PS> Import-Csv C:\ROCAKeys.csv | Remove-AzureADWHfBKey -Tenant contoso.com -Logging

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

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



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

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

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

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

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