为 AD FS 和 AD CS 配置传感器

在 Active Directory 联合身份验证服务 (AD FS) 和 Active Directory 证书服务 (AD CS) 服务器上安装 Defender for Identity 传感器,以保护它们免受本地攻击。

本文章介绍在 AD FS 或 AD CS 服务器上安装 Defender for Identity 传感器时所要求的步骤。

注意

对于 AD FS 环境,Defender for Identity 传感器仅在联合服务器上受支持,而在 Web 应用程序代理 (WAP) 服务器上没有要求。 对于 AD CS 环境,你不需要在任何离线的 AD CS 服务器上安装传感器。

先决条件

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

此外,适用于 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) 作为目录服务帐户 (DSA),请确保授予 SQL Server 检索 gMSA 密码所需的权限

允许访问 AD FS 数据库

使用 SQL Server Management Studio、TSQL 或 PowerShell 允许访问数据库。

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

在这些示例代码中:

  • [DOMAIN1\mdiSvc01] 是工作区的目录服务用户。 如果使用 gMSA,请在用户名末尾追加 $。 例如:[DOMAIN1\mdiSvc01$]
  • AdfsConfigurationV4 是 AD FS 数据库名称的一个示例,可能会有所不同
  • server=.\pipe\MICROSOFT##WID\tsql\query - 如果使用 WID,则是到数据库的连接字符串

提示

如果你不知道连接字符串,请按照 Windows 服务器文档中的步骤进行操作。

要使用 TSQL 授予传感器对 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 服务器配置事件集合

如果使用的是 AD FS/AD CS 服务器,请确保已根据需要配置审核。 有关详细信息,请参阅:

验证在 AD FS/AD CS 服务器上的成功部署

要验证 Defender for Identity 传感器是否已成功部署在 AD FS 服务器上,请执行以下操作:

  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"
    

    结果窗格应包含证书颁发失败和成功的事件列表。 选择特定行以在检查记录左侧窗格中查看其他详细信息。 例如:

    Screenshot of the results of an AD FS logon advanced hunting query.

AD FS/AD CS 服务器的安装后步骤(可选)

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

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

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

  3. 在打开的窗格中的域控制器 (FQDN) 字段中,输入解析程序域控制器的 FQDN。 选择 + 添加以添加 FQDN,然后选择保存。 例如:

    Screenshot of the Defender for Identity configure AD FS sensor resolver.

初始化传感器可能需要几分钟时间,此时 AD FS/AD CS 传感器服务状态应从停止更改为正在运行

有关详细信息,请参阅: