Les clients Kerberos autorisent les noms d’hôte d’adresses IPv4 et IPv6 dans les noms de principal de service (SPN)

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016

À compter de Windows 10 version 1507 et de Windows Server 2016, les clients Kerberos peuvent être configurés pour prendre en charge les noms d’hôte IPv4 et IPv6 dans les SPN.

Par défaut, Windows ne tente pas l’authentification Kerberos pour un hôte si le nom d’hôte est une adresse IP. Il utilise les autres protocoles d’authentification activés comme NTLM. Toutefois, les applications sont parfois codées en dur pour utiliser des adresses IP, ce qui signifie que l’application utilise NTLM et non pas Kerberos. Cela peut entraîner des problèmes de compatibilité quand les environnements désactivent NTLM.

Pour réduire l’impact de la désactivation de NTLM, une nouvelle fonctionnalité a été introduite qui permet aux administrateurs d’utiliser des adresses IP comme noms d’hôte dans les noms de principal de service. Cette fonctionnalité est activée sur le client avec une valeur de clé de Registre.

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

Pour configurer la prise en charge des noms d’hôte d’adresse IP dans les SPN, créez une entrée TryIPSPN. Par défaut, cette entrée n’existe pas dans le Registre. Après avoir créé l’entrée, remplacez la valeur DWORD par 1. Cette valeur de Registre doit être définie sur chaque machine cliente qui doit accéder aux ressources protégées par Kerberos pour chaque adresse IP.

Configuration d’un nom de principal de service comme adresse IP

Un nom de principal de service est un identificateur unique utilisé pendant l’authentification Kerberos pour identifier un service sur le réseau. Un SPN est composé d’un service, d’un nom d’hôte et éventuellement d’un port au format service/hostname[:port], par exemple host/fs.contoso.com. Windows inscrit plusieurs SPN sur un objet d’ordinateur quand une machine est jointe à Active Directory.

Les adresses IP ne sont normalement pas utilisées à la place des noms d’hôte, car elles sont souvent temporaires. Cela peut entraîner des conflits et des échecs d’authentification quand les baux des adresses expirent et se renouvellent. Par conséquent, l’inscription d’un SPN basé sur une adresse IP est un processus manuel qui doit être utilisé seulement quand il est impossible de basculer vers un nom d’hôte DNS.

L’approche recommandée est d’utiliser l’outil Setspn.exe. Notez qu’un SPN peut être inscrit seulement sur un compte à la fois dans Active Directory, les adresses IP doivent donc avoir des baux statiques si DHCP est utilisé.

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

Exemple :

Setspn -s host/192.168.1.1 server01