PowerScale: OneFS: Como localizar SPNs (Service Principal Names, nomes da entidade de serviço) duplicados no Active Directory, impedindo que clients SMB se autentiquem no cluster
Summary: Como identificar nomes duplicados da entidade de serviço no Active Directory, o que pode causar falha na autenticação Kerberos.
Symptoms
Identificar SPNs duplicados em domínios do Active Directory:
Nomes de SPN duplicados podem causar falhas de log-in para logins de contas de serviço e logins de client durante a autenticação no cluster.
Um SPN duplicado pode fazer com que um client tente se autenticar no sistema errado ou esteja com a chave Kerberos errada.
Referência: http://technet.microsoft.com/en-us/library/cc772897%28v=ws.10%29.aspx
clients SMB que se autenticam usando aliases ou nomes de zona do SmartConnect podem não conseguir se autenticar nos compartilhamentos de cluster.
Nos logs do controlador de domínio ou em "/var/log/lsassd.log", as seguintes mensagens podem indicar a presença de SPNs duplicados.
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
A configuração incorreta de SPNs no ambiente do Active Directory pode resultar em duplicações.
Resolution
Procedimento
Há duas opções que podem ser usadas para localizar SPNs duplicados. Setspn é um utilitário de linha de comando e LDP é uma interface gráfica disponível apenas no Windows Server 2003 e superior.
Usando setspn
Setspn que está no Windows 7, 8, Server 2008 e 2012. Para o Windows Server 2003, ele pode ser obtido usando o seguinte link: http://support.microsoft.com/kb/970536
Na interface de linha de comando do Windows, use "setspn /?" para obter opções adicionais para o comando.
As duplicatas são encontradas usando "setspn -x", que pesquisa toda a floresta e pode levar tempo para ser processada em ambientes grandes.
O comando "setspn q" consulta pelo nome do SPN e pode ser melhor para ambientes maiores.
Exemplo 1:
O SPN "HOST/chomper.test.isilon.com" é registrado no cluster chamado "isicluster1" e também em um servidor Windows chamado "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.
Exemplo 2:
Em ambientes maiores, consulte usando "setspn q <SPN>"ou use LDP conforme mostrado abaixo.
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 houver um SPN em outro lugar do ambiente com um identificador de classe de serviço diferente, como CIFS, ele não será encontrado com "setspn -x". Você pode pesquisá-lo executando uma pesquisa de curinga:
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
Usando LDP: http://support.microsoft.com/kb/321044
- Clique em Iniciar , clique em Executar , digite LDP e, em seguida, clique em OK .
- Clique em Conexão e, em seguida, clique em Conectar.
- Deixe as configurações padrão e clique em OK.
Nota: Se você não receber o resultado esperado, tente outra pesquisa usando a porta de catálogo global (3268) em vez da configuração padrão (389). - Clique em Conexão e, em seguida, clique em Vincular.
- Deixe as configurações padrão e clique em OK.
- Clique em Exibir e, em seguida, clique em Árvore.
- Na caixa de diálogo Modo de exibição em árvore, digite DC=teste,DC=isilon,DC=com na caixa BaseDN
- Clique em Procurar e, em seguida, clique em Pesquisar.
- Na caixa de diálogo Pesquisar , digite DC=teste,DC=isilon,DC=com na caixa BaseDN .
- Na caixa de diálogo Pesquisar, digite (serviceprincipalname=HOST/<sczonename>) na caixa Filtro
- Na caixa de diálogo Atributos , digite servicePrincipalName.
- Em Scope, clique em Subtree.
- Clique em Executar e, em seguida, feche a caixa de diálogo Pesquisar .
- SPNs duplicados têm duas entradas listadas apontando para dois Dn diferentes
***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
Resolução:
A entrada duplicada para win2k1 para "HOST/chomper.test.isilon.com" deve ser removida do domínio do Active Directory.
A entrada duplicada é removida por um usuário com direitos de administrador de domínio, administrador corporativo ou de administração de domínio especificados no domínio do Active Directory.
O comando para remover uma entrada duplicada é "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
O resultado acima confirma que "HOST/chomper.test.isilon.com" foi cancelado do win2k1 do computador. Agora, ele só está registrado na conta da máquina ISICLUSTER1.
Additional Information
Artigos relacionados:
"Os serviços de autenticação podem falhar se o nome principal do serviço (SPN) estiver incorreto ou ausente,"89649
"OneFS: Como criar contas SPN para permitir a autenticação Kerberos usando entradas DNS do SmartConnect,"16528
"Como exibir uma lista SPN em um ambiente Microsoft Active Directory",16589
"O cliente SQL não pode "Inserir em massa" arquivos de um cluster do Isilon em um banco de dados SQL," 89574
"Como habilitar o logon único (SSO) do Mac OS X para compartilhamentos CIFS habilitados para Active Directory no OneFS 5.5.x - 6.5.x, "16675
"Isilon OneFS 7.1.0.0: Os clients SMB2 não podem se conectar ao cluster usando a autenticação Kerberos,"174024
"OneFS: Nomes da entidade de serviço para autenticação Kerberos", 187999