Клиенты Kerberos разрешают имена узлов адресов IPv4 и IPv6 в именах субъектов-служб (SPN)

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

Начиная с Windows 10 версии 1507 и Windows Server 2016 клиенты Kerberos можно настроить для поддержки имен узлов IPv4 и IPv6 в именах субъектов-служб.

По умолчанию Windows не попытается выполнить проверку подлинности Kerberos для узла, если имя узла является IP-адресом. Он будет возвращаться к другим включенным протоколам проверки подлинности, таким как NTLM. Однако приложения иногда жестко закодируются для использования IP-адресов, что означает, что приложение вернется к NTLM и не использует Kerberos. Это может привести к проблемам совместимости при перемещении сред, чтобы отключить NTLM.

Чтобы уменьшить влияние отключения NTLM, появилась новая возможность, которая позволяет администраторам использовать IP-адреса в качестве имен узлов в именах субъектов-служб. Эта возможность включена на клиенте с помощью значения раздела реестра.

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters" /v TryIPSPN /t REG_DWORD /d 1 /f

Чтобы настроить поддержку имен узлов IP-адресов в именах субъектов-служб, создайте запись TryIPSPN. Эта запись не существует в реестре по умолчанию. После создания записи измените значение DWORD на 1. Это значение реестра необходимо задать на каждом клиентском компьютере, который должен получить доступ к ресурсам, защищенным Kerberos, по IP-адресу.

Настройка имени субъекта-службы в качестве IP-адреса

Имя субъекта-службы — это уникальный идентификатор, используемый во время проверки подлинности Kerberos для идентификации службы в сети. Имя субъекта-службы состоит из службы, имени узла и при необходимости порта в виде service/hostname[:port] такого типа host/fs.contoso.com. Windows зарегистрирует несколько субъектов-служб в объекте компьютера при присоединении компьютера к Active Directory.

IP-адреса обычно не используются вместо имен узлов, так как IP-адреса часто являются временными. Это может привести к конфликтам и сбоям проверки подлинности, так как срок действия аренды адреса истекает и обновляется. Таким образом, регистрация имени субъекта-службы на основе IP-адресов является ручным процессом и должна использоваться только в том случае, если невозможно переключиться на dns-имя узла.

Рекомендуемый подход — использовать средство Setspn.exe . Обратите внимание, что имя субъекта-службы можно зарегистрировать только в одной учетной записи в Active Directory за раз, поэтому рекомендуется использовать статические аренды IP-адресов, если используется DHCP.

Setspn -s <service>/ip.address> <domain-user-account>

Пример:

Setspn -s host/192.168.1.1 server01