One option may be to move roles off, demote, reboot, promo the problematic one again.
--please don't forget to upvote
and Accept as answer
if the reply is helpful--
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Hi.
Customer has an environment with an AD forest consisting of root and child domain, each has 2 DCs.
Both DCs in the child domain (but not those in the root) contain KDC errors claiming there's a duplicate SPN of cifs\dc1.<rootNS> for a domain controller in the root domain.
Exact error:
The KDC encountered duplicate names while processing a Kerberos authentication request. The duplicate name is cifs/dc1.<rootNS> (of type DS_SERVICE_PRINCIPAL_NAME). This may result in authentication failures or downgrades to NTLM. In order to prevent this from occurring remove the duplicate entries for cifs/dc1.<rootNS> in Active Directory.
However, I haven't been able to find any duplicates using:
As a note, none of the DCs actually have a cifs/ SPN registered, which makes it even more confusing.
Furthermore, as stated above, setspn -X doesn't show any duplicates in either domains, but a forest-wide search using setspn -X -F finds number of duplicate SPNs for the problematic DC (but only when running the search from the child domain), however none of them are cifs/.
Here's the list:
Operation will be performed forestwide, it might take a while.
Processing entry 0
HOST/dc1.<rootNS> is registered on these accounts:
CN=dc1\0ACNF:481721ed-bfa1-4146-a190-1a279501cab6,CN=Computers,dc=rootdomain,dc=local
CN=dc1,OU=Domain Controllers,dc=rootdomain,dc=localHOST/dc1 is registered on these accounts:
CN=dc1\0ACNF:481721ed-bfa1-4146-a190-1a279501cab6,CN=Computers,dc=rootdomain,dc=local
CN=dc1,OU=Domain Controllers,dc=rootdomain,dc=localRestrictedKrbHost/dc1 is registered on these accounts:
CN=dc1\0ACNF:481721ed-bfa1-4146-a190-1a279501cab6,CN=Computers,dc=rootdomain,dc=local
CN=dc1,OU=Domain Controllers,dc=rootdomain,dc=localTERMSRV/dc1 is registered on these accounts:
CN=dc1\0ACNF:481721ed-bfa1-4146-a190-1a279501cab6,CN=Computers,dc=rootdomain,dc=local
CN=dc1,OU=Domain Controllers,dc=rootdomain,dc=localRestrictedKrbHost/dc1.<rootNS> is registered on these accounts:
CN=dc1\0ACNF:481721ed-bfa1-4146-a190-1a279501cab6,CN=Computers,dc=rootdomain,dc=local
CN=dc1,OU=Domain Controllers,dc=rootdomain,dc=localTERMSRV/dc1.<rootNS> is registered on these accounts:
CN=dc1\0ACNF:481721ed-bfa1-4146-a190-1a279501cab6,CN=Computers,dc=rootdomain,dc=local
CN=dc1,OU=Domain Controllers,dc=rootdomain,dc=local
So, eventlog complains about non-existent SPN, domain-wide search finds no duplicates, forest-wide does, the object (account), which the duplicate references (the renamed CNF object), doesn't exist.
Any ideas?
One option may be to move roles off, demote, reboot, promo the problematic one again.
--please don't forget to upvote
and Accept as answer
if the reply is helpful--
Hi @MarkosP
The reason you are not seeing an CIFS SPN entry is because there are a number of common SPN services that are mapped back to the host SPN entry. The services that are mapped back to the host SPN is defined by the sPNMappings attribute of the CN=Directory Service,CN=Windows NT,CN=Services,DC=<domain> object.
This the default list of services that are defined in the sPMMappings attribute and are mapped back to host SPN: alerter,appmgmt,cisvc,clipsrv,browser,dhcp,dnscache,replicator,eventlog,eventsystem,policyagent,oakley,dmserver,dns,mcsvc,fax,msiserver,ias,messenger,netlogon,netman,netdde,netddedsm,nmagent,plugplay,protectedstorage,rasman,rpclocator,rpc,rpcss,remoteaccess,rsvp,samss,scardsvr,scesrv,seclogon,scm,dcom,cifs,spooler,snmp,schedule,tapisrv,trksvr,trkwks,ups,time,wins,www,http,w3svc,iisadmin,msdtc
In your case, I would check if the HOST/dc1 SPN has been registered against multiple computer accounts using the GC with a search from the forest root down. NetTools does provide the SPN option to do this search and list which accounts the SPN has been assigned.
The other thing of note is that you have a Conflict object for dc01 in your root domain, these are caused when the same object is created at the same time on two different DCs and then causes a conflict object to be created when the DC replicate, as the DCs don't know which one is meant to be master, so it keeps a copy as a conflict object. I would look to clean up these objects as they may be causing your problem. If you can confirm that there has been no updates to this object since it was created, it would be safe to delete the object. If you are a little nervous about deleting it, I would suggest that you clear the serviceprincipalname attribute to see if it fixes your problem.
Gary.
Hi,
If you are getting the conflict objects displayed when you use the /F option on the child domains, it's likely that the GC partition on the child domain controller has the elusive object. I would browse to CN=Computers,dc=rootdomain,dc=local container using the GC on the child domain to see if you can find the object. I would also check if the object also exists in the LDAP\389 partition as well. You can do this with ADSIEdit or NetTools. If the object exists only in the GC and not the LDAP partition, understanding why GC replication is not working will be the next problem to solve, as you can't delete objects from the GC.
Gary.
The duplicate does not exist, I've tried searching using nettools, ldp, adsiedit (tried both ldap and gc) etc. from both domains and all domain controllers, none of them is showing this object.
NetTools SPN search doesn't not return the duplicates at all, I guess that search is similar to the setspn without the -F parameter.
Setspn -D won't let me delete it, since it's also claiming the account doesn't exist and -F option can't be combined with -D.
Interesting and annoying, I can't think why it's not visible, unless it's hidden in some way, maybe by permissions. I try and play with the /f option later to see if I can workout how it's doing the search.
Another option to try but not sure if this will work or not due to the potential length of the serviceprincipalname attribute, but should include enough text to include the server name at least once. You could try dumping the AD database and seeing if it's contains the addition object entry. Use this article to dump the database, just specify the serviceprincipalname as the only attribute to include, I would do it on both root and child domains. Then just search the dump files for dc1.
Gary
From the network traces for the -X -F options its a simple query against the GC at the root level down for (serviceprincipalname=*), there is no additional filters or controls used to find hidden items, one would assume that on the client side it's doing some sort of dictionary sort on all the returned SPNs to find any duplicates.
I would suggest doing a selective search against the root domain against LDAP to see if a search will find the object. Try a search using the following filter (serviceprincipalname=host/dc1*) and see what you get back from AD.
Gary.
Sign in to comment