Compartilhar via


Erro "Tipo de e-mail não suportado" ao acessar um recurso em um domínio confiável

Número original do KB: 4492348

Sintomas

Um computador em um domínio filho de uma floresta dos Serviços de Domínio Active Directory (AD DS) não pode acessar um serviço que resida em um domínio diferente dentro da mesma floresta. Se você executar um rastreamento de rede nas comunicações de e para o computador cliente, o rastreamento conterá as seguintes mensagens Kerberos:

6 9:35:19 AM 8/14/2018   17.8417442   192.168.1.101   192.168.1.2  KerberosV5   KerberosV5:AS Request Cname: Administrator Realm: contoso.com Sname: krbtgt/contoso.com   {TCP:4, IPv4:1}  
  
7 9:35:19 AM 8/14/2018   17.8452544   192.168.1.2   192.168.1.101  KerberosV5   KerberosV5:KRB_ERROR - KDC_ERR_ETYPE_NOSUPP (14)  {TCP:4, IPv4:1}  

No controlador de domínio do domínio filho, o Visualizador de Eventos registra a seguinte entrada do Evento 14:

Log Name: System  
Source: Microsoft-Windows-Kerberos-Key-Distribution-Center  
Event ID: 14  
Task Category: None  
Level: Error  
Keywords: Classic  
Description:  
While processing an AS request for target service krbtgt, the account Administrator did not have a suitable key for generating a Kerberos ticket (the missing key has an ID of 1). The requested etypes : 18 17 3. The accounts available etypes : 23 -133 -128. Changing or resetting the password of Administrator will generate a proper key.  

Motivo

Esse problema ocorre quando você configura o domínio filho (ou apenas o cliente) da seguinte maneira:

  • Você desativa o tipo de criptografia RC4_HMAC-MD5, deixando os tipos de criptografia AES128-CTS-HMAC-SHA1-96 e AES256-CTS-HMAC-SHA1-96 ativados.
  • Você desabilita a autenticação NTLM.

Tipos de criptografia Kerberos

A criptografia RC4 é considerada menos segura do que os tipos de criptografia mais recentes, AES128-CTS-HMAC-SHA1-96 e AES256-CTS-HMAC-SHA1-96. Guias de segurança, como o Guia de Implementação Técnica de Segurança do Windows 10, fornecem instruções para melhorar a segurança de um computador configurando-o para usar apenas criptografia AES128 e/ou AES256 (consulte Os tipos de criptografia Kerberos devem ser configurados para impedir o uso de pacotes de criptografia DES e RC4).

Esse cliente pode continuar a se conectar a serviços dentro de seu próprio domínio que usam criptografia AES128 ou AES256. No entanto, outros fatores podem impedir que o cliente se conecte a serviços semelhantes em outro domínio confiável, mesmo que esses serviços também usem criptografia AES128 ou AES256.

Em um nível muito alto, um controlador de domínio (DC) é responsável por gerenciar solicitações de acesso em seu próprio domínio. Como parte do processo de autenticação Kerberos, o controlador de domínio verifica se o cliente e o serviço podem usar o mesmo tipo de criptografia Kerberos. No entanto, quando um cliente solicita acesso a um serviço em um domínio diferente e confiável, o controlador de domínio do cliente deve "encaminhar" o cliente para um controlador de domínio no domínio do serviço. Quando o controlador de domínio cria o tíquete de referência, em vez de comparar os tipos de criptografia do cliente e do serviço, ele compara os tipos de criptografia do cliente e da relação de confiança.

O problema ocorre devido à configuração da própria relação de confiança. No Active Directory, um objeto de domínio tem TDOs (objetos de domínio confiáveis) associados que representam cada domínio em que ele confia. Os atributos de um TDO descrevem a relação de confiança, incluindo os tipos de criptografia Kerberos compatíveis com a relação de confiança. A relação padrão entre um domínio filho e um domínio pai é uma relação de confiança transitiva bidirecional que dá suporte ao tipo de criptografia RC4. O domínio pai e filho têm TDOs que descrevem essa relação, incluindo o tipo de criptografia.

Quando o cliente entra em contato com o child.contoso.com controlador de domínio para solicitar acesso ao serviço, o controlador de domínio determina que o serviço está no domínio contoso.comconfiável. O controlador de domínio verifica a configuração de confiança para identificar o tipo de criptografia compatível com a confiança. Por padrão, a relação de confiança dá suporte à criptografia RC4, mas não à criptografia AES128 ou AES256. Por outro lado, o cliente não pode usar a criptografia RC4. O controlador de domínio não pode identificar um tipo de criptografia comum, portanto, não pode criar o tíquete de referência e a solicitação falha.

Autenticação NTLM

Depois que a autenticação Kerberos falha, o cliente tenta voltar para a autenticação NTLM. No entanto, se a autenticação NTLM estiver desabilitada, o cliente não terá outras alternativas. Portanto, a tentativa de conexão falha.

Resolução

Para resolver esse problema, use um dos seguintes métodos:

  • Método 1: Configure a confiança para suportar a criptografia AES128 e AES 256, além da criptografia RC4.
  • Método 2: Configure o cliente para suportar a criptografia RC4, além da criptografia AES128 e AES256.
  • Método 3: Configure a confiança para suportar criptografia AES128 e AES 256 em vez de criptografia RC4.

