PowerScale: OneFS: So finden Sie doppelte Service Principal Names (SPNs) in Active Directory, die verhindern, dass sich SMB-Clients beim Cluster authentifizieren können
Summary: So identifizieren Sie doppelte Dienstprinzipalnamen in Active Directory, die dazu führen können, dass die Kerberos-Authentifizierung fehlschlägt.
Symptoms
Identifizieren doppelter SPNs in Active Directory-Domains:
Doppelte SPN-Namen können bei der Authentifizierung am Cluster zu Anmeldefehlern bei Servicekonto- und Clientanmeldungen führen.
Ein doppelter SPN kann dazu führen, dass ein Client versucht, sich beim falschen System zu authentifizieren, oder dass er über den falschen Kerberos-Schlüssel verfügt.
Referenz: http://technet.microsoft.com/en-us/library/cc772897%28v=ws.10%29.aspx
SMB-Clients, die sich mit SmartConnect-Zonennamen oder -Aliasnamen authentifizieren, können sich möglicherweise nicht bei den Clusterfreigaben authentifizieren.
In Domain-Controller-Protokollen oder im "/var/log/lsassd.log" können die folgenden Meldungen darauf hinweisen, dass doppelte SPNs vorhanden sind.
KDC_ERR_PRINCIPAL_NOT_UNIQUE - Multiple entries in database
KRB_AP_ERR_MODIFIED Message stream modified errors
Event ID 11 and/or Event ID 4 on Domain controllers can indicate duplicate SPNs.Cause
Die falsche Konfiguration von SPNs in der Active Directory-Umgebung kann zu Duplikaten führen.
Resolution
Verfahren
Es gibt zwei Optionen, die verwendet werden können, um doppelte SPNs zu finden. Setspn ist ein Befehlszeilendienstprogramm und LDP ist eine grafische Oberfläche, die nur unter Windows Server 2003 und höher verfügbar ist.
Verwenden von setspn
Setspn, das in Windows 7, 8, Server 2008 und 2012 enthalten ist. Für Windows Server 2003 kann es über den folgenden Link abgerufen werden: http://support.microsoft.com/kb/970536
Verwenden Sie in der Windows-Befehlszeilenschnittstelle "setspn /?" als zusätzliche Optionen für den Befehl.
Duplikate werden mithilfe von "setspn -x" gefunden. Dies durchsucht die gesamte Gesamtstruktur und kann in großen Umgebungen einige Zeit in Anspruch nehmen.
Der Befehl "setspn q" fragt nach SPN-Name ab und eignet sich möglicherweise besser für größere Umgebungen.
Beispiel 1:
Der SPN "HOST/chomper.test.isilon.com" ist sowohl beim Cluster "isicluster1" als auch bei einem Windows-Server namens "win2k1" registriert.
C:>setspn -x
Checking domain DC=test,DC=isilon,DC=com
Processing Entry 0
HOST/chomper.test.isilon.com is registered on these accounts
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
Found 1 group of duplicate SPNs.
Beispiel 2:
Stellen Sie in größeren Umgebungen eine Abfrage mit "setspn q <SPN">oder LDP wie unten gezeigt vor.
C:>setspn -q HOST/chomper.test.isilon.com
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
HOST/isicluster1
HOST/isicluster1.test.isilon.com
CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
HOST/win2k1
HOST/win2k1.test.isilon.com
Existing SPN found!
Wenn an anderer Stelle in der Umgebung ein SPN mit einer anderen Serviceklassenkennung vorhanden ist, z. B. CIFS, wird er nicht mit "setspn -x" gefunden. Sie können danach suchen, indem Sie eine Platzhaltersuche ausführen:
C:\>setspn -q */isilon
Checking domain DC=test,DC=Isilon,DC=com
CN=isicluster2,CN=Computers,DC=test,DC=isilon,DC=com
cifs/chomper.test.isilon.com
LDP verwenden: http://support.microsoft.com/kb/321044
- Klicken Sie auf Start, auf Ausführen, geben Sie LDP ein und klicken Sie dann auf OK.
- Klicken Sie auf Verbindung und dann auf Verbinden.
- Behalten Sie die Standardeinstellungen bei und klicken Sie dann auf OK.
Hinweis: Wenn Sie nicht das erwartete Ergebnis erhalten, versuchen Sie eine weitere Suche, indem Sie den globalen Katalogport (3268) anstelle der Standardeinstellung (389) verwenden. - Klicken Sie auf Verbindung und dann auf Binden.
- Behalten Sie die Standardeinstellungen bei und klicken Sie dann auf OK.
- Klicken Sie auf View und dann auf Tree.
- Geben Sie im Dialogfeld Strukturansicht im Feld BaseDN DC=test,DC=isilon,DC=com ein
- Klicken Sie auf Durchsuchen und dann auf Suchen.
- Geben Sie im Dialogfeld Search im Feld BaseDN DC=test,DC=isilon,DC=com ein.
- Geben Sie im Dialogfeld Search (serviceprincipalname=HOST/<sczonename>) in das Feld Filter ein
- Geben Sie im Dialogfeld Attribute den Namen servicePrincipalName ein.
- Klicken Sie unter Scope auf Subtree.
- Klicken Sie auf "Ausführen" und schließen Sie das Dialogfeld "Suchen ".
- Bei doppelten SPNs werden zwei Einträge aufgelistet, die auf zwei verschiedene DNs verweisen.
***Searching
ldap_search_s(Id, DC=test,DC=isilon,DC=com ,2,
(serviceprincipalname=HOST/chomper.test.isilon.com) ,attrList, 0 &msg)
Getting 2 entries:
Dn: CN=ISICLUSTER1,CN=Computers,DC=test,DC=isilon,DC=com
servicePrincipalName (3): HOST/isicluster1; HOST/isicluster1.test.isilon.com;
HOST/chomper.test.isilon.com
Dn: CN=WIN2K1,CN=Computers,DC=test,DC=isilon,DC=com
servicePrincipalName (3): HOST/win2k1; HOST/win2k1.test.isilon.com;
HOST/chomper.test.isilon.com
Auflösung:
Der doppelte Eintrag für win2k1 für "HOST/chomper.test.isilon.com" sollte aus der Active Directory-Domäne entfernt werden.
Der doppelte Eintrag kann von einem Nutzer mit Domain-Admin-, Enterprise-Admin- oder angegebenen Domain-Administrationsrechten in der Active Directory-Domain entfernt werden.
Der Befehl zum Entfernen eines doppelten Eintrags lautet "setspn -D <spn><accountname>".
C:>setspn D HOST/chomper.test.isilon.com win2k1
Unregistering ServicePrincipalnames for CN=win2k1,CN=Computers,DC=test,DC=isilon,DC=com
HOST/chomper.test.isilon.com
Updated object
Die obige Ausgabe bestätigt, dass die Registrierung von "HOST/chomper.test.isilon.com" auf dem Computer win2k1 aufgehoben wurde. Es ist jetzt nur noch für das ISICLUSTER1 Computerkonto registriert.
Additional Information
Zugehörige Artikel:
"Authentifizierungsservices können fehlschlagen, wenn der Serviceprinzipalname (SPN) falsch ist oder fehlt."89649
"OneFS: Anleitung zum Erstellen von SPN-Konten, um die Kerberos-Authentifizierung mithilfe von SmartConnect-DNS-Einträgen zu ermöglichen"16528
"Anzeigen einer SPN-Liste in einer Microsoft Active Directory-Umgebung",16589
"SQL-Client kann Dateien aus einem Isilon-Cluster nicht in eine SQL-Datenbank einfügen", 89574
"Aktivieren von Mac OS X Single Sign-On (SSO) für Active Directory-fähige CIFS-Freigaben in OneFS 5.5.x bis 6.5.x, "16675
", Isilon OneFS 7.1.0.0: SMB2-Clients können keine Verbindung mit dem Cluster über Kerberos-Authentifizierung herstellen",174024
OneFS: Service Principal Names for Kerberos Authentication", 187999