WMI 查询不能使用 FQDN 运行?

WMI 查询不能使用 FQDN 运行?

在 DMZ 中的新 Azure 2012r2 机箱上,我无法使用 FQDN 引用运行 WMI 查询。这些查询从本地计算机运行,但需要通过 FQDN 引用它才能与我们的监控解决方案配合使用。

错误信息为“拒绝访问”。主机名、公共 IP、环回都运行正常。我该如何修复这个问题?

$objSWbemLocator = New-Object -comobject WbemScripting.SWbemLocator
$objSWbemServices = $objSWbemLocator.ConnectServer("passport.external.mydomain.org") <-- Broken
$objSWbemServices = $objSWbemLocator.ConnectServer("passport")
$objSWbemServices = $objSWbemLocator.ConnectServer("127.0.0.1")
$objSWbemServices = $objSWbemLocator.ConnectServer("10.15.14.7")

我做了一些调查,发现我遇到了与这些 WMI 问题相对应的网络登录失败问题。具体情况略有不同 - 取决于我是否passport.external.mydomain.org在 HOSTS 文件中添加了环回地址 - 但登录类型始终为 3(网络),状态为 0xC000006D(用户名或身份验证信息错误)。

答案1

这是一种安全措施,用于阻止依靠将远程服务名称指回环回地址(127.0.0.1)进行进一步利用的攻击。

您可以通过禁用严格名称检查并将 FQDN 添加到注册表来允许某些 FQDN 代表环回接口:

禁用严格名称检查

Set-ItemProperty HKLM:\System\CurrentControlSet\Services\LanmanServer\Parameters DisableStrictNameChecking -Value 1 -Type DWord -Force

将 FQDN 添加到注册表

Set-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0 BackConnectionHostNames -Value "passport.external.mydomain.org" -Type MultiString -Force

相关内容