共用方式為


Windows 的已驗證掃描

適用於:

重要事項

此功能將於 2025 年 11 月底淘汰,且在該日期之後將不受支援。 有關這項變更的詳細資訊,請參 閱 Windows 驗證掃描淘汰常見問題

Windows 的已驗證掃描可讓您在非受控 Windows 裝置上執行掃描。 您可以透過IP範圍或主機名從遠端鎖定目標,並透過提供 Microsoft Defender 弱點管理 認證來遠端存取裝置,以掃描 Windows 服務。 設定之後,將會定期掃描目標 Unmanaged 裝置是否有軟體弱點。 根據預設,掃描會每四小時執行一次,並提供變更此間隔或只執行一次的選項。

注意事項

若要使用此功能,您需要 Microsoft Defender 弱點管理 獨立版,或如果您已經是 適用於端點的 Microsoft Defender 方案 2 客戶,則 Defender 弱點管理 附加元件。

接著,安全性系統管理員可以在 Microsoft Defender 入口網站中查看最新的安全性建議,並檢閱最近探索到的目標裝置弱點。

提示

您知道您可以免費試用 Microsoft Defender 弱點管理 中的所有功能嗎? 瞭解如何 註冊免費試用版。

掃描器安裝

類似於 網路裝置 驗證掃描,您將需要已安裝掃描器的掃描裝置。 如果您尚未安裝掃描器,請參閱 安裝掃描器 以取得如何下載和安裝掃描器的步驟。

注意事項

預先存在的已安裝掃描器不需要變更。

先決條件

下一節列出您需要設定的必要條件,以使用 Windows 的已驗證掃描。

掃描帳戶

