共用方式為


適用於 適用於身分識別的 Microsoft Defender 的目錄服務帳戶

本文說明 適用於身分識別的 Microsoft Defender 如何使用目錄服務帳戶 (DSA) 。

注意事項

無論設定的目錄服務帳戶為何,感測器服務都會在LocalService身分識別下運作,而更新程式服務會在LocalSystem身分識別下運作。

雖然在某些情況下 DSA 是選擇性的,但建議您為適用於身分識別的 Defender 設定 DSA,以取得完整的安全性涵蓋範圍。

例如,當您設定 DSA 時,DSA 會在啟動時用來連線到域控制器。 DSA 也可用來查詢域控制器,以取得網路流量、受監視事件和受監視 ETW 活動中所見實體的數據

下列功能需要 DSA:

  • 使用 安裝在AD FS/ AD CS 伺服器上的感測器時。

  • 透過對裝置進行 SAM-R 呼叫 ,從網路流量、事件和 ETW 活動中看到的裝置要求本機系統管理員群組的成員清單。 收集的數據可用來計算潛在的橫向動作路徑。

  • 存取 DeletedObjects 容器以收集已刪除使用者和計算機的相關信息。

  • 網域和信任對應,這會在感測器啟動時發生,且每隔 10 分鐘會再次發生。

  • 從其他網域中的實體偵測活動時,透過LDAP查詢另一個網域以取得詳細數據。

當您使用單一 DSA 時,DSA 必須具有樹系中所有網域的 取許可權。 在不受信任的多樹系環境中,每個樹系都需要 DSA 帳戶。

每個網域中有一個感測器定義為 網域同步器,並負責追蹤網域中實體的變更。 例如,變更可能包括建立的物件、適用於身分識別的Defender所追蹤的實體屬性等等。

注意事項

根據預設,適用於身分識別的Defender最多支援30個認證。 若要新增更多認證,請連絡適用於身分識別的Defender支援。

支援的 DSA 帳戶選項

適用於身分識別的Defender支援下列 DSA 選項:

選項 描述 組態
群組受控服務帳戶 gMSA (建議) 提供更安全的部署和密碼管理。 Active Directory 會管理帳戶密碼的建立和輪替,就像計算機帳戶的密碼一樣,您可以控制帳戶密碼變更的頻率。 如需詳細資訊, 請參閱使用 gMSA 設定適用於身分識別的 Defender 的目錄服務帳戶
一般用戶帳戶 開始使用時容易使用,而且更輕鬆地設定受信任樹系之間的 取許可權,但需要額外的密碼管理額外負荷。

