摘要
為了幫助客戶識別受 TPM 漏洞影響的孤立的 Windows Hello for Business (WHfB) 金鑰,Microsoft 發佈了一個可供管理員運行的 PowerShell 模組。 本文介紹了如何 解決 ADV190026 中描述的問題|「Microsoft Guidance,用於清理在易受攻擊的 TPM 上生成的用於 Windows Hello for Business 的孤立金鑰。」
重要提示 在使用 WHfBTools 刪除孤立金鑰之前,應遵循 ADV170012 中的指南來更新任何易受攻擊的 TPMs 的固件。 如果未遵循本指南,則在固件尚未更新的設備上生成的任何新的 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 Gallery 下載進行安裝
啟動 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 資源庫的下載檔案來安裝
啟動 PowerShell,複製並執行下列命令: PS> CD C:\MSAL.PS PS> Import-Module .\MSAL.PS.psd1 如果要查詢 Active Directory 中是否有孤立金鑰,請安裝遠端伺服器管理員工具 (RSAT): Active Directory 域服務和羽量級目錄服務工具 經由設定安裝(Windows 10、版本 1809 或更新版本)
或透過 PowerShell 安裝 PS> dism /online /Add-Capability /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 或透過下載安裝
|
執行 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 企業版公開金鑰,並將該資訊輸出到 C:\AzureKeys.csv。 以您的租用戶名稱取代 contoso.com 來查詢您的租用戶。 Csv 輸出, AzureKeys.csv, 將包含每把金鑰的以下資訊:
Get-AzureADWHfBKeys 還將輸出已查詢的金鑰的摘要。 此摘要提供下列資訊:
注意:Azure AD 租戶中可能有過時的裝置,這些裝置具有與其關聯的適用于 Windows Hello for Business 金鑰。 即使這些裝置未被主動使用,這些金鑰也不會報告為孤立。 我們建議按照以下指南操作: 在查詢孤立金鑰之前,管理 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, 將包含每個金鑰的以下資訊:
Get-ADWHfBKeys 也會輸出所查詢金鑰的摘要。 此摘要提供下列資訊:
注意: 如果您的混合環境包含加入 Azure AD 的裝置,並在內部部署網域中執行 "Get-ADWHfBKeys",則孤立金鑰的數目可能並不正確。 這是因為加入 Azure AD 的裝置不在 Active Directory 中,而且與加入 Azure AD 的裝置關聯的金鑰可能顯示為孤立。 |
移除目錄中易受 ROCA 攻擊的孤立金鑰 |
使用下列步驟移除 Azure Active Directory 中的金鑰:
PS> Import-Csv C:\ROCAKeys.csv | Remove-AzureADWHfBKeys -Tenant contoso.com -Logging 此命令會匯入易受 ROCA 攻擊的孤立金鑰清單,並從 contoso.com 租用戶中加以刪除。 以您的租用戶名稱取代 contoso.com ,以從租用戶中刪除金鑰。 注意:如果易受 ROCA 攻擊的 WHfB 金鑰尚未孤立便遭到刪除,會對您的使用者造成服務中斷。 在您從目錄中刪除這些金鑰之前,應確定它們已是孤立金鑰。
使用以下步驟刪除 Active Directory 中的金鑰: 注意:在混合環境中從 Active Directory 中刪除孤立金鑰將導致金鑰作為 Azure AD Connect 同步過程的一部分重新被創建。 如果處於混合環境中,請僅從 Azure AD 中刪除金鑰
PS> Import-Csv C:\ROCAKeys.csv | Remove-ADWHfBKeys -Logging 此命令導入孤立的及 ROCA 易受攻擊的金鑰清單,並從網域中刪除它們。 注意 如果刪除尚未孤立的及 ROCA 易受攻擊的 WHfB 金鑰,則會導致您的使用者中斷。 在您從目錄中刪除這些金鑰之前,應確定它們已是孤立金鑰。 |