需要掃描帳戶才能從遠端存取裝置。 這必須是 gMsa) (群組受控服務帳戶

注意事項

我們建議 gMSA 帳戶是只有必要掃描許可權且設定為定期循環密碼的最低許可權帳戶。

若要建立 gMsa 帳戶:

  1. 在 PowerShell 視窗的域控制器上,執行:

    New-ADServiceAccount -Name gmsa1 -PrincipalsAllowedToRetrieveManagedPassword scanner-win11-i$ -KerberosEncryptionType RC4, AES128, AES256 -Verbose
    
    • gmsa1 代表您要建立的帳戶名稱,scanner-win11-I$ 代表掃描器代理程序執行所在的計算機名稱。 只有這台計算機能夠擷取帳戶密碼。 您可以提供以逗號分隔的電腦清單。
    • 您可以使用 Get-ADServiceAccountSet-ADServiceAccount 來修改現有的帳戶
  2. 若要安裝 AD 服務帳戶,請在掃描器代理程式將使用提升許可權的 PowerShell 視窗執行的電腦上,執行:

    Install-ADServiceAccount -Identity gmsa1
    

如果您的PowerShell無法辨識這些命令,這可能表示您遺漏必要的PowerShell模組。 如何安裝模組的指示會根據您的操作系統而有所不同。 如需詳細資訊,請參閱使用群組受控服務帳戶 使用者入門

要掃描的裝置

請使用下表,以取得每個要掃描裝置上所需設定的指引,以及掃描帳戶所需的權限:

注意事項

下列步驟只是設定要掃描之每個裝置的許可權並使用 效能監視器 Users 群組的其中一個建議方式。 您也可以透過下列方式設定權限:

  • 將帳戶新增至不同的使用者群組,並提供該群組所需的所有許可權。
  • 將這些許可權明確授與掃描帳戶。

若要設定許可權並套用至要使用組策略掃描的裝置群組,請參閱使用 組策略設定一組裝置

要掃描的裝置需求 描述
已啟用 Windows Management Instrumentation (WMI) 若要啟用遠端 Windows Management Instrumentation (WMI) :
  • 確認 Windows Management Instrumentation 服務正在執行。
  • 移至 控制台>所有 控制台 專案>Windows Defender 防火牆允許的應用程式,並確保透過 Windows 防火牆>允許 Windows Management Instrumentation (WMI) 。
掃描帳戶是 效能監視器 Users 群組的成員 掃描帳戶必須是要掃描之裝置上 效能監視器 使用者群組的成員。
效能監視器 使用者群組在根/CIMV2 WMI 命名空間上具有「啟用帳戶」和「遠端啟用」許可權 若要確認或啟用這些權限:
  • 執行 wmimgmt.msc。
  • 以滑鼠右鍵按兩下 [WMI 控制件 (本機) ],然後選取 [ 屬性]
  • 移至 [安全性] 索引標籤。
  • 選取相關的 WMI 命名空間,然後選取 [ 安全性]
  • 新增指定的群組,然後選取以允許特定許可權。
  • 選取 [進階],選擇指定的專案,然後選取 [ 編輯]
  • [套用至 ] 設定為 [此命名空間和子命名空間]。
效能監視器 使用者群組應具有DCOM作業的許可權 若要確認或啟用這些權限:
  • 執行 dcomcnfg。
  • 流覽至 [元件服務>計算機>我的計算機]
  • 以滑鼠右鍵按兩下 [我的計算機],然後選擇 [ 屬性]
  • 移至 [COM 安全性] 索引標籤。
  • 移至 [ 啟動和啟用許可權] ,然後選取 [ 編輯限制]
  • 新增指定的群組,然後選取以允許 遠端啟用

使用組策略設定一組裝置

組策略可讓您將所需的設定,以及掃描帳戶所需的許可權,大量套用至要掃描的裝置群組。

請在域控制器上遵循下列步驟,同時設定一組裝置:

步驟 描述
建立新群組原則物件 (GPO)
  • 在域控制器上,開啟 群組原則 Management Console。
  • 請遵循下列步驟來建立 群組原則 物件
  • 建立 群組原則 物件 (GPO) 之後,以滑鼠右鍵按兩下您的 GPO,然後選取 [編輯] 以開啟 群組原則 管理 編輯器 控制台,然後完成下列步驟。
啟用 Windows Management Instrumentation (WMI) 若要啟用遠端 Windows Management Instrumentation (WMI) :
  • 移至 [計算機設定>原則>] [Windows 設定>] [安全性>設定] [系統服務]
  • 以滑鼠右鍵按兩下 [Windows Management Instrumentation]
  • 選取 [ 定義此原則設定 ] 方塊,然後選擇 [ 自動]
允許 WMI 通過防火牆 若要允許 Windows Management Instrumentation (WMI) 通過防火牆:
  • 移至 [計算機設定>原則>] [Windows 設定] [安全性>>設定] [Windows Defender 防火牆] 和 [進階安全>性輸入規則]
  • 以滑鼠右鍵按下並選取 [新增規則]
  • 選擇 [預先定義] ,然後從列表 中選取 [Windows Management Instrumentation (WMI) ]。 然後選取 [下一步]
  • 選取 [ Windows Management Instrumentation (WMI-In) ] 複選框。 然後選取 [下一步]
  • 選取 [允許該連線]。 然後選取 [完成]
  • 以滑鼠右鍵按下新增的規則,然後選取 [ 屬性]
  • 移至 [ 進階 ] 索引標籤,並取消核取 [私人 ] 和 [ 用] 選項,因為只需要 [網域 ]。
授與執行DCOM作業的許可權 若要授與執行 DCOM 作業的許可權:
  • 移至 [計算機設定>原則>] [Windows 設定>] [安全性>設定] [本機原則>] 安全性作業
  • 以滑鼠右鍵按兩下 [DCOM:安全描述符定義語言] 中的 [機器啟動限制] (SDDL) 語法 ,然後選取 [ 屬性]
  • 取 [定義此原則設定 ] 方塊,然後選取 [ 編輯安全性]
  • 新增您要授與許可權的使用者或群組,然後選取 [ 遠端啟用]
透過組策略執行 PowerShell 腳本,將許可權授與 Root\CIMV2 WMI 命名空間:
  • 建立 PowerShell 腳本。 如需您可以根據需求修改的建議腳本,請參閱本文稍後的範 例 PowerShell 腳本
  • 啟動/關機 >) 啟動 (移至計算機>>設定原則Windows 設定>腳本
  • 移至 [PowerShell 腳本] 索引標籤
  • 取 [顯示檔案 ] 並將您建立的腳本複製到此資料夾
  • 返回文稿設定視窗,然後選取 [ 新增]
  • 輸入文本名稱。

範例 PowerShell 指令碼

使用下列 PowerShell 腳本作為起點,透過組策略將許可權授與 Root\CIMV2 WMI 命名空間:

Param ()

Process {
    $ErrorActionPreference = "Stop"
    $accountSID = "S-1-5-32-558" # Performance Monitor Users built-in group, please change or pass parameter as you wish
    $computerName = "."

    $remoteparams = @{ComputerName=$computerName}
    $invokeparams = @{Namespace="root\cimv2";Path="__systemsecurity=@"} + $remoteParams

    $output = Invoke-WmiMethod @invokeparams -Name GetSecurityDescriptor
    if ($output.ReturnValue -ne 0) {
        throw "GetSecurityDescriptor failed: $($output.ReturnValue)"
    }

    $acl = $output.Descriptor

    $CONTAINER_INHERIT_ACE_FLAG = 0x2
    $ACCESS_MASK = 0x21 # Enable Account + Remote Enable

    $ace = (New-Object System.Management.ManagementClass("win32_Ace")).CreateInstance()
    $ace.AccessMask = $ACCESS_MASK
    $ace.AceFlags = $CONTAINER_INHERIT_ACE_FLAG

    $trustee = (New-Object System.Management.ManagementClass("win32_Trustee")).CreateInstance()
    $trustee.SidString = $accountSID
    $ace.Trustee = $trustee

    $ACCESS_ALLOWED_ACE_TYPE = 0x0

    $ace.AceType = $ACCESS_ALLOWED_ACE_TYPE

    $acl.DACL += $ace.psobject.immediateBaseObject

    $setparams = @{Name="SetSecurityDescriptor";ArgumentList=$acl.psobject.immediateBaseObject} + $invokeParams

    $output = Invoke-WmiMethod @setparams
    if ($output.ReturnValue -ne 0) {
        throw "SetSecurityDescriptor failed: $($output.ReturnValue)"
    }
}

將 GPO 原則套用至裝置之後,將會套用所有必要的設定,而且您的 gMSA 帳戶將能夠存取和掃描裝置。

設定新的已驗證掃描

若要設定新的已驗證掃描:

  1. 移至 Microsoft Defender 入口網站中的 [設定>裝置探索>已驗證掃描]

  2. 取 [新增掃描 ],然後選擇 [Windows 驗證掃描] ,然後選取 [ 下一步]

    新增已驗證掃描畫面的螢幕快照

  3. 輸入 掃描名稱

  4. 選取 掃描裝置: 您將用來掃描非受控裝置的上線裝置。

  5. 輸入 目標 (範圍) : 您要掃描的IP位址範圍或主機名。 您可以輸入位址或匯入 CSV 檔案。 匯入檔案將會覆寫任何手動新增的位址。

  6. 選取 [掃描間隔]: 根據默認,掃描會每四小時執行一次,您可以選取 [不要重複],變更掃描間隔或只執行一次。

  7. 選擇您的 驗證方法 - 有兩個選項可供選擇:

    • Kerberos (慣用)
    • 談判

    注意事項

    在 Kerberos 失敗的情況下,Negotiate 選項會回復為 NTLM。 不建議使用NTLM,因為它不是安全的通訊協定。

  8. 輸入 Microsoft Defender 弱點管理 將用來遠端存取裝置的認證:

    • 使用 azure KeyVault: 如果您在 Azure KeyVault 中管理認證,您可以輸入掃描裝置要存取的 Azure KeyVault URL 和 Azure KeyVault 秘密名稱,以提供認證
    • 針對 Azure KeyVault 秘密值,請使用格式為 Domain 的 gMSA 帳戶詳細數據;用戶名稱
  9. 取 [下一步 ] 以執行或略過測試掃描。 如需測試掃描的詳細資訊,請參閱 掃描和新增網路裝置

  10. 選取 [下一步 ] 以檢閱設定,然後選取 [ 提交 ] 以建立新的已驗證掃描。

注意事項

由於已驗證的掃描器目前使用的加密演算法不符合 美國聯邦資訊處理標準 (FIPS) ,因此當組織強制使用符合 FIPS 規範的演算法時,掃描器無法運作。

若要允許不符合 FIPS 規範的演算法,請在掃描器執行所在裝置的登錄中設定下列值:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy 具有名為 Enabled 的 DWORD 值,以及 值為 0x0

FIPS 相容演算法僅用於與 美國 聯邦機關相關。

Windows API 的已驗證掃描

您可以使用 API 來建立新的掃描,並檢視組織中所有現有的已設定掃描。 如需詳細資訊,請參閱: