Resumo

CVE-2022-34691,CVE-2022-26931 e CVE-2022-26923 abordam uma elevação da vulnerabilidade de privilégio que pode ocorrer quando o Centro de Distribuição Kerberos (KDC) está atendendo a uma solicitação de autenticação baseada em certificado. Antes da atualização de segurança de 10 de maio de 2022, a autenticação baseada em certificado não contaria com um sinal de dólar ($) no final de um nome do computador. Isso permitiu que certificados relacionados fossem emulados (falsificados) de várias maneiras. Além disso, conflitos entre UPN (Nomes de Entidade de Usuário) e sAMAccountName introduziram outras vulnerabilidades de emulação (falsificação) que também abordamos com essa atualização de segurança.

Tome medidas

Para proteger seu ambiente, conclua as seguintes etapas para autenticação baseada em certificado:

  1. Atualize todos os servidores que executam os Serviços de Certificado do Active Directory e os controladores de domínio do Windows que prestam serviço de autenticação baseada em certificado com a atualização de 10 de maio de 2022 (consulte Modo de compatibilidade). A atualização de 10 de maio de 2022 fornecerá eventos de auditoria que identificam certificados que não são compatíveis com o modo de Execução Completa.

  2. Se nenhum log de eventos de auditoria for criado em controladores de domínio por um mês após a instalação da atualização, prossiga com a habilitação do modo de Execução Completa em todos os controladores de domínio. Até 9 de maio de 2023, todos os dispositivos serão atualizados para o modo de Execução Completa. Nesse modo, se um certificado falhar nos critérios de mapeamento fortes (seguros) (consulte Mapeamentos de certificado), a autenticação será negada.

Eventos de auditoria

A atualização do Windows de 10 de maio de 2022 adiciona os seguintes logs de eventos.

Nenhum mapeamento de certificado forte pôde ser encontrado e o certificado não tinha a nova extensão sid (identificador de segurança) que o KDC poderia validar.

Log de Eventos

Sistema

Tipo de Evento

Aviso se o KDC estiver no modo de compatibilidade

Erro se o KDC estiver no modo De execução

Origem do evento

Kdcsvc

ID de Evento

39

41 (para Windows Server 2008 R2 SP1 e Windows Server 2008 SP2)

Texto do Evento

O KDC (Centro de Distribuição de Chaves) encontrou um certificado de usuário válido, mas que não pôde ser mapeado para um usuário de forma forte (como por meio de mapeamento explícito, mapeamento de confiança de chave ou um SID). Esses certificados devem ser substituídos ou mapeados diretamente para o usuário por meio de mapeamento explícito. Consulte https://go.microsoft.com/fwlink/?linkid=2189925 para saber mais.

Usuário: <nome da entidade>

Assunto de certificado: <nome da entidade no> de certificado

Emissor de Certificados: <nome de domínio totalmente qualificado do emissor (FQDN)>

Número de série do certificado: <número de série de> de certificado

Impressão digital do certificado: <impressão digital do certificado>

O certificado foi emitido para o usuário antes que o usuário existisse no Active Directory e nenhum mapeamento forte pudesse ser encontrado. Esse evento só é registrado quando o KDC está no modo de compatibilidade.

Log de Eventos

Sistema

Tipo de Evento

Erro

Origem do evento

Kdcsvc

ID de Evento

40

