为 AD FS、AD CS 和 Microsoft Entra Connect 配置传感器

在 Active Directory 联合身份验证服务 (AD FS)、Active Directory 证书服务 (AD CS) 和 Microsoft Entra Connect 服务器上安装 Defender for Identity 传感器,以帮助保护它们免受本地攻击和混合攻击。 本文介绍安装步骤。

以下注意事项适用:

  • 对于 AD FS 环境,Defender for Identity 传感器仅在联合服务器上受支持。 Web 应用程序代理 (WAP) 服务器上不需要它们。
  • 对于 AD CS 环境,你不需要在任何离线的 AD CS 服务器上安装传感器。
  • 对于 Microsoft Entra Connect 服务器,你需要在活动服务器和暂存服务器上安装传感器。

先决条件

在 AD FS、AD CS 或 Microsoft Entra Connect 服务器上安装 Defender for Identity 传感器的先决条件与在域控制器上安装传感器相同。 有关详细信息,请参阅 Microsoft Defender for Identity 先决条件

安装在 AD FS、AD CS 或 Microsoft Entra Connect 服务器上的传感器不能使用本地服务帐户连接到域。 相反,你需要配置目录服务帐户

此外,适用于 AD CS 的 Defender for Identity 传感器仅支持具有证书颁发机构角色服务的 AD CS 服务器。

为 AD FS 事件配置详细的日志记录

在 AD FS 服务器上运行的传感器必须将相关事件的审核级别设置为详细的。 例如,使用以下命令将审核级别配置为详细的

Set-AdfsProperties -AuditLevel Verbose

有关详细信息,请参阅:

配置 AD FS 数据库的读取权限

为了让在 AD FS 服务器上运行的传感器能够访问 AD FS 数据库,你需要为相关目录服务帐户授予读取 (db_datareader) 权限。

如果你有多个 AD FS 服务器,请确保跨所有服务器授予此权限。 数据库权限不会跨服务器复制。

将 SQL Server 配置为允许具有以下权限的目录服务帐户访问 AdfsConfiguration 数据库:

  • connect
  • 登录
  • read
  • select

注意

如果 AD FS 数据库在专用 SQL 服务器而不是本地的 AD FS 服务器上运行,并且你使用组托管服务帐户 (gMSA) 作为目录服务帐户,请确保授予 SQL Server 检索 gMSA 密码所需的权限

允许访问 AD FS 数据库

使用 SQL Server Management Studio、Transact-SQ (T-SQL) 或 PowerShell 授予对 AD FS 数据库的访问权限。

例如,如果你使用的是 Windows 内部数据库 (WID) 或外部 SQL Server,下面的命令可能会有所帮助。

在这些示例代码中:

  • [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()

配置事件收集

如果使用的是 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 值为使用 ADFS 身份验证登录的事件列表。

    • 对于 AD CS:

      IdentityDirectoryEvents | where Protocol == "Adcs"
      

      结果窗格显示证书颁发失败和成功的事件列表。 选择特定行以在检查记录窗格中查看其他详细信息。

      Active Directory 证书服务登录高级搜索查询结果的屏幕截图。

安装后步骤(可选)

在 AD FS、AD CS 或 Microsoft Entra Connect 服务器上安装传感器期间,会自动选择最近的域控制器。 使用以下步骤检查或修改所选择的域控制器:

  1. Microsoft Defender XDR 中,转到 设置>身份>传感器以查看你的所有 Defender for Identity 传感器。

  2. 定位并选择安装在服务器上的传感器。

  3. 在打开的窗格中的域控制器 (FQDN) 框中,输入解析器域控制器的完全限定域名 (FQDN)。 选择 + 添加以添加 FQDN,然后选择保存

    在 Defender for Identity 中配置 Active Directory 联合身份验证服务传感器解析器选择的屏幕截图。

初始化传感器可能需要几分钟时间。 完成后,AD FS、AD CS 或 Microsoft Entra Connect 传感器的服务状态会从停止更改为正在运行

有关详细信息,请参阅: