Isilon: Falha na autenticação por FQDN, erro "KRB5KRB_AP_ERR_MODIFIED"
Summary: Problemas na tentativa de acessar o FQDN dos compartilhamentos do Isilon. Capaz de acessar o mesmo por IP. A autenticação Kerberos falha ao usar o FQDN, mas a autenticação NTLM é bem-sucedida quando o endereço IP é usado. "Servidor não encontrado no banco de dados Kerberos" ...
Symptoms
A autenticação via FQDN apresenta falha com a seguinte mensagem de erro em lsassd.log:
cluster-2: 2019-06-11T08:15:02-07:00 <30.4> cluster-2 lsass[4680]: [LwKrb5InitializeUserLoginCredentialsS4U /b/mnt/src/isilon/fsp/lwadvapi/threaded/lwkrb5.c:1394] KRB5 Error code: -1765328377 (Message: Server not found in Kerberos database)
Essa mensagem indica que; O Isilon não consegue reconhecer o cliente que está solicitando um dos serviços que o Isilon tem a oferecer. Isso fará com que a autenticação faça failover do Kerberos porque o client não terá um tíquete válido que o Isilon possa reconhecer e descriptografar.
A mesma mensagem pode ser interpretada em rastreamentos de rede, quando você vê o Isilon [10.17.0.154] enviando o pacote "KRB5KRB_AP_ERR_MODIFIED" de volta para o client [10.106.12.162] para uma solicitação de configuração da sessão:
Cause
Isso pode acontecer por vários motivos, mas os mais comuns estão listados abaixo:
- Há uma conta com o mesmo SPN dentro da floresta. Às vezes, o KDC devolve um erro de KRB_S_PRINCIPAL_UNKNOWN, mas há casos em que ele dará um tíquete do Kerberos que o serviço [no nosso caso, é o Isilon] não pode descriptografar e, assim, obter uma KRB5KRB_AP_ERR_MODIFIED.
- O nome da entidade de serviço está na conta incorreta do Active Directory (computador ou usuário). Este é novamente um caso de SPN duplicado.
- A conta do Active Directory que está executando o serviço atualizou/alterou sua senha e você está enfrentando o problema devido a uma latência de replicação do Active Directory ou um problema de replicação do Active Directory.
Aqui, o cliente está tentando acessar um compartilhamento do Isilon usando o FQDN "mixed.isilon.com".
Agora vamos dar uma olhada no rastreamento de rede dessa tentativa.
1. Vemos uma resolução de nome apropriada para "mixed.isilon.com" e a resposta do servidor DNS com o endereço IP 10.17.0.156 (quadros 5042 & 5049)
2. Em seguida, a máquina obtém um TGT do controlador de domínio (consulte AS-REQ e AS-REP) (quadros 5082 & 5093)
3. Em seguida, a máquina solicita e recebe um tíquete de serviço para "mixed.isilon.com" (quadros 5101 e 5104). Como você pode ver abaixo, a máquina estava solicitando um tíquete Kerberos de "mixed.isilon.com"
CName significa nome do client e SName significa nome de serviço
4. Em seguida, a máquina volta para o Isilon e tenta fazer a autenticação usando o tíquete Kerberos que acabou de obter do controlador de domínio (quadros 5107 & 5111). Durante a autenticação, o Isilon responde com KRB5KRB_AP_ERR_MODIFIED (quadro 5111).
Se você vir na etapa 3, o client está recebendo o tíquete Kerberos do realm "ISILON.COM" enquanto o cluster está associado a seu domínio confiável nesse cenário para "CORP.COM". Isso significa que há um SPN duplicado registrado no ISILON.COM e o Isilon não pode descriptografar o tíquete apresentado pelo client, pois o cluster usa CORP.COM para autenticação; Isso faz com que a autenticação falhe.
Exemplo da presença de SPN:
SPNs duplicados listados em ISILON.COM e CORP.COM respectivamente
/usr/bin/isi --timeout=15 auth ads spn list ISILON.COM
SPN
--------------------------------------
nfs/mixed.isilon.com
HOST/mixed.isilon.com <===========================
nfs/synciq.isilon.com
HOST/synciq.isilon.com
nfs/cifs.isilon.com
HOST/cifs.isilon.com
--------------------------------------
Total: 6
/usr/bin/isi --timeout=15 auth ads spn list CORP.COM
SPN
--------------------------------------
nfs/mixed.isilon.com
HOST/mixed.isilon.com <===========================
nfs/synciq.isilon.com
HOST/synciq.isilon.com
nfs/cifs.isilon.com
HOST/cifs.isilon.com
--------------------------------------
Total: 6
Resolution
Verifique se há domínios confiáveis e SPNs duplicados no domínio ao qual o Isilon ingressou e no domínio confiável:
- Para verificar os domínios confiáveis:
# isi auth ads trusts list --provider-name=<Domain name cluster is joined to>
- Para listar os SPN's presentes em um domínio:
# isi auth ads spn list --provider-name=<Domain name>
Se houver SPNs duplicados presentes e apenas o domínio principal for usado para autenticação, exclua o SPN seguindo o KB OneFS: Como localizar SPNs (Service Principal Names, nomes principais de serviço) duplicados no Active Directory, impedindo que clients SMB se autentiquem no cluster.