48 (para Windows Server 2008 R2 SP1 e Windows Server 2008 SP2

Texto do Evento

O KDC (Centro de Distribuição de Chaves) encontrou um certificado de usuário válido, mas que não pôde ser mapeado para um usuário de forma forte (como por meio de mapeamento explícito, mapeamento de confiança de chave ou um SID). O certificado também antecedeu o usuário para o qual ele mapeou, por isso foi rejeitado. Consulte https://go.microsoft.com/fwlink/?linkid=2189925 para saber mais.

Usuário: <nome da entidade>

Assunto de certificado: <nome da entidade no> de certificado

Emissor de Certificados: <> do Emissor FQDN

Número de série do certificado: <número de série de> de certificado

Impressão digital do certificado: <impressão digital do certificado>

Tempo de emissão de certificado: <FILETIME do> de certificado

Tempo de criação da conta: <FILETIME do objeto principal no AD>

O SID contido na nova extensão do certificado de usuários não corresponde ao SID dos usuários, implicando que o certificado foi emitido para outro usuário.

Log de Eventos

Sistema

Tipo de Evento

Erro

Origem do evento

Kdcsvc

ID de Evento

41

49 (para Windows Server 2008 R2 SP1 e Windows Server 2008 SP2)

Texto do Evento

O KDC (Centro de Distribuição de Chaves) encontrou um certificado de usuário válido, mas que continha um SID diferente do usuário ao qual ele mapeou. Como resultado, a solicitação envolvendo o certificado falhou. Consulte https://go.microsoft.cm/fwlink/?linkid=2189925 para saber mais.

Usuário: <nome da entidade>

SID do usuário: <SID do> de entidade de autenticação

Assunto de certificado: <nome da entidade no> de certificado

Emissor de Certificados: <> do Emissor FQDN

Número de série do certificado: <número de série de> de certificado

Impressão digital do certificado: <impressão digital do certificado>

SID de certificado: <SID encontrado no novo> de Extensão de Certificado

Mapeamentos de certificado

Os administradores de domínio podem mapear manualmente certificados para um usuário no Active Directory usando o atributo altSecurityIdentities do objeto usuários. Há seis valores com suporte para esse atributo, com três mapeamentos considerados fracos (inseguros) e os outros três considerados fortes. Em geral, os tipos de mapeamento são considerados fortes se forem baseados em identificadores que você não pode reutilizar. Portanto, todos os tipos de mapeamento com base em nomes de usuário e endereços de email são considerados fracos.

Mapeamento

Exemplo

Tipo

Comentários

X509IssuerSubject

"X509:<>IssuerName<S>SubjectName"

Fraco

X509SubjectOnly

"X509:<S>SubjectName"

Fraco

X509RFC822

"X509:<>USER@CONTOSO.COM RFC822"

Fraco

Endereço de Email

X509IssuerSerialNumber

"X509:<I>IssuerName<SR>1234567890"

Forte

Recomendadas

X509SKI

"X509:<SKI>123456789abcdef"

Forte

X509SHA1PublicKey

"X509:<SHA1-PUKEY>123456789abcdef"

Forte

Se os clientes não puderem reemissar certificados com a nova extensão SID, recomendamos que você crie um mapeamento manual usando um dos mapeamentos fortes descritos acima. Você pode fazer isso adicionando a cadeia de caracteres de mapeamento apropriada a um atributo altSecurityIdentities dos usuários no Active Directory.

Observação Determinados campos, como Emissor, Assunto e Número de Série, são relatados em um formato "forward". Você deve reverter esse formato ao adicionar a cadeia de caracteres de mapeamento ao atributo altSecurityIdentities . Por exemplo, para adicionar o mapeamento X509IssuerSerialNumber a um usuário, pesquise os campos "Emissor" e "Número de Série" do certificado que você deseja mapear para o usuário. Confira a saída de exemplo abaixo.

  • Emissor: CN=CONTOSO-DC-CA, DC=contoso, DC=com

  • SerialNumber: 2B0000000011AC0000000012

Em seguida, atualize o atributo altSecurityIdentities do usuário no Active Directory com a seguinte cadeia de caracteres:

  • "X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>1200000000AC100000000002B"

Para atualizar esse atributo usando o Powershell, você pode usar o comando abaixo. Tenha em mente que, por padrão, somente os administradores de domínio têm a permissão para atualizar esse atributo.

  • set-aduser 'DomainUser' -replace @{altSecurityIdentities= "X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>1200000000AC11000000002B"}

Observe que, ao reverter o SerialNumber, você deve manter a ordem de byte. Isso significa que reverter o SerialNumber "A1B2C3" deve resultar na cadeia de caracteres "C3B2A1" e não em "3C2B1A". Para obter mais informações, consulte HowTo: Mapear um usuário para um certificado por meio de todos os métodos disponíveis no atributo altSecurityIdentities.

Linha do tempo para atualizações do Windows

Importante A Fase de Habilitação começa com as atualizações de 14 de fevereiro de 2023 para Windows, que ignorarão a configuração de chave do registro do modo desabilitado. 

Depois de instalar as atualizações do Windows de 10 de maio de 2022, os dispositivos estarão no modo de compatibilidade. Se um certificado puder ser fortemente mapeado para um usuário, a autenticação ocorrerá conforme o esperado. Se um certificado só puder ser mapeado fracamente para um usuário, a autenticação ocorrerá conforme o esperado. No entanto, uma mensagem de aviso será registrada, a menos que o certificado seja mais antigo que o usuário. Se o certificado for mais antigo que o usuário e a chave de registro de backdating de certificado não estiver presente ou o intervalo estiver fora da compensação de backdating, a autenticação falhará e uma mensagem de erro será registrada.  Se a chave de registro de backdating de certificado estiver configurada, ela registrará uma mensagem de aviso no log de eventos se as datas estiverem dentro da compensação de backdating.

Depois de instalar as atualizações do Windows de 10 de maio de 2022, observe qualquer mensagem de aviso que possa aparecer após um mês ou mais. Se não houver mensagens de aviso, recomendamos que você habilite o modo de Execução Completa em todos os controladores de domínio usando autenticação baseada em certificado. Você pode usar a chave do registro KDC para habilitar o modo de Execução Completa.

A menos que seja atualizado para esse modo anteriormente, atualizaremos todos os dispositivos para o modo de Execução Completa até 9 de maio de 2023. Se um certificado não puder ser fortemente mapeado, a autenticação será negada.

Se a autenticação baseada em certificado depender de um mapeamento fraco que você não pode mover do ambiente, você poderá colocar controladores de domínio no modo desabilitado usando uma configuração de chave de registro. A Microsoft não recomenda isso e removeremos o modo desabilitado em 14 de fevereiro de 2023.

Solução de problemas

  • Use o log operacional Kerberos no computador relevante para determinar qual controlador de domínio está falhando na entrada. Acesse Visualizador de Eventos > Logs de Aplicativos e Serviços\Microsoft \Windows\Security-Kerberos\Operational.

  • Procure eventos relevantes no Log de Eventos do Sistema no controlador de domínio no qual a conta está tentando se autenticar.

  • Se o certificado for mais antigo que a conta, reemissue o certificado ou adicione um mapeamento altSecurityIdentities seguro à conta (consulte Mapeamentos de certificado).

  • Se o certificado contiver uma extensão SID, verifique se o SID corresponde à conta.

  • Se o certificado estiver sendo usado para autenticar várias contas diferentes, cada conta precisará de um mapeamento de altSecurityIdentities separado.

  • Se o certificado não tiver um mapeamento seguro para a conta, adicione um ou deixe o domínio no modo de compatibilidade até que um possa ser adicionado.

Um exemplo de mapeamento de certificado TLS está usando um aplicativo Web de intranet do IIS.

  • Depois de instalar proteções CVE-2022-26391 e CVE-2022-26923 , esses cenários usam o protocolo Kerberos Certificate Service For User (S4U) para mapeamento e autenticação de certificado por padrão.

  • No protocolo Kerberos Certificate S4U, a solicitação de autenticação flui do servidor de aplicativo para o controlador de domínio, não do cliente para o controlador de domínio. Portanto, eventos relevantes estarão no servidor de aplicativo.

Informações da chave do Registro

Depois de instalar proteções CVE-2022-26931 e CVE-2022-26923 nas atualizações do Windows lançadas entre 10 de maio de 2022 e 9 de maio de 2023, as seguintes chaves do registro estão disponíveis.

Essa chave do registro altera o modo de aplicação do KDC para modo desabilitado, modo de compatibilidade ou modo de Execução Completa.

Importante

Usar essa chave de registro é uma solução alternativa temporária para ambientes que exigem isso e devem ser feitos com cuidado. Usar essa chave do registro significa o seguinte para seu ambiente:

  • Essa chave de registro só funciona no modo de compatibilidade a partir das atualizações lançadas em 10 de maio de 2022.

  • Essa chave do registro não terá suporte após a instalação de atualizações para o Windows lançadas em 9 de maio de 2023, o que habilitará o modo de Execução Completa.

Subchave do Registro

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc

Valor

StrongCertificateBindingEnforcement

Tipo de dados

REG_DWORD

Dados

1 – Verifica se há um forte mapeamento de certificado. Se sim, a autenticação será permitida. Caso contrário, o KDC verificará se o certificado tem a nova extensão SID e a validará. Se essa extensão não estiver presente, a autenticação será permitida se a conta de usuário anteceder o certificado.

2 – Verifica se há um forte mapeamento de certificados. Se sim, a autenticação será permitida. Caso contrário, o KDC verificará se o certificado tem a nova extensão SID e a validará. Se essa extensão não estiver presente, a autenticação será negada.

0 – Desabilita a verificação de mapeamento de certificado forte. Não recomendado porque isso desabilitará todos os aprimoramentos de segurança.

Se você definir isso como 0, também deverá definir CertificateMappingMethods como 0x1F conforme descrito na seção Chave do Registro do Schannel abaixo para que a autenticação baseada em certificado de computador tenha êxito..

Reiniciar obrigatório?

Não

Quando um aplicativo de servidor requer autenticação do cliente, o Schannel tenta mapear automaticamente o certificado fornecido pelo cliente TLS a uma conta de usuário. Você pode autenticar usuários que entrem com um certificado de cliente criando mapeamentos que relacionam as informações de certificado a uma conta de usuário do Windows. Depois de criar e habilitar um mapeamento de certificado, sempre que um cliente apresenta um certificado de cliente, seu aplicativo de servidor associa automaticamente esse usuário à conta de usuário apropriada do Windows.

O Schannel tentará mapear cada método de mapeamento de certificado habilitado até que um seja bem-sucedido. O Schannel tenta mapear primeiro os mapeamentos do Service-For-User-To-Self (S4U2Self). Os mapeamentos de certificados Subject/Issuer, Issuer e UPN agora são considerados fracos e foram desabilitados por padrão. A soma bitmasked das opções selecionadas determina a lista de métodos de mapeamento de certificado que estão disponíveis.

O padrão da chave de registro do SChannel foi 0x1F e agora está 0x18. Se você tiver falhas de autenticação com aplicativos de servidor baseados em Schannel, sugerimos que você realize um teste. Adicione ou modifique o valor da chave do registro CertificateMappingMethods no controlador de domínio e defina-o como 0x1F e veja se isso resolve o problema. Procure nos logs de eventos do Sistema no controlador de domínio para obter mais informações sobre os erros listados neste artigo. Tenha em mente que a alteração do valor da chave do registro do SChannel de volta para o padrão anterior (0x1F) será revertida para o uso de métodos fracos de mapeamento de certificado.

Subchave do Registro

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel

Valor

CertificateMappingMethods

Tipo de dados

DWORD

Dados

0x0001 – Mapeamento de certificado do sujeito/emissor (fraco – desabilitado por padrão)

0x0002 – Mapeamento de certificado do emissor (fraco – desabilitado por padrão)

0x0004 – mapeamento de certificado UPN (fraco – desabilitado por padrão)

0x0008 – Mapeamento de certificado S4U2Self (forte)

0x0010 - Mapeamento de certificado explícito do S4U2Self (forte)

Reiniciar obrigatório?

Não

Para obter recursos e suporte adicionais, consulte a seção "Recursos adicionais".

Depois de instalar atualizações que abordam cve-2022-26931 e CVE-2022-26923, a autenticação pode falhar nos casos em que os certificados de usuário são mais antigos do que o tempo de criação dos usuários. Essa chave de registro permite autenticação bem-sucedida quando você está usando mapeamentos de certificado fracos em seu ambiente e o tempo de certificado é antes do tempo de criação do usuário dentro de um intervalo de conjunto. Essa chave de registro não afeta usuários ou computadores com mapeamentos de certificado fortes, pois a hora do certificado e a hora de criação do usuário não são verificadas com mapeamentos fortes de certificados. Essa chave de registro não tem nenhum efeito quando StrongCertificateBindingEnforcement é definido como 2.

Usar essa chave de registro é uma solução alternativa temporária para ambientes que exigem isso e devem ser feitos com cuidado. Usar essa chave do registro significa o seguinte para seu ambiente:

  • Essa chave de registro só funciona no modo de compatibilidade a partir das atualizações lançadas em 10 de maio de 2022. A autenticação será permitida no deslocamento de compensação de backdating, mas um aviso de log de eventos será registrado para a associação fraca.

  • Habilitar essa chave de registro permite a autenticação do usuário quando a hora do certificado é antes do tempo de criação do usuário dentro de um intervalo de conjunto como um mapeamento fraco. Mapeamentos fracos não serão suportados após a instalação de atualizações para o Windows lançadas em 9 de maio de 2023, o que habilitará o modo de Execução Completa.

Subchave do Registro

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc

Valor

CertificateBackdatingCompensation

Tipo de dados

REG_DWORD

Dados

Valores para solução alternativa em anos aproximados:

  • 50 anos: 0x5E0C89C0

  • 25 anos: 0x2EFE0780

  • 10 anos: 0x12CC0300

  • 5 anos: 0x9660180

  • 3 anos: 0x5A39A80

  • 1 ano: 0x1E13380

Observação Se você souber o tempo de vida dos certificados em seu ambiente, defina essa chave de registro como um pouco mais longa do que o tempo de vida do certificado.  Se você não souber o tempo de vida do certificado para seu ambiente, defina essa chave do registro como 50 anos. O padrão é de 10 minutos quando essa chave não está presente, que corresponde ao ADCS (Active Directory Certificate Services). O valor máximo é de 50 anos (0x5E0C89C0).

Essa chave define a diferença de tempo, em segundos, que o Centro de Distribuição de Chaves (KDC) ignorará entre um tempo de problema de certificado de autenticação e o tempo de criação da conta para contas de usuário/computador.

Importante Apenas defina essa chave de registro se o ambiente exigir. Usar essa chave do registro está desabilitando uma verificação de segurança.

Reiniciar obrigatório?

Não

Autoridades de Certificados Corporativos

As Autoridades de Certificados Da Empresa (AC) começarão a adicionar uma nova extensão não crítica com o OID (Identificador de Objeto) (1.3.6.1.4.1.311.25.2) por padrão em todos os certificados emitidos em modelos online depois de instalar a atualização do Windows de 10 de maio de 2022. Você pode interromper a adição dessa extensão definindo o bit 0x00080000 no valor msPKI-Registr-Flag do modelo correspondente.

Você executa o seguinte comando certutil para excluir certificados do modelo de usuário de obter a nova extensão.

  1. Entre em um servidor da Autoridade de Certificado ou em um cliente Windows 10 ingressado no domínio com o administrador da empresa ou as credenciais equivalentes.

  2. Abra um prompt de comando e escolha Executar como administrador.

  3. Execute certutil -dstemplate user msPKI-Enrollment-Flag +0x00080000. 

Desabilitar a adição dessa extensão removerá a proteção fornecida pela nova extensão. Considere fazer isso somente após um dos seguintes procedimentos:

  1. Você confirma que os certificados correspondentes não são aceitáveis para criptografia de chave pública para autenticação inicial (PKINIT) em autenticações de protocolo Kerberos no KDC

  2. Os certificados correspondentes têm outros mapeamentos de certificado fortes configurados

Ambientes que não têm implantações de AC da Microsoft não serão protegidos usando a nova extensão SID depois de instalar a atualização do Windows de 10 de maio de 2022. Os clientes afetados devem trabalhar com os fornecedores de AC correspondentes para resolver isso ou devem considerar a utilização de outros mapeamentos de certificado fortes descritos acima.

Para obter recursos e suporte adicionais, consulte a seção "Recursos adicionais".

Perguntas frequentes

Não, a renovação não é necessária. A AC será enviada no modo de compatibilidade. Se você quiser um mapeamento forte usando a extensão ObjectSID, precisará de um novo certificado.

Recursos adicionais

Para obter mais informações sobre o mapeamento de certificado do cliente TLS, confira os seguintes artigos:

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×