A escolha depende de suas necessidades de segurança e de sua necessidade de minimizar interrupções ou manter a compatibilidade com versões anteriores.

Método 1: configurar a confiança para oferecer suporte à criptografia AES128 e AES 256, além da criptografia RC4

Esse método adiciona os tipos de criptografia mais recentes à configuração de confiança e não requer nenhuma alteração no cliente ou no serviço. Nesse método, você usa a ksetup ferramenta de linha de comando para configurar a relação de confiança.

Para configurar o tipo de criptografia Kerberos de uma relação de confiança, abra uma janela do Prompt de Comando em um controlador de domínio no domínio confiável e insira o seguinte comando:

ksetup /setenctypeattr <trustingdomain> RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

Observação

Nesse comando, <trustingdomain> representa o FQDN (nome de domínio totalmente qualificado) do domínio confiante.

No exemplo em que contoso.com está o domínio raiz (onde o serviço reside) e child.contoso.com é o domínio filho (onde o cliente reside), abra uma janela de prompt de comando em um contoso.com DC e insira o seguinte comando:

ksetup /setenctypeattr child.contoso.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

Após a conclusão desse comando, o child.contoso.com controlador de domínio pode criar com êxito o tíquete de referência que o cliente pode usar para acessar o contoso.com controlador de domínio.

Como a relação entre os dois domínios é uma relação de confiança transitiva bidirecional, configure o outro lado da relação de confiança abrindo uma janela do Prompt de Comando em um child.contoso.com DC e insira o seguinte comando:

ksetup /setenctypeattr contoso.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

Após a conclusão desse comando, um controlador de contoso.com domínio pode criar tíquetes de referência para qualquer cliente contoso.com que não possa usar a criptografia RC4, mas deve usar recursos no child.contoso.com.

Para obter mais informações sobre a ferramenta ksetup, consulte ksetup.

Método 2: Configurar o cliente para suportar a criptografia RC4, além da criptografia AES128 e AES256

Esse método envolve alterar a configuração do cliente em vez da confiança. Você pode alterar a configuração de um único cliente ou usar a Política de Grupo para alterar a configuração de vários clientes em um domínio. No entanto, a principal desvantagem dessa alteração de configuração é que, se você desativou a criptografia RC4 para melhorar a segurança, a reversão dessa alteração pode não ser possível.

Para obter instruções completas sobre como alterar os tipos de criptografia que os clientes podem usar, consulte Configurações do Windows para o tipo de criptografia com suporte para Kerberos.

Método 3: Configurar a confiança para dar suporte à criptografia AES128 e AES 256 em vez da criptografia RC4

Esse método é semelhante ao método 1, pois você configura os atributos de confiança.

No caso de relações de confiança de floresta do Windows, ambos os lados da relação de confiança dão suporte ao AES. Portanto, todas as solicitações de ticket na relação de confiança usam AES. No entanto, um cliente Kerberos de terceiros que inspeciona o tíquete de referência pode notificá-lo de que o tíquete usa um tipo de criptografia ao qual o cliente não dá suporte. Para continuar a permitir que esse cliente inspecione o tíquete, atualize-o para oferecer suporte ao AES.

Ao usar esse método, configure a relação de confiança usando o snap-in MMC Domínios e Relações de Confiança do Active Directory. Para usar esse método, siga estas etapas:

  1. Em Domínios e Relações de Confiança do Active Directory, navegue até o objeto de domínio confiável (no exemplo,contoso.com). Clique com o botão direito do mouse no objeto, selecione Propriedades e, em seguida, selecione Relações de Confiança.

  2. Na caixa Domínios que confiam neste domínio (relações de confiança de entrada), selecione o domínio confiante (no exemplo, child.domain.com).

  3. Selecione Propriedades, selecione O outro domínio dá suporte à criptografia Kerberos AES e selecione OK.

    Captura de tela das propriedades de um domínio filho e a janela Propriedades inclui a caixa de seleção outro domínio suporta criptografia AES Kerberos.

    Observação

    Para validar a configuração de confiança, selecione Validar na caixa de diálogo de domínio confiante.

    Importante

    No caso de uma relação de confiança unidirecional, o domínio confiável lista o domínio confiante como uma relação de confiança de entrada e o domínio confiante lista o domínio confiável como uma relação de confiança de saída.

    Se a relação for uma relação de confiança bidirecional, cada domínio listará o outro domínio como uma relação de confiança de entrada e saída. Nessa configuração, verifique a configuração do domínio em Domínios que confiam neste domínio (relações de confiança de entrada) e Domínios confiáveis por este domínio (relações de confiança de saída). Em ambos os casos, a caixa de seleção deve ser marcada.

  4. Na guia Relações de Confiança, clique em OK.

  5. Navegue até o objeto de domínio para o domínio confiante (child.contoso.com).

  6. Repita as etapas de 1 a 4 para garantir que a configuração de confiança desse domínio espelhe a configuração de confiança do outro domínio (nesse caso, as listas de confiança de entrada e saída incluem contoso.com).

Mais informações

Para obter mais informações sobre TDOs, consulte os seguintes artigos:

Para obter mais informações sobre os tipos de criptografia Kerberos, consulte os seguintes artigos: