为 AD FS、AD CS 和 Microsoft Entra Connect 配置传感器
在 Active Directory 联合身份验证服务 (AD FS) 、Active Directory 证书服务 (AD CS) 上安装 Defender for Identity 传感器,并Microsoft Entra Connect 服务器,以帮助保护它们免受本地和混合攻击。 本文介绍安装步骤。
以下注意事项适用:
- 对于 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 数据库具有以下权限的目录服务帐户:
- 连接
- 登录
- 读
- select
注意
如果 AD FS 数据库在专用 SQL 服务器而不是本地 AD FS 服务器上运行,并且你使用组托管服务帐户 (gMSA) 作为目录服务帐户,请确保向 SQL 服务器授予检索 gMSA 密码 所需的权限 。
授予对 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 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}$];
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 是否观察到了身份验证。
例如,选择“ 搜寻>高级搜寻”。 在“ 查询 ”窗格中,输入并运行以下查询之一:
相关内容
有关更多信息,请参阅: