Minha empresa "centrada no domínio" do Windows decidiu abruptamente fazer a transição do Windows 7 para o Windows 10, e tornou-se meu trabalho tornar a imagem preparada em nosso domínio com nosso sistema de autenticação baseado em token / cartão inteligente. Este era um problema para o Windows 7, no entanto, era fácil de corrigir com a criação de uma cadeia de confiança de certificados. Eu não estava encarregado de configurá-lo completamente no Windows 7, então não tenho certeza sobre o funcionamento interno de todo o processo do Kerberos.
Com o Windows 10, no entanto, isso tem sido um pesadelo. Espelhei todo o meu processo de 7 a 10, incluindo todos os certificados ausentes (usamos netdom para adicionar via linha de comando, com / securepasswordprompt), mas não importa o que eu faça, meus computadores não ingressarão no domínio com um cartão inteligente. Eles adicionam sem problemas usando um nome de usuário / senha (sem 2FA), mas com um cartão inteligente, recebo o seguinte erro:
The KDC certificate for the domain controller does not contain the KDC Extended Key Usage (EKU): 1.3.6.1.5.2.3.5: Error Code 0xc0000320. The domain administrator will need to obtain a certificate with the KDC EKU for the domain controller to resolve this error. When using Windows Server Certificate Services create a certificated based on the Kerberos Authentication Template.
Meu entendimento é que esse OID específico é para autenticação de servidor, e os certificados raiz e de CA que adicionei à conta do computador têm os propósitos adequados atribuídos a eles. Eu fui diretamente para o nosso servidor de CA no domínio e obtive os certificados de raiz, juntamente com as CRLs que eu não tinha, mas o erro permanece o mesmo. Hoje, fiz mais leituras e ativei a chave de registro de depuração do kerberos e, depois de tentar adicionar novamente, o controlador de domínio retornou KDC_ERR_ETYPE_NOTSUPP
.
Isso me levou a investigar os métodos de criptografia usados entre as duas máquinas, o Windows 7 tem o RC4, o AES128 / 256 habilitado e o Windows 10 tem apenas o AES128 / 256 e os "futuros tipos" ativados. Naturalmente, liguei o RC4, para que houvesse consistência entre as duas máquinas, e me vi com um novo erro no log de eventos: KDC_ERR_PREAUTH_REQUIRED
- isso me leva a acreditar que os métodos de criptografia agora estão trabalhando em conjunto com cada um deles. de outros.
Lendo on-line, descobri que esse erro KDC_ERR_PREAUTH_REQUIRED
geralmente é apenas um aviso ou um "falso positivo" e pode ser ignorado (quando a máquina estiver no domínio). Antes da associação ao domínio, esse erro significa que o usuário digitou a senha incorreta (tenho certeza de que meu smart card está usando o PIN correto) ou que a chave de criptografia está configurada incorretamente entre a máquina e o DC. Eu também desabilitei Kerberos pre-authentication required
na minha conta no AD, mas quando tentei adicionar a máquina, ele errou com smartcard logon is required and was not used
. Eu testei isso com o Wireshark, e recebi o mesmo erro ao longo de 4 frames, na sequência de AS_REQ -> KDC_ERR_PREAUTH_REQ -> AS_REQ -> AS_REP
.
Depois de tudo isso, não consegui fazer um erro diferente, então estou efetivamente preso. Eu tentei mudar o tempo na máquina com o Windows 10 para horas à frente do DC, e o DC informou corretamente que não foi possível entrar devido a uma distorção de tempo, o que eu esperava que acontecesse, então eu sei que há algum tipo de comunicação em. Eu sou capaz de nslookup / ping o DC pelo seu FQDN, e eu sou incapaz de ping usando apenas o seu nome. Existe algum outro método que eu possa usar para investigar este problema, ou alguém já experimentou isso antes?
update: % dePREAUTH_FAILED
alterado para PREAUTH_REQUIRED
.
update2:
Depois de fazer uma captura Wireshark ao unir uma máquina com Windows 7 ao domínio, vejo o seguinte resultado de padrão inicial (cli for client e srv for server):
(cli)AS-REQ
(srv)AS-REP
(cli)TGS-REQ
(srv)TGS-REP
(cli)TGS-REQ
(srv)TGS-REP
Há muito mais no log acima, mas essa é a primeira seção que difere. Em contraste, em uma máquina com Windows 10, vejo:
(cli)AS-REQ
(srv)KRB Error: KRB5KDC_ERR_PREAUTH_REQUIRED
(cli)AS-REQ
(srv)AS-REP
... e é aí que o log é interrompido, com uma falha no log de eventos. Eu li uma postagem que discutia a modificação da chave de registro Security Packages
sob HKLM\SYSTEM\CurrentControlSet\Control\LSA
, para ter kerberos msv1_0 schannel wdigest tspkg pku2u
, que é o que minha máquina com Windows 7 tinha. A máquina Windows 10 tinha apenas duas aspas, como ""
. Adicionar isso não parece ajudar, no entanto.