O ADFS falha ao autenticar um usuário específico - gera ADAccountLookupException

3

Observação - Na verdade, já resolvi isso, mas não vejo nenhum artigo detalhado sobre essa questão, então vou fazer a pergunta e responder pessoalmente.

Eu executo um serviço que autentica como SMTPRelayUser que começou a falhar na autenticação do ADFS cerca de 95% do tempo. Inexplicavelmente, esse usuário ocasionalmente conseguiria autenticar e enviar todos os e-mails que foram enfileirados ao longo do tempo. Nos logs do Visualizador de Eventos do ADFS, eu estava vendo dois erros - Evento 300 e Evento 413. A Identificação de Evento 300 não ofereceu nenhuma informação útil, mas 413 me notificou sobre uma exceção estranha.

Microsoft.IdentityServer.Service.AccountPolicy.ADAccountLookupException: Exception of type 'Microsoft.IdentityServer.Service.AccountPolicy.ADAccountLookupException' was thrown.

O que está acontecendo?

    
por pk. 21.05.2014 / 18:40

1 resposta

1

Eu verifiquei a replicação dessa conta nos controladores de domínio e não pude ver nenhum motivo para que isso devesse estar falhando. Liguei o log de Depuração do ADFS e tentei fazer o login novamente. Desta vez, fui recompensado com um aviso muito claro que procedeu a ADAccountLookupException no log de depuração de rastreamento do ADFS.

ID do evento 53: AccountLockoutPolicy.IsAccountThrottled: o sistema falhou ao ler a contagem de senhas incorretas do usuário [email protected] .

Depois de verificar o atributo AD badPwdCount para SMTPRelayUser no DC sendo favorecido pelo meu farm do ADFS, vi que, de fato, ele não foi definido .

Neste momento, lembrei-me de que tinha activado ADFS 2012 R2 Extranet Proteção de bloqueio um tempo atrás e coincidiu com o início dos problemas de login. Aparentemente, há um bug no recurso Extranet Lockout Protection que lança uma exceção se badPwdCount não estiver definido. Desativei o recurso Extranet Lockout Protection e o login funcionou perfeitamente.

Então por que minhas autenticações funcionavam 5% do tempo? O badPwdCount não é replicado nos controladores de domínio. Cada CD mantém sua própria contagem. Ocasionalmente, o ADFS realmente consultaria um controlador de domínio que tivesse um conjunto de valores badPwdCount e uma autenticação bem-sucedida.

A moral da história é ter cuidado se você estiver usando o recurso Extranet Lockout Protection no ADFS. Eu mesmo simplesmente a desativei por enquanto.

    
por 21.05.2014 / 19:02

Tags