共用方式為


配置 AD FS、AD CS、以及 Microsoft Entra Connect 的感測器

在 Active Directory 同盟服務 (AD FS) 安裝 Defender for Identity 感測器、AD CS) (Active Directory 憑證服務,以及 Microsoft Entra Connect 伺服器,以協助保護它們免受本地及雲端攻擊。 本文將介紹安裝步驟。

以下考量適用:

  • 對於 AD FS 環境,Defender for Identity 感測器僅支援於聯邦伺服器。 在網頁應用程式 Proxy (WAP) 伺服器上不需要。
  • 至於 AD CS 環境,離線的 AD CS 伺服器不需要安裝感測器。
  • 對於 Microsoft Entra Connect 伺服器,你需要在主動伺服器和暫存伺服器上安裝感測器。

必要條件

在 AD FS、AD CS(AD CS)或 Microsoft Entra Connect 伺服器上安裝 Defender for Identity 感測器的前置條件,可參考 適用於身分識別的 Microsoft Defender 前置條件文章。

安裝在 AD FS、AD CS 或 Microsoft Entra Connect 伺服器上的感測器無法使用本地服務帳號連接網域。 相反地,你需要設定 一個目錄服務帳號

此外,Defender for Identity sensor for AD CS 僅支援具備認證機構角色服務(Certification Authority Role Service)的 AD CS 伺服器。

配置事件集合

如果你使用的是 AD FS、AD CS,或 Microsoft Entra Connect 伺服器,務必依需求設定稽核。 如需詳細資訊,請參閱:

設定 AD FS 資料庫的讀取權限

要讓運行在 AD FS 伺服器上的感測器能存取 AD FS 資料庫,你需要對相關目錄服務帳號授予讀取 (db_datareader) 權限。

如果你有多台 AD FS 伺服器,務必在所有伺服器間都授權此權限。 資料庫權限不會在伺服器間複製。

設定 SQL 伺服器允許 Directory Service Account 擁有以下權限存取 AdfsConfiguration 資料庫:

  • 登入
  • select

授權存取 AD FS 資料庫

可透過 SQL Server Management Studio、Transact-SQL (T-SQL) 或 PowerShell 授權存取 AD FS 資料庫。

例如,如果你使用Windows 內部資料庫 (WID) 或外部 SQL 伺服器,以下指令可能會很有幫助。

以下範例代碼:

  • [DOMAIN1\mdiSvc01] 是工作區的目錄服務使用者。 如果你用的是 gMSA,請在用戶名稱後面加上 $ 。 例如:[DOMAIN1\mdiSvc01$]
  • AdfsConfigurationV4 是 AD FS 資料庫名稱的範例,名稱可能會有所不同。
  • server=\.\pipe\MICROSOFT##WID\tsql\query如果你使用 WID,則是資料庫的連接字串。

提示

如果你不知道你的連接字串,請依照 Windows Server 文件中的步驟操作。

透過 T-SQL 授權感測器存取 AD FS 資料庫:

USE [master]
CREATE LOGIN [DOMAIN1\mdiSvc01] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
USE [AdfsConfigurationV4]
CREATE USER [DOMAIN1\mdiSvc01] FOR LOGIN [DOMAIN1\mdiSvc01]
ALTER ROLE [db_datareader] ADD MEMBER [DOMAIN1\mdiSvc01]
GRANT CONNECT TO [DOMAIN1\mdiSvc01]
GRANT SELECT TO [DOMAIN1\mdiSvc01]
GO

要透過使用 PowerShell 授權感測器存取 AD FS 資料庫:

$ConnectionString = 'server=\\.\pipe\MICROSOFT##WID\tsql\query;database=AdfsConfigurationV4;trusted_connection=true;'
$SQLConnection= New-Object System.Data.SQLClient.SQLConnection($ConnectionString)
$SQLConnection.Open()
$SQLCommand = $SQLConnection.CreateCommand()
$SQLCommand.CommandText = @"
USE [master]; 
CREATE LOGIN [DOMAIN1\mdiSvc01] FROM WINDOWS WITH DEFAULT_DATABASE=[master];
USE [AdfsConfigurationV4]; 
CREATE USER [DOMAIN1\mdiSvc01] FOR LOGIN [DOMAIN1\mdiSvc01]; 
ALTER ROLE [db_datareader] ADD MEMBER [DOMAIN1\mdiSvc01]; 
GRANT CONNECT TO [DOMAIN1\mdiSvc01]; 
GRANT SELECT TO [DOMAIN1\mdiSvc01];
"@
$SqlDataReader = $SQLCommand.ExecuteReader()
$SQLConnection.Close()

設定 Microsoft Entra Connect (ADSync) 資料庫的權限

注意事項

本節僅適用於 Entra Connect 資料庫託管於外部 SQL 伺服器實例時。

在 Microsoft Entra Connect 伺服器上運行的感測器需要存取 ADSync 資料庫,並擁有相關儲存程序的執行權限。 如果你有不只一台 Microsoft Entra Connect 伺服器,務必在所有伺服器間執行。

要使用 PowerShell 授權 Microsoft Entra Connect ADSync 資料庫感測器權限:

$entraConnectServerDomain = $env:USERDOMAIN
$entraConnectServerComputerAccount = $env:COMPUTERNAME
$entraConnectDBName = (Get-ItemProperty 'registry::HKLM\SYSTEM\CurrentControlSet\Services\ADSync\Parameters' -Name 'DBName').DBName
$entraConnectSqlServer = (Get-ItemProperty 'registry::HKLM\SYSTEM\CurrentControlSet\Services\ADSync\Parameters' -Name 'Server').Server
$entraConnectSqlInstance = (Get-ItemProperty 'registry::HKLM\SYSTEM\CurrentControlSet\Services\ADSync\Parameters' -Name 'SQLInstance').SQLInstance

$ConnectionString = 'server={0}\{1};database={2};trusted_connection=true;' -f $entraConnectSqlServer, $entraConnectSqlInstance, $entraConnectDBName
$SQLConnection= New-Object System.Data.SQLClient.SQLConnection($ConnectionString)
$SQLConnection.Open()
$SQLCommand = $SQLConnection.CreateCommand()
$SQLCommand.CommandText = @"
USE [master]; 
CREATE LOGIN [{0}\{1}$] FROM WINDOWS WITH DEFAULT_DATABASE=[master];
USE [{2}];
CREATE USER [{0}\{1}$] FOR LOGIN [{0}\{1}$];
GRANT CONNECT TO [{0}\{1}$];
GRANT SELECT TO [{0}\{1}$];
GRANT EXECUTE ON OBJECT::{2}.dbo.mms_get_globalsettings TO [{0}\{1}$];
GRANT EXECUTE ON OBJECT::{2}.dbo.mms_get_connectors TO [{0}\{1}$];
"@ -f $entraConnectServerDomain, $entraConnectServerComputerAccount, $entraConnectDBName
$SqlDataReader = $SQLCommand.ExecuteReader()
$SQLConnection.Close()

安裝後的步驟 (可選)

在 AD FS、AD CS 或 Microsoft Entra Connect 伺服器安裝感測器時,會自動選擇最近的網域控制器。 請依照以下步驟檢查或修改所選網域控制器:

  1. Microsoft Defender 全面偵測回應中,請到設定>中的身份>感測器,查看所有 Defender for Identity 感測器。

  2. 找到並選擇你安裝在伺服器上的感應器。

  3. 在打開的面板中,網域 控制器 (FQDN) 框中,輸入完全限定的網域名稱 (解析器網域控制器的 FQDN) 。 選擇 + 新增 以新增 FQDN,然後選擇 儲存

    Defender for Identity 中為配置 Active Directory 同盟服務感測器解析器的選擇截圖。

初始化感測器可能需要幾分鐘。 當它結束時,AD FS、AD CS 或 Microsoft Entra Connect 感應器的服務狀態會從停止變成運作中。

驗證部署成功

為了驗證你是否成功在 AD FS 或 AD CS 伺服器上部署了 Defender for Identity 感測器:

  1. 請檢查 Azure 進階威脅防護感測器服務是否正在執行。 當你儲存 Defender for Identity 感測器設定後,服務可能需要幾秒鐘才會啟動。

  2. 如果服務無法啟動,請檢查 Microsoft.Tri.sensor-Errors.log 預設位置的 %programfiles%\Azure Advanced Threat Protection sensor\Version X\Logs檔案。

  3. 使用 AD FS 或 AD CS 來驗證使用者至任何應用程式,然後驗證 Defender for Identity 是否觀察到該認證。

    例如,選擇 「狩獵>進階狩獵」。 在 查詢 窗格中,輸入並執行以下其中一項查詢:

    • 關於AD FS:

      IdentityLogonEvents | where Protocol contains 'Adfs'
      

      結果面板應包含 LogonType 值為 Logon 與 ADFS 認證的事件列表。

    • 關於 AD CS:

      IdentityDirectoryEvents | where Protocol == "Adcs"
      

      結果面板顯示失敗與成功憑證核發的事件列表。 選擇特定一列,即可在 檢查記錄 窗格中查看更多細節。

      Active Directory 憑證服務登入進階搜尋查詢結果的截圖。

如需詳細資訊,請參閱: