PowerScale: OneFS: Come trovare nomi principali servizio (SPN) duplicati in Active Directory impedendo ai client SMB di eseguire l'autenticazione nel cluster
Summary: Come identificare nomi dell'entità servizio duplicati in Active Directory, che possono causare l'esito negativo dell'autenticazione Kerberos.
Symptoms
Identificare gli SPN duplicati nei domini Active Directory:
I nomi SPN duplicati possono causare errori di accesso per gli account di accesso agli account di servizio e agli accessi client durante l'autenticazione nel cluster.
Un SPN duplicato può causare un tentativo di autenticazione da parte di un client sul sistema errato o sulla chiave Kerberos errata.
Riferimento: http://technet.microsoft.com/en-us/library/cc772897%28v=ws.10%29.aspx
client SMB che eseguono l'autenticazione utilizzando nomi o alias di zona SmartConnect potrebbero non essere in grado di eseguire l'autenticazione per le condivisioni del cluster.
Nei log del controller di dominio o in "/var/log/lsassd.log", i seguenti messaggi potrebbero indicare che sono presenti SPN duplicati.
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
La configurazione errata degli SPN nell'ambiente Active Directory può causare duplicati.
Resolution
Procedimento
Sono disponibili due opzioni che possono essere utilizzate per trovare SPN duplicati. Setspn è un'utilità della riga di comando e LDP è un'interfaccia grafica disponibile solo su Windows Server 2003 e versioni successive.
Utilizzo di setspn
Setspn in Windows 7, 8, Server 2008 e 2012. Per Windows Server 2003, è possibile ottenerlo dal seguente link: http://support.microsoft.com/kb/970536
Dall'interfaccia della riga di comando di Windows, utilizzare "setspn /?" per ulteriori opzioni per il comando.
I duplicati vengono trovati utilizzando "setspn -x", che esegue la ricerca nell'intera foresta e può richiedere tempo per l'elaborazione in ambienti di grandi dimensioni.
Il comando "setspn q" esegue una query in base al nome SPN e potrebbe essere migliore per ambienti più grandi.
Esempio 1:
L'SPN "HOST/chomper.test.isilon.com" viene registrato sia nel cluster denominato "isicluster1" sia su un server Windows denominato "win2k1".
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.
Esempio 2:
In ambienti più grandi, eseguire una query utilizzando "setspn q <SPN>"o LDP come mostrato di seguito.
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!
Se è presente un SPN in un'altra posizione nell'ambiente con un identificatore di classe di servizio diverso, ad esempio CIFS, non verrà trovato con "setspn -x". È possibile cercarlo eseguendo una ricerca con caratteri jolly:
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
Utilizzo di LDP: http://support.microsoft.com/kb/321044
- Cliccare sul pulsante Start, scegliere Esegui, digitare LDP e quindi cliccare su OK.
- Cliccare su Connection, quindi su Connect.
- Lasciare le impostazioni predefinite, quindi cliccare su OK.
Nota: Se non si ottiene il risultato previsto, provare un'altra ricerca utilizzando la porta del catalogo globale (3268) anziché l'impostazione predefinita (389). - Cliccare su Connection, quindi su Bind.
- Lasciare le impostazioni predefinite, quindi cliccare su OK.
- Cliccare su View, quindi cliccare su Tree.
- Nella finestra di dialogo Tree View, digitare DC=test,DC=isilon,DC=com nella casella BaseDN
- Cliccare su Sfoglia, quindi cliccare su Cerca.
- Nella finestra di dialogo Search , digitare DC=test,DC=isilon,DC=com nella casella BaseDN .
- Nella finestra di dialogo Search digitare (serviceprincipalname=HOST/<sczonename>) nella casella Filter
- Nella finestra di dialogo Attributes digitare servicePrincipalName.
- In Scope, fare clic su Subtree.
- Cliccare su Run, quindi chiudere la finestra di dialogo Search .
- Gli SPN duplicati hanno due voci elencate che puntano a due DN diversi
***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
Risoluzione:
La voce duplicata per win2k1 per "HOST/chomper.test.isilon.com" deve essere rimossa dal dominio Active Directory.
La voce duplicata può essere rimovita da un utente con diritti di amministratore di dominio, amministratore aziendale o amministratore di dominio specificato sul dominio Active Directory.
Il comando per rimuovere una voce duplicata è "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
L'output precedente conferma che la registrazione di "HOST/chomper.test.isilon.com" è stata annullata dal computer win2k1. Ora è registrato solo nell'account del computer ISICLUSTER1.
Additional Information
Articoli correlati:
"I servizi di autenticazione possono avere esito negativo se il nome dell'entità servizio (SPN) non è corretto o mancante",89649
"OneFS: Come creare account SPN per consentire l'autenticazione Kerberos utilizzando le voci DNS SmartConnect,"16528
"Come visualizzare un elenco SPN in un ambiente Microsoft Active Directory,"16589
"Il client SQL non può "inserire in blocco" file da un cluster Isilon in un database SQL," 89574
"Come abilitare il Single Sign-On (SSO) di Mac OS X sulle condivisioni CIFS abilitate per Active Directory in OneFS 5.5.x - 6.5.x, "16675
"Isilon OneFS 7.1.0.0: I client SMB2 non possono connettersi al cluster utilizzando l'autenticazione Kerberos",174024
"OneFS: Nomi delle entità di servizio per l'autenticazione Kerberos", 187999