排查Linux上Microsoft Defender for Endpoint的云连接问题

运行连接测试

若要测试 Linux 上的Microsoft Defender for Endpoint是否可以使用当前网络设置与云通信,请从命令行运行连接测试:

mdatp connectivity test

预期输出:

Testing connection with https://cdn.x.cp.wd.microsoft.com/ping ... [OK]
Testing connection with https://eu-cdn.x.cp.wd.microsoft.com/ping ... [OK]
Testing connection with https://wu-cdn.x.cp.wd.microsoft.com/ping ... [OK]
Testing connection with https://x.cp.wd.microsoft.com/api/report ... [OK]
Testing connection with https://winatp-gw-cus.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-eus.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-weu.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-neu.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-ukw.microsoft.com/test ... [OK]
Testing connection with https://winatp-gw-uks.microsoft.com/test ... [OK]
Testing connection with https://eu-v20.events.data.microsoft.com/ping ... [OK]
Testing connection with https://us-v20.events.data.microsoft.com/ping ... [OK]
Testing connection with https://uk-v20.events.data.microsoft.com/ping ... [OK]
Testing connection with https://v20.events.data.microsoft.com/ping ... [OK]

如果连接测试失败,检查设备是否具有 Internet 访问权限。 此外,检查以查看代理或防火墙是否阻止了网络连接。 有关详细信息,请参阅 验证设备是否可以连接到 Defender for Endpoint 云服务

检查连接是否在 SSL 或 HTTPS 检查下。 如果是这样,请将Microsoft Defender for Endpoint添加到允许列表。

出现 curl 错误 35 或 60 的失败通常表示 TLS/SSL 检查导致证书固定被拒绝。 有关诊断步骤和解决方法,请参阅 TLS/SSL 检查

TLS/SSL 检查

Linux 上的Microsoft Defender for Endpoint不支持 TLS/SSL 检查。

症状或错误 它指示的内容 所需操作
curl error 60 证书验证失败。 TLS/SSL 检查处于活动状态。 配置绕过。
CERTIFICATE_VERIFY_FAILED 已替换证书链。 TLS/SSL 检查处于活动状态。 配置绕过。
HTTP 502 Bad Gateway 代理或防火墙中断的 TLS 会话。 TLS/SSL 检查处于活动状态。 配置绕过。

若要验证是否启用了 TLS/SSL 检查,请运行以下命令:

curl -v https://winatp-gw-weu.microsoft.com 2>&1 | grep "issuer"
curl -v https://packages.microsoft.com 2>&1 | grep "issuer"

在输出中查看证书颁发者。 颁发者必须是Microsoft,而不是 CA) (代理证书颁发机构。 如果它反映了组织的代理或防火墙证书颁发机构 (CA) ,则 TLS/SSL 检查处于活动状态,并中断Microsoft Defender for Endpoint连接。

请确保在代理或防火墙上免除所有Microsoft Defender for Endpoint服务域的 TLS/SSL 检查。 应用更改后,运行:

sudo systemctl restart mdatp
mdatp connectivity test

无代理或具有透明代理的环境的故障排除步骤

若要测试在没有代理或透明代理的环境中是否阻止连接,请在终端中运行以下命令:

curl -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'https://cdn.x.cp.wd.microsoft.com/ping'

此命令的输出应类似于:

OK https://x.cp.wd.microsoft.com/api/report
OK https://cdn.x.cp.wd.microsoft.com/ping

使用静态代理的环境故障排除步骤

警告

不支持 PAC、WPAD 和经过身份验证的代理。 确保仅使用静态代理或透明代理。

出于安全原因,不支持 SSL 检查和拦截代理。 配置 SSL 检查和代理服务器的异常,以便直接将数据从 Linux 上的 Defender for Endpoint 传递到相关 URL,而无需拦截。 将拦截证书添加到全局存储区不允许拦截。

如果需要静态代理,请将代理参数添加到上述命令,其中 proxy_address:port 对应于代理地址和端口:

curl -x http://proxy_address:port -w ' %{url_effective}\n' 'https://x.cp.wd.microsoft.com/api/report' 'https://cdn.x.cp.wd.microsoft.com/ping'

使用文件中配置的 /lib/system/system/mdatp.service 相同代理地址和端口。 如果看到上述命令中的错误,请检查代理配置。

若要设置 mdatp 的代理,请使用以下命令:

mdatp config proxy set --value http://address:port 

如果命令成功,请尝试从命令行进行另一个连接测试:

mdatp connectivity test

如果问题仍然存在,请联系客户支持。

资源

有关如何将产品配置为使用静态代理的详细信息,请参阅配置静态代理发现Microsoft Defender for Endpoint