为 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 CS 或 Microsoft Entra Connect 服务器,请确保已根据需要配置审核。 有关详细信息,请参阅:
AD FS:
AD CS:
Microsoft Entra Connect:
配置 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()
为 Microsoft Entra Connect (ADSync) 数据库配置权限
注意
仅当 Entra Connect 数据库托管在外部 SQL Server 实例上时,本部分才适用。
在 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}$];
ALTER ROLE [db_datareader] ADD MEMBER [{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 服务器上安装传感器期间,会自动选择最近的域控制器。 使用以下步骤检查或修改所选择的域控制器:
在 Microsoft Defender XDR 中,转到 设置>身份>传感器以查看你的所有 Defender for Identity 传感器。
定位并选择安装在服务器上的传感器。
在打开的窗格中的域控制器 (FQDN) 框中,输入解析器域控制器的完全限定域名 (FQDN)。 选择 + 添加以添加 FQDN,然后选择保存。
初始化传感器可能需要几分钟时间。 完成后,AD FS、AD CS 或 Microsoft Entra Connect 传感器的服务状态会从停止更改为正在运行。
验证成功部署
要验证你是否已成功在 AD FS 或 AD CS 服务器上部署 Defender for Identity 传感器,请执行以下操作:
检查 Azure 高级威胁防护传感器服务是否正在运行。 保存 Defender for Identity 传感器设置后,服务可能需要几秒钟才能开始。
如果服务没有启动,请查看
Microsoft.Tri.sensor-Errors.log
文件,默认位于以下位置:%programfiles%\Azure Advanced Threat Protection sensor\Version X\Logs
。使用 AD FS 或 AD CS 对任何应用程序的用户进行身份验证,然后验证 Defender for Identity 是否遵守了身份验证。
例如,选择搜寻>高级搜寻。 在查询窗格上,输入并运行以下查询之一:
相关内容
有关详细信息,请参阅: