Freigeben über


Kerberos-Clients unterstützen IPv4- und IPv6-Adresshostnamen in Dienstprinzipalnamen (SPNs)

Ab Windows 10 (Version 1507) und Windows Server 2016 können Kerberos-Clients so konfiguriert werden, dass IPv4- und IPv6-Hostnamen in SPNs unterstützt werden.

Standardmäßig versucht Windows keine Kerberos-Authentifizierung für einen Host, wenn der Hostname eine IP-Adresse ist. Stattdessen wird auf andere aktivierte Authentifizierungsprotokolle wie NTLM zurückgegriffen. Anwendungen sind jedoch manchmal für die Verwendung von IP-Adressen hartcodiert. Das bedeutet, dass die Anwendung auf NTLM zurückgreift und nicht Kerberos verwendet. Dies kann zu Kompatibilitätsproblemen führen, wenn Umgebungen zum Deaktivieren von NTLM wechseln.

Um die Auswirkungen einer Deaktivierung von NTLM zu verringern, wurde eine neue Funktion eingeführt, mit der Administratoren IP-Adressen als Hostnamen in Dienstprinzipalnamen verwenden können. Diese Funktion wird auf dem Client über einen Registrierungsschlüsselwert aktiviert.

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

Zum Konfigurieren der Unterstützung für IP-Adresshostnamen in SPNs erstellen Sie einen TryIPSPN-Eintrag. Dieser Eintrag ist nicht standardmäßig in der Registrierung vorhanden. Nachdem Sie den Eintrag erstellt haben, ändern Sie den DWORD-Wert in 1. Dieser Registrierungswert muss auf jedem Clientcomputer festgelegt werden, der über die IP-Adresse auf Kerberos-geschützte Ressourcen zugreifen muss.

Konfigurieren eines Dienstprinzipalnamens als IP-Adresse

Ein Dienstprinzipalname (Service Principal Name, SPN) ist ein eindeutiger Bezeichner, der während der Kerberos-Authentifizierung verwendet wird, um einen Dienst im Netzwerk zu identifizieren. Ein SPN besteht aus einem Dienst, einem Hostnamen und optional einem Port in der Form service/hostname[:port], z. B. host/fs.contoso.com. Windows registriert mehrere SPNs für ein Computerobjekt, wenn ein Computer in Active Directory eingebunden wird.

IP-Adressen werden normalerweise nicht anstelle von Hostnamen verwendet, da IP-Adressen häufig temporär sind. Dies kann zu Konflikten und Authentifizierungsfehlern führen, wenn Adressleases ablaufen und verlängert werden. Daher ist die Registrierung eines auf einer IP-Adresse basierenden SPN ein manueller Prozess und sollte nur verwendet werden, wenn ein Wechsel zu einem DNS-basierten Hostnamen nicht möglich ist.

Die empfohlene Vorgehensweise ist die Verwendung des Tools toolSetspn.exe. Beachten Sie, dass ein SPN jeweils nur für ein einzelnes Konto in Active Directory registriert werden kann. Daher werden bei Verwendung von DHCP statische Leases für IP-Adressen empfohlen.

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

Beispiel:

Setspn -s host/192.168.1.1 server01