На моих новых ящиках Azure 2012r2 в DMZ я не могу получить запрос WMI для работы со ссылкой на полное доменное имя. Эти запросы выполняются с локального компьютера, но для работы с нашим решением мониторинга необходимо ссылаться на него по полному доменному имени.
Это ошибка с «отказано в доступе». Имя хоста, общедоступный 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 (неверное имя пользователя или информация для аутентификации).
Это мера безопасности, предназначенная для предотвращения атак, которые полагаются на указание имен удаленных служб обратно на адрес обратной связи (127.0.0.1
) для дальнейшей эксплуатации.
Вы можете разрешить определенным полным доменным именам представлять интерфейс обратной связи, отключив строгую проверку имен и добавив полные доменные имена в реестр:
Отключить строгую проверку имени:
Set-ItemProperty HKLM:\System\CurrentControlSet\Services\LanmanServer\Parameters DisableStrictNameChecking -Value 1 -Type DWord -Force
Добавьте полные доменные имена в реестр:
Set-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0 BackConnectionHostNames -Value "passport.external.mydomain.org" -Type MultiString -Force