一般用戶帳戶較不安全,因為它需要您建立和管理密碼,而且如果密碼過期且使用者和 DSA 都未更新,可能會導致停機。
在 Active Directory 中建立新的帳戶,以作為具有所有物件 取許可權的 DSA,包括 DeletedObjects 容器的 許可權。 如需詳細資訊,請 參閱授與必要的 DSA 許可權
本地服務帳戶 本機服務帳戶是現成可用的,而且預設會在未設定 DSA 時使用。
備註:
  • 在此案例中不支援 SAM-R 查詢潛在的橫向動作路徑。
  • 僅在安裝感測器的網域內進行LDAP查詢。 對相同樹系或跨樹系中其他網域的查詢將會失敗。
  • 注意事項

    雖然本地服務帳戶預設會與感測器搭配使用,而且在某些情況下,DSA 是選擇性的,但建議您為適用於身分識別的 Defender 設定 DSA 以取得完整的安全性涵蓋範圍。

    DSA 專案使用量

    本節說明如何使用 DSA 專案,以及感測器如何在任何指定的案例中選取 DSA 專案。 感測器嘗試會根據 DSA 項目類型而有所不同:

    類型 描述
    gMSA 帳戶 感測器會嘗試從 Active Directory 擷取 gMSA 帳戶密碼,然後登入網域。
    一般用戶帳戶 感測器會嘗試使用設定的使用者名稱和密碼登入網域。

    套用下列邏輯:

    1. 感測器會尋找目標網域名完全相符的專案。 如果找到完全相符的專案,感測器會嘗試使用該專案中的認證進行驗證。

    2. 如果沒有完全相符的專案,或驗證失敗,感測器會使用 DNS FQDN 在清單中搜尋父域的專案,並嘗試改為使用父專案中的認證進行驗證。

    3. 如果父域沒有專案,或驗證失敗,感測器會使用 DNS FQDN 在清單中搜尋同層級網域專案,並嘗試改為使用同層級專案中的認證進行驗證。

    4. 如果沒有同層級網域的專案,或驗證失敗,感測器會再次檢閱清單,並嘗試再次驗證每個專案,直到成功為止。 DSA gMSA 專案優先順序高於一般 DSA 專案。

    使用 DSA 的範例邏輯

    本節提供一個範例,說明當您有多個帳戶時,感測器如何嘗試整個 DSA,包括 gMSA 帳戶和一般帳戶。

    套用下列邏輯:

    1. 感測器會在目標網域的 DNS 功能變數名稱之間尋找相符專案,例如 emea.contoso.com 和 DSA gMSA 專案,例如 emea.contoso.com

    2. 感測器會尋找目標網域的 DNS 功能變數名稱之間的相符專案,例如 emea.contoso.com 和 DSA 一般專案 DSA,例如 emea.contoso.com

    3. 感測器會在目標網域的根 DNS 名稱中尋找相符專案,例如 emea.contoso.com 和 DSA gMSA 專案功能變數名稱,例如 contoso.com

    4. 感測器會在目標網域的根 DNS 名稱中尋找相符專案,例如 emea.contoso.com 和 DSA 一般專案功能變數名稱,例如 contoso.com

    5. 感測器會尋找同層級網域的目標功能變數名稱,例如 emea.contoso.com 和 DSA gMSA 專案功能變數名稱,例如 apac.contoso.com

    6. 感測器會尋找同層級網域的目標功能變數名稱,例如 emea.contoso.com 和 DSA 一般專案功能變數名稱,例如 apac.contoso.com

    7. 感測器會執行所有 DSA gMSA 專案的迴圈配置資源。

    8. 感測器會執行所有 DSA 一般專案的迴圈配置資源。

    此範例中顯示的邏輯會使用下列組態來實作:

    • DSA 專案

      • DSA1.emea.contoso.com
      • DSA2.fabrikam.com
    • 先使用的感測器和 DSA 專案

      域控制器 FQDN 使用的 DSA 專案
      DC01.emea.contoso.com DSA1.emea.contoso.com
      DC02.contoso.com DSA1.emea.contoso.com
      DC03.fabrikam.com DSA2.fabrikam.com
      DC04.contoso.local 迴圈賽

    重要事項

    如果感測器無法在啟動時透過LDAP成功向Active Directory網域進行驗證,感測器將不會進入執行中狀態,而且會產生健康情況問題。 如需詳細資訊,請參閱 適用於身分識別的Defender健康情況問題

    授與必要的 DSA 許可權

    DSA 需要 Active Directory 中 所有 物件的唯讀許可權,包括 刪除的物件容器

    [ 刪除的物件 ] 容器上的只讀許可權可讓適用於身分識別的 Defender 偵測您 Active Directory 中的使用者刪除。

    使用下列程式代碼範例,協助您授與 [刪除的物件 ] 容器上所需的讀取許可權,無論您是否使用 gMSA 帳戶。

    提示

    如果您想要授與許可權的 DSA 是 gMSA) (群組受控服務帳戶,您必須先建立安全組、將 gMSA 新增為成員,然後將許可權新增至該群組。 如需詳細資訊, 請參閱使用 gMSA 設定適用於身分識別的 Defender 的目錄服務帳戶

    # Declare the identity that you want to add read access to the deleted objects container:
    $Identity = 'mdiSvc01'
    
    # If the identity is a gMSA, first to create a group and add the gMSA to it:
    $groupName = 'mdiUsr01Group'
    $groupDescription = 'Members of this group are allowed to read the objects in the Deleted Objects container in AD'
    if(Get-ADServiceAccount -Identity $Identity -ErrorAction SilentlyContinue) {
        $groupParams = @{
            Name           = $groupName
            SamAccountName = $groupName
            DisplayName    = $groupName
            GroupCategory  = 'Security'
            GroupScope     = 'Universal'
            Description    = $groupDescription
        }
        $group = New-ADGroup @groupParams -PassThru
        Add-ADGroupMember -Identity $group -Members ('{0}$' -f $Identity)
        $Identity = $group.Name
    }
    
    # Get the deleted objects container's distinguished name:
    $distinguishedName = ([adsi]'').distinguishedName.Value
    $deletedObjectsDN = 'CN=Deleted Objects,{0}' -f $distinguishedName
    
    # Take ownership on the deleted objects container:
    $params = @("$deletedObjectsDN", '/takeOwnership')
    C:\Windows\System32\dsacls.exe $params
    
    # Grant the 'List Contents' and 'Read Property' permissions to the user or group:
    $params = @("$deletedObjectsDN", '/G', ('{0}\{1}:LCRP' -f ([adsi]'').name.Value, $Identity))
    C:\Windows\System32\dsacls.exe $params
      
    # To remove the permissions, uncomment the next 2 lines and run them instead of the two prior ones:
    # $params = @("$deletedObjectsDN", '/R', ('{0}\{1}' -f ([adsi]'').name.Value, $Identity))
    # C:\Windows\System32\dsacls.exe $params
    

    如需詳細資訊,請參閱 變更已刪除物件容器的許可權

    透過PowerShell測試您的 DSA 許可權和委派

    使用下列 PowerShell 命令來確認您的 DSA 沒有太多許可權,例如強大的系統管理員許可權:

    Test-MDIDSA [-Identity] <String> [-Detailed] [<CommonParameters>]
    

    例如,若要檢查 mdiSvc01 帳戶的許可權並提供完整詳細數據,請執行:

    Test-MDIDSA -Identity "mdiSvc01" -Detailed
    

    如需詳細資訊,請參閱 DefenderForIdentity PowerShell 參考

    下一步