本文介绍如何排查Microsoft Defender for Identity中的已知问题。
传感器服务无法启动
传感器日志条目:
Warn DirectoryServicesClient CreateLdapConnectionAsync failed to retrieve group managed service account password. [DomainControllerDnsName=DC1.CONTOSO.LOCAL Domain=contoso.local UserName=mdiSvc01]
原因 1
域控制器无权访问 gMSA 帐户的密码。
解决方案 1:
验证域控制器是否有权访问密码。 Active Directory 中应有一个安全组,其中包含域控制器、Microsoft Entra Connect、Active Directory 联合身份验证服务 (AD FS) /Active Directory 证书服务 (AD CS) 服务器和独立传感器计算机帐户。 如果安全组不存在,建议创建一个。
可以使用以下命令检查是否向 参数添加了计算机帐户或安全组。 将 mdiSvc01 替换为创建的名称。
Get-ADServiceAccount mdiSvc01 -Properties PrincipalsAllowedToRetrieveManagedPassword
结果应如下所示:
在此示例中,我们可以看到添加了名为 mdiSvc01Group 的组。 如果尚未添加域控制器或安全组,可以使用以下命令添加它。 将 mdiSvc01 替换为 gMSA 的名称,将 DC1 替换为域控制器的名称,将 mdiSvc01Group 替换为安全组的名称。
# To set the specific domain controller only:
$specificDC = Get-ADComputer -Identity DC1
Set-ADServiceAccount mdiSvc01 -PrincipalsAllowedToRetrieveManagedPassword $specificDC
# To set a security group that contains the relevant computer accounts:
$group = Get-ADGroup -Identity mdiSvc01Group
Set-ADServiceAccount mdiSvc01 -PrincipalsAllowedToRetrieveManagedPassword $group
如果已添加域控制器或安全组,但仍看到错误,可以尝试以下步骤:
- 重新启动服务器以同步最近的更改
- 清除 Kerberos 票证,强制服务器请求新的 Kerberos 票证。 在管理员命令提示符下运行以下命令
klist -li 0x3e7 purge
原因 2
由于与 Secure Time Seeding 相关的已知情况,gMSA 属性 PasswordLastSet 可能会被设置为未来日期,导致传感器无法启动。
以下命令可用于确认当 PasswordLastSet 和 LastLogonDate 值显示未来日期时,gMSA 帐户是否落入场景中:
Get-ADServiceAccount mdiSvc01 -Properties PasswordLastSet, LastLogonDate
解决方案 2:
作为临时解决方案,可以创建一个其属性日期正确的新 gMSA。 建议使用目录服务打开支持请求,以确定根本原因并探索用于全面解决方法的选项。
传感器故障通信错误
如果收到以下传感器故障错误:
System.Net.Http.HttpRequestException:
An error occurred while sending the request. ---> System.Net.WebException:
Unable to connect to the remote server --->
System.Net.Sockets.SocketException: A connection attempt failed because the
connected party did not properly respond after a period of time, or established
connection failed because connected host has failed to respond...
解决办法:
确保与 localhost 的 TCP 端口 443 的通信不会被阻止。 若要详细了解Microsoft Defender for Identity先决条件,请参阅端口。
部署日志位置
Defender for Identity 部署日志位于安装产品的用户的临时目录中。 在默认安装位置中,可以在以下位置找到它: C:\Users\Administrator\AppData\Local\Temp (或 %temp%) 上方的一个目录。 有关详细信息,请参阅 使用日志排查 Defender for Identity 问题。
代理身份验证问题显示为许可错误
如果在传感器安装期间收到以下错误: 由于许可问题,传感器无法注册。
部署日志条目:
[1C60:1AA8][2018-03-24T23:59:13]i000: 2018-03-25 02:59:13.1237 Info InteractiveDeploymentManager ValidateCreateSensorAsync returned [validateCreateSensorResult=LicenseInvalid]]
[1C60:1AA8][2018-03-24T23:59:56]i000: 2018-03-25 02:59:56.4856 Info InteractiveDeploymentManager ValidateCreateSensorAsync returned [validateCreateSensorResult=LicenseInvalid]]
[1C60:1AA8][2018-03-25T00:27:56]i000: 2018-03-25 03:27:56.7399 Debug SensorBootstrapperApplication Engine.Quit [deploymentResultStatus=1602 isRestartRequired=False]]
[1C60:15B8][2018-03-25T00:27:56]i500: Shutting down, exit code: 0x642
原因:
在某些情况下,通过代理进行通信时,在身份验证过程中,它可能会向 Defender for Identity 传感器返回 401 或 403 错误,而不是 407 错误。 Defender for Identity 传感器将错误 401 或 403 解释为许可问题,而不是代理身份验证问题。
解决办法:
确保传感器无需身份验证即可通过配置的代理浏览到 *.atp.azure.com。 有关详细信息,请参阅 配置代理以启用通信。
代理身份验证问题显示为连接错误
如果在传感器安装过程中收到以下错误: 传感器无法连接到服务。
原因:
当缺少 Defender for Identity 所需的受信任的根证书颁发机构证书时,可能会导致此问题。
解决办法:
运行以下 PowerShell cmdlet 以验证是否已安装所需的证书。
在以下示例中,“DigiCert Global Root G2”证书适用于商业客户,“DigiCert Global Root CA”证书适用于美国政府 GCC High 客户,如前所述。
# Certificate for commercial customers
Get-ChildItem -Path "Cert:\LocalMachine\Root" | where { $_.Thumbprint -eq "AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00"} | fl
# Certificate for US Government GCC High customers
Get-ChildItem -Path "Cert:\LocalMachine\Root" | where { $_.Thumbprint -eq "BB22CC33DD44EE55FF66AA77BB88CC99DD00EE11"} | fl
商业客户证书输出:
Subject : CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
Issuer : CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
Thumbprint : AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
FriendlyName : DigiCert Global Root G2
NotBefore : 01/08/2013 15:00:00
NotAfter : 15/01/2038 14:00:00
Extensions : {System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid}
面向美国政府 GCC High 客户的证书输出:
Subject : CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
Issuer : CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
Thumbprint : BB22CC33DD44EE55FF66AA77BB88CC99DD00EE11
FriendlyName : DigiCert
NotBefore : 11/9/2006 4:00:00 PM
NotAfter : 11/9/2031 4:00:00 PM
Extensions : {System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid}
如果未看到预期的输出,请使用以下步骤:
将以下证书下载到计算机:
- 商业客户请下载 DigiCert Global Root G2 证书
- 对于美国政府 GCC High 客户,请下载 DigiCert Global Root CA 证书
运行以下 PowerShell cmdlet 以安装证书。
# For commercial customers, install certificate Import-Certificate -FilePath "<PATH_TO_CERTIFICATE_FILE>\DigiCertGlobalRootG2.crt" -CertStoreLocation Cert:\LocalMachine\Root # For US Government GCC High customers, install certificate Import-Certificate -FilePath "<PATH_TO_CERTIFICATE_FILE>\DigiCertGlobalRootCA.crt" -CertStoreLocation Cert:\LocalMachine\Root
尝试使用 PowerShell 时出现静默安装错误
如果在无提示传感器安装期间尝试使用 PowerShell 并收到以下错误:
"Azure ATP sensor Setup.exe" "/quiet" NetFrameworkCommandLineArguments="/q" Acce ... Unexpected token '"/quiet"' in expression or statement."
原因:
使用 PowerShell 时,未能包含安装所需的 ./ 前缀会导致此错误。
解决办法:
使用完整命令即可成功安装。
./"Azure ATP sensor Setup.exe" /quiet NetFrameworkCommandLineArguments="/q" AccessKey="<Access Key>"
Defender for Identity 传感器 NIC 组合问题
当你在配置了 NIC 组队适配器和 Winpcap 驱动程序的计算机上安装 Defender for Identity 传感器时,会出现安装错误。 如果要在配置了 NIC 组合的计算机上安装 Defender for Identity 传感器,请确保按照 此处的说明将 Winpcap 驱动程序替换为 Npcap。
多处理器组模式
对于 Windows Server 2008 R2 和 2012 操作系统,Defender for Identity 传感器在多处理器组模式下不受支持。
建议的可能解决方法:
如果超线程处于打开状态,请将其关闭。 这可以减少足够多的逻辑核心数,从而避免需要在 多处理器组 模式下运行。
如果计算机的逻辑核心数少于 64 个,并且正在 HP 主机上运行,则可以将 NUMA 组大小优化 BIOS 设置从默认值“ 群集 ”更改为 “平面”。
VMware 虚拟机传感器问题
如果在 VMware 虚拟机上具有 Defender for Identity 传感器,则可能会收到以下一个或两个运行状况警报 :未分析某些网络流量 ,并且 VMware 上运行的传感器的网络配置不匹配。 这可能是由于 VMware 来宾操作系统 NIC 与 MDI 传感器要求之间的配置不匹配造成的。
若要解决该问题:
在来宾 OS 上,在虚拟机的 NIC 配置中将以下内容设置为 “已禁用 ”: IPv4 TSO 卸载。
使用以下命令检查是否启用或禁用了大型发送卸载 (LSO) :
Get-NetAdapterAdvancedProperty | Where-Object DisplayName -Match "^Large*"
如果启用了 LSO,请使用以下命令禁用它:
Disable-NetAdapterLso -Name {name of adapter}
注意
- 根据你的配置,这些操作可能会导致短暂的网络连接丢失。
- 可能需要重启计算机才能使这些更改生效。
- 这些步骤可能因 VMware 版本而异。 有关如何为 VMware 版本禁用 LSO/TSO 的信息,请参阅 VMware 文档。
传感器无法检索组托管服务帐户 (gMSA) 凭据
如果您收到以下运行状况警报:目录服务用户凭据不正确
传感器日志条目:
2020-02-17 14:01:36.5315 Info ImpersonationManager CreateImpersonatorAsync started [UserName=account_name Domain=domain1.test.local IsGroupManagedServiceAccount=True]
2020-02-17 14:01:36.5750 Info ImpersonationManager CreateImpersonatorAsync finished [UserName=account_name Domain=domain1.test.local IsSuccess=False]
传感器更新程序日志条目:
2020-02-17 14:02:19.6258 Warn GroupManagedServiceAccountImpersonationHelper GetGroupManagedServiceAccountAccessTokenAsync failed GMSA password could not be retrieved [errorCode=AccessDenied AccountName=account_name DomainDnsName=domain1.test.local]
传感器未能检索 gMSA 帐户的密码。
原因 1
域控制器无权检索 gMSA 帐户的密码。
解决方法 1:
验证运行传感器的计算机是否已获得检索 gMSA 帐户密码的权限。 有关详细信息,请参阅 授予检索 gMSA 帐户密码的权限。
原因 2
传感器服务以 LocalService 身份运行,并模拟目录服务帐户身份。
如果为此域控制器配置了用户权限分配策略 “作为服务登录 ”,除非向 gMSA 帐户授予了 “作为服务登录” 权限,否则模拟将失败。
解决方法 2:
当在受影响的域控制器上配置用户权限分配策略 “作为服务登录” 时,为 gMSA 帐户配置 “作为服务登录”。 有关详细信息,请参阅 验证 gMSA 帐户是否具有所需权限。
原因 3
如果域控制器的 Kerberos 票证是在将域控制器添加到具有适当权限的安全组之前签发的,则该组将不会包含在 Kerberos 票证中。 因此,它无法检索 gMSA 帐户的密码。
解决方法 3:
执行以下操作之一来解决此问题:
重新启动域控制器。
清除 Kerberos 票证,强制域控制器请求新的 Kerberos 票证。 在域控制器上的管理员命令提示符下运行以下命令:
klist -li 0x3e7 purge将检索 gMSA 密码的权限分配给域控制器已是其成员的组,例如域控制器组。
拒绝访问注册表项“Global”。
传感器服务无法启动,并且传感器日志包含类似于以下内容的条目:
2021-01-19 03:45:00.0000 Error RegistryKey System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
原因:
为此域控制器或 AD FS/AD CS 服务器配置的 gMSA 无权访问性能计数器的注册表项。
解决办法:
将 gMSA 添加到服务器上的 “性能日志用户” 组。
报表下载内容不能包含超过 300,000 条记录
Defender for Identity 不支持每个报表包含超过 300,000 个条目的报表下载。 如果包含超过 300,000 个条目,则报表呈现为不完整。
原因:
这是一个工程限制。
解决办法:
没有已知的解决方法。
传感器无法枚举事件日志
如果您在 Defender for Identity 控制台中发现安全事件警报或逻辑活动数量很少,或者根本没有,但未触发任何运行状况问题。
传感器日志条目:
Error EventLogException System.Diagnostics.Eventing.Reader.EventLogException: The handle is invalid at void System.Diagnostics.Eventing.Reader.EventLogException.Throw(int errorCode) at object System.Diagnostics.Eventing.Reader.NativeWrapper.EvtGetEventInfo(EventLogHandle handle, EvtEventPropertyId enumType) at string System.Diagnostics.Eventing.Reader.EventLogRecord.get_ContainerLog()
原因:
任意访问控制列表限制本地服务帐户对所需事件日志的访问。
解决办法:
确保自主访问控制列表 (DACL) 包含以下条目(这是 AATPSensor 服务的 SID)。
(A;;0x1;;;S-1-5-80-818380073-2995186456-1411405591-3990468014-3617507088)
检查安全事件日志的 DACL 是否由 GPO 配置:
Policies > Administrative Templates > Windows Components > Event Log Service > Security > Configure log access
将上面的条目追加到现有策略。 然后运行 C:\Windows\System32\wevtutil.exe gl security 以验证是否已添加条目。
本地 Defender for Identity 日志现在应显示:
Info WindowsEventLogReader EnableEventLogWatchers EventLogWatcher enabled [name=Security]
ApplyInternal 无法通过双向 SSL 连接到服务错误
如果在传感器安装过程中收到以下错误: ApplyInternal 与服务的双向 SSL 连接失败 ,并且传感器日志包含类似于 以下内容的条目:
2021-01-19 03:45:00.0000 Error CommunicationWebClient+\<SendWithRetryAsync\>d__9`1 ApplyInternal 无法通过双向 SSL 连接到服务。
此问题可能是由启用了 SSL 检查的代理引起的。
[_workspaceApplicationSensorApiEndpoint=Unspecified/contoso.atp.azure.com:443 Thumbprint=CC33DD44EE55FF66AA77BB88CC99DD00EE11FF22]'
原因:
当 SystemDefaultTlsVersions 或 SchUseStrongCrypto 注册表值未设置为默认值 1 时,可能会导致此问题。
解决办法:
验证 SystemDefaultTlsVersions 和 SchUseStrongCrypto 注册表值是否设置为 1:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
在安装了 KB5009557 的 Windows Server 2019 上安装传感器或在具有强化 EventLog 权限的服务器上安装传感器时出现问题
安装传感器可能会失败并显示错误消息:
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
解决办法:
此问题有两种可能的解决方法:
使用 PSExec 安装传感器:
psexec -s -i "C:\MDI\Azure ATP Sensor Setup.exe"使用配置为以 LocalSystem 身份运行的计划任务安装传感器。 Defender for Identity 传感器静默安装中提到了要使用的命令行语法。
因证书管理客户端导致传感器安装失败
如果传感器安装失败,并且 Microsoft.Tri.Sensor.Deployment.Deployer.log 文件包含类似于以下内容的条目:
2022-07-15 03:45:00.0000 Error IX509CertificateRequestCertificate2 Deployer failed [arguments=128Ve980dtms0035h6u3Bg==] System.Runtime.InteropServices.COMException (0x80090008): CertEnroll::CX509CertificateRequestCertificate::Encode: Invalid algorithm specified. 0x80090008 (-2146893816 NTE_BAD_ALGID)
原因:
当证书管理客户端(如 Entrust Entelligence Security Provider,简称 EESP)阻止传感器安装程序在计算机上创建自签名证书时,可能会导致此问题。
解决办法:
卸载证书管理客户端,安装 Defender for Identity 传感器,然后重新安装证书管理客户端。
注意
自签名证书每两年续订一次,如果证书管理客户端阻止创建自签名证书,则自动续订过程可能会失败。 这会导致传感器停止与后端通信,这需要使用上述解决方法重新安装传感器。
由于网络连接问题,传感器安装失败
如果传感器安装失败,错误代码为 0x80070643,并且安装日志文件包含类似于以下内容的条目:
[22B8:27F0][2016-06-09T17:21:03]e000: Error 0x80070643: Failed to install MSI package.
原因:
当安装过程无法访问用于传感器注册的 Defender for Identity 云服务时,可能会导致此问题。
解决办法:
确保传感器可以直接浏览到 *.atp.azure.com 或通过配置的代理浏览。 如果需要,请使用命令行设置安装的代理服务器设置:
"Azure ATP sensor Setup.exe" [ProxyUrl="http://proxy.internal.com"] [ProxyUserName="domain\proxyuser"] [ProxyUserPassword="ProxyPassword"]
有关详细信息,请参阅使用代理配置执行静默安装以及安装 Microsoft Defender for Identity 传感器。
重要
Microsoft建议使用最安全的身份验证流。 此过程中所述的身份验证流要求对应用程序具有很高的信任度,并且具有其他流中不存在的风险。 仅当其他更安全的流(如托管标识)不可行时,才应使用此流。
传感器服务无法运行,并保持“正在启动”状态
以下错误将显示在事件查看器中的系统日志中:
- DLL“C:\Windows\system32\mscoree.dll”中服务“.NETFramework”的 Open 过程失败,错误代码为“拒绝访问”。 此服务的性能数据将不可用。
- DLL“C:\Windows\System32\Secur32.dll”中服务“Lsa”的 Open 过程失败,错误代码为“访问被拒绝”。 此服务的性能数据将不可用。
- DLL“C:\Windows\system32\wbem\wmiaprpl.dll”中服务“WmiApRpl”的 Open 过程失败,错误代码为“设备未就绪”。 此服务的性能数据将不可用。
Microsoft.TriSensorError.log 将包含类似于以下内容的错误:
Microsoft.Tri.Sensor.DirectoryServicesClient.TryCreateLdapConnectionAsync(DomainControllerConnectionData domainControllerConnectionData, bool isGlobalCatalog, bool isTraversing) 2021-07-13 14:56:20.2976 Error DirectoryServicesClient Microsoft.Tri.Infrastructure.ExtendedException: Failed to communicate with configured domain controllers at new Microsoft.Tri.Sensor.DirectoryServicesClient(IConfigurationManager
原因:
NT Service\All Services 没有作为服务登录的权限。
解决办法:
将“作为服务登录”添加到域控制器策略中。 有关详细信息,请参阅 验证 gMSA 帐户是否具有所需权限。
由于 Microsoft Entra ID 中已存在同名的安全组,因此未创建你的工作区
原因:
当 Defender for Identity 工作区许可证过期并在保留期结束后被删除,但 Microsoft Entra 组未被删除时,可能会出现此问题。
解决办法:
- 转到 Azure 门户 ->Microsoft Entra ID ->Groups
- 将以下三个组重命名(其中 workspaceName 是您的工作区名称),方法是为它们添加“ - old”后缀:
- “Azure ATP workspaceName 管理员” -> “Azure ATP workspaceName 管理员 - 旧”
- “Azure ATP workspaceName Viewer” -> “Azure ATP workspaceName Viewer - old”
- “Azure ATP workspaceName Users” -> “Azure ATP workspaceName Users - old”
- 然后,可以返回到Microsoft Defender门户中的“设置 ->标识”部分,为 Defender for Identity 创建新工作区。
Entra Connect 传感器在更新 Microsoft Entra Connect 后遇到数据库权限丢失的情况
原因:
更新 Microsoft Entra Connect 可能会导致Entra Connect 传感器丢失以前配置的数据库权限。 若要进行调查,请检查 Microsoft Defender 日志中是否存在相关指示信息。 有关日志位置和更多详细信息,请参阅使用 Defender for Identity 日志排查 Microsoft Defender for Identity 传感器的问题。
可能指示问题的示例日志:
GetEntraConnectGlobalSettingsAsync GetEntraConnectGlobalSettingsAsync failed. Exception - The EXECUTE permission was denied on the object 'mms_get_globalsettings', database Contoso', schema 'dbo'
GetEntraConnectConnectivityParametersAsync GetEntraConnectConnectivityParametersAsync failed. Exception - The EXECUTE permission was denied on the object 'mms_get_connectors', database Contoso, schema 'dbo'
解决办法:
如果需要重新配置权限,请按照 本指南中概述的步骤操作。
在传感器 v3 上保留审核运行状况警报
在某些 v3 传感器环境中,即使已正确配置 Windows 审计,审计运行状况警报也可能仍然持续存在。 这主要发生在手动审核配置中,例如使用 组策略 或 PowerShell。 传感器保持正常运行,检测不受影响。 若要解决此问题,请在 Defender for Identity 门户中的“设置高级功能”>下启用自动 Windows 审核配置。
不支持 Windows Server 2025 传感器 v3.x 迁移
目前不支持将运行 Windows Server 2025 的域控制器迁移到传感器 v3.x。 在 Windows Server 2025 域控制器上继续使用 v2.x 传感器,直到支持迁移到 v3.x。