Os clientes Kerberos permitem nomes do host de endereços IPv4 e IPv6 em SPNs (Nomes da Entidade de Serviço)

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016

A partir do Windows 10 versão 1507 e do Windows Server 2016, os clientes Kerberos podem ser configurados para dar suporte a nomes do host IPv4 e IPv6 em SPNs.

Por padrão, o Windows não tentará a autenticação Kerberos para um host se o nome do host for um endereço IP. Ele fará fallback para outros protocolos de autenticação habilitados, como o NTLM. No entanto, os aplicativos às vezes são codificados para usar endereços IP, o que significa que o aplicativo voltará ao NTLM e não usará o Kerberos. Isso pode causar problemas de compatibilidade conforme os ambientes se movem para desabilitar o NTLM.

Para reduzir o impacto da desabilitação do NTLM, foi introduzido um novo recurso que permite aos administradores usarem endereços IP como nomes do host em Nomes da Entidade de Serviço. Essa funcionalidade é habilitada no cliente por meio de um valor de chave do Registro.

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

Para configurar o suporte para nomes do host de endereço IP em SPNs, crie uma entrada TryIPSPN. Essa entrada não existe no Registro por padrão. Após criar a entrada, altere o valor DWORD para 1. Esse valor do Registro precisará ser definido em cada computador cliente que precisar acessar recursos protegidos por Kerberos pelo endereço IP.

Configurar um nome de entidade de serviço como endereço IP

Um Nome da Entidade de Serviço é um identificador exclusivo usado durante a autenticação Kerberos para identificar um serviço na rede. Um SPN é composto por um serviço, nome do host e, opcionalmente, uma porta em forma de service/hostname[:port], como host/fs.contoso.com. O Windows registrará vários SPNs em um objeto de computador quando um computador for conectado ao Active Directory.

Os endereços IP não são normalmente usados no lugar de nomes de host porque endereços IP geralmente são temporários. Isso pode levar a conflitos e falhas de autenticação à medida que as concessões de endereço expiram e são renovadas. Portanto, registrar um SPN baseado em endereço IP é um processo manual e só deve ser usado quando for impossível alternar para um nome do host baseado em DNS.

A abordagem recomendada é usar a ferramenta Setspn.exe. Observe que um SPN só pode ser registrado em uma única conta no Active Directory por vez. Assim, é recomendável que os endereços IP tenham concessões estáticas se o DHCP for usado.

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

Exemplo:

Setspn -s host/192.168.1.1 server01