Compartir a través de


Error de "tipo electrónico no admitido" al acceder a un recurso en un dominio de confianza

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 4492348

Síntomas

Un equipo de un dominio secundario de un bosque de Servicios de dominio de Active Directory (AD DS) no puede acceder a un servicio que reside en un dominio diferente dentro del mismo bosque. Si ejecuta un seguimiento de red en las comunicaciones hacia y desde el equipo cliente, el seguimiento contiene los siguientes mensajes 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}  

En el controlador de dominio del dominio secundario, Visor de eventos registra la siguiente entrada de 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.  

Causa

Este problema se produce cuando se configura el dominio secundario (o solo el cliente) como se indica a continuación:

  • Deshabilite el tipo de cifrado RC4_HMAC-MD5, dejando habilitados los tipos de cifrado AES128-CTS-HMAC-SHA1-96 y AES256-CTS-HMAC-SHA1-96.
  • Deshabilite la autenticación NTLM.

Tipos de cifrado Kerberos

El cifrado RC4 se considera menos seguro que los tipos de cifrado más recientes, AES128-CTS-HMAC-SHA1-96 y AES256-CTS-HMAC-SHA1-96. Las guías de seguridad, como la guía de implementación técnica de seguridad de Windows 10, proporcionan instrucciones para mejorar la seguridad de un equipo configurándolo para que use solo el cifrado AES128 o AES256 (consulte Tipos de cifrado Kerberos que deben configurarse para evitar el uso de conjuntos de cifrado DES y RC4).

Este tipo de cliente puede seguir conectándose a servicios dentro de su propio dominio que usan el cifrado AES128 o AES256. Sin embargo, otros factores pueden impedir que el cliente se conecte a servicios similares en otro dominio de confianza, incluso si esos servicios también usan el cifrado AES128 o AES256.

En un nivel muy alto, un controlador de dominio (DC) es responsable de administrar las solicitudes de acceso dentro de su propio dominio. Como parte del proceso de autenticación Kerberos, el controlador de dominio comprueba que tanto el cliente como el servicio pueden usar el mismo tipo de cifrado Kerberos. Sin embargo, cuando un cliente solicita acceso a un servicio en un dominio de confianza diferente, el controlador de dominio del cliente debe "hacer referencia" al cliente a un controlador de dominio del dominio del servicio. Cuando el controlador de dominio compila el vale de referencia, en lugar de comparar los tipos de cifrado del cliente y el servicio, compara los tipos de cifrado del cliente y la confianza.

El problema se produce debido a la configuración de la propia confianza. En Active Directory, un objeto de dominio tiene asociados objetos de dominio de confianza (TDO) que representan cada dominio en el que confía. Los atributos de un TDO describen la relación de confianza, incluidos los tipos de cifrado Kerberos que admite la confianza. La relación predeterminada entre un dominio secundario y un dominio primario es una confianza transitiva bidireccional que admite el tipo de cifrado RC4. Tanto el dominio primario como el secundario tienen TDO que describen esta relación, incluido el tipo de cifrado.

Cuando el cliente se pone en contacto con el child.contoso.com controlador de dominio para solicitar acceso al servicio, el controlador de dominio determina que el servicio está en el dominio contoso.comde confianza . El controlador de dominio comprueba la configuración de confianza para identificar el tipo de cifrado compatible con la confianza. De forma predeterminada, la confianza admite el cifrado RC4, pero no el cifrado AES128 o AES256. Por otro lado, el cliente no puede usar el cifrado RC4. El controlador de dominio no puede identificar un tipo de cifrado común, por lo que no puede compilar el vale de referencia y se produce un error en la solicitud.

Autenticación NTLM

Una vez que se produce un error en la autenticación Kerberos, el cliente intenta revertir a la autenticación NTLM. Sin embargo, si la autenticación NTLM está deshabilitada, el cliente no tiene ninguna otra alternativa. Por lo tanto, se produce un error en el intento de conexión.

Solución

Para resolver este problema, utilice uno de los métodos siguientes:

  • Método 1: configure la confianza para admitir el cifrado AES128 y AES 256, además del cifrado RC4.
  • Método 2: Configure el cliente para que admita el cifrado RC4, además del cifrado AES128 y AES256.
  • Método 3: configure la confianza para admitir el cifrado AES128 y AES 256 en lugar del cifrado RC4.

La elección depende de sus necesidades de seguridad y de su necesidad de minimizar la interrupción o mantener la compatibilidad con versiones anteriores.

Método 1: Configurar la confianza para admitir el cifrado AES128 y AES 256, además del cifrado RC4

Este método agrega los tipos de cifrado más recientes a la configuración de confianza y no requiere ningún cambio en el cliente o el servicio. En este método, usará la ksetup herramienta de línea de comandos para configurar la confianza.

Para configurar el tipo de cifrado Kerberos de una confianza, abra una ventana del símbolo del sistema en un controlador de dominio del dominio de confianza y escriba el siguiente comando:

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

Nota:

En este comando, <trustingdomain> representa el nombre de dominio completo (FQDN) del dominio de confianza.

En el ejemplo en el que contoso.com es el dominio raíz (donde reside el servicio) y child.contoso.com es el dominio secundario (donde reside el cliente), abra una ventana del símbolo del sistema en un contoso.com controlador de dominio y escriba el siguiente comando:

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

Una vez finalizado este comando, el controlador de child.contoso.com dominio puede compilar correctamente el vale de referencia que el cliente puede usar para llegar al controlador de contoso.com dominio.

Dado que la relación entre los dos dominios es una confianza transitiva bidireccional, configure el otro lado de la confianza abriendo una ventana del símbolo del sistema en un child.contoso.com controlador de dominio y, a continuación, escriba el siguiente comando:

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

Una vez finalizado este comando, un contoso.com controlador de dominio puede crear vales de referencia para los clientes de contoso.com que no puedan usar el cifrado RC4, pero que deben usar recursos en child.contoso.com.

Para obtener más información sobre la herramienta ksetup, consulte ksetup.

Método 2: Configurar el cliente para admitir el cifrado RC4 además del cifrado AES128 y AES256

Este método implica cambiar la configuración del cliente en lugar de la confianza. Puede cambiar la configuración de un solo cliente o usar directiva de grupo para cambiar la configuración de varios clientes de un dominio. Sin embargo, el principal inconveniente de este cambio de configuración es que, si deshabilitó el cifrado RC4 para mejorar la seguridad, puede que no sea posible revertir ese cambio.

Para obtener instrucciones completas para cambiar los tipos de cifrado que los clientes pueden usar, consulte Configuraciones de Windows para el tipo de cifrado compatible con Kerberos.

Método 3: Configurar la confianza para admitir el cifrado AES128 y AES 256 en lugar del cifrado RC4

Este método es similar al método 1 en el que se configuran los atributos de confianza.

En el caso de las confianzas de bosque de Windows, ambos lados de la confianza admiten AES. Por lo tanto, todas las solicitudes de vales en la confianza usan AES. Sin embargo, un cliente Kerberos de terceros que inspecciona el vale de referencia podría notificarle que el vale usa un tipo de cifrado que el cliente no admite. Para seguir permitiendo que este cliente inspeccione el vale, actualícelo para admitir AES.

Cuando use este método, configure la confianza mediante el complemento MMC Dominios y confianzas de Active Directory. Para usar este método, siga estos pasos:

  1. En Dominios y confianzas de Active Directory, vaya al objeto de dominio de confianza (en el ejemplo,contoso.com ). Haga clic con el botón derecho en el objeto, seleccione Propiedades y, a continuación, seleccione Confianzas.

  2. En el cuadro Dominios que confían en este dominio (confianzas entrantes), seleccione el dominio de confianza (en el ejemplo, child.domain.com).

  3. Seleccione Propiedades, seleccione El otro dominio admite cifrado AES kerberos y, a continuación, seleccione Aceptar.

    Captura de pantalla de las propiedades de un dominio secundario y la ventana Propiedades incluye la casilla De cifrado AES de Kerberos compatible con el otro dominio.

    Nota:

    Para validar la configuración de confianza, seleccione Validar en el cuadro de diálogo dominio de confianza.

    Importante

    En el caso de una confianza unidireccional, el dominio de confianza enumera el dominio de confianza como una confianza entrante y el dominio de confianza enumera el dominio de confianza como una confianza saliente.

    Si la relación es una confianza bidireccional, cada dominio enumera el otro dominio como una confianza entrante y saliente. En esta configuración, asegúrese de comprobar la configuración del dominio en dominios que confían en este dominio (confianzas entrantes) y dominios de confianza para este dominio (confianzas salientes). En ambos casos, la casilla debe estar seleccionada.

  4. En la pestaña Confianzas , haga clic en Aceptar.

  5. Vaya al objeto de dominio para el dominio de confianza (child.contoso.com).

  6. Repita los pasos 1 a 4 para asegurarse de que la configuración de confianza de este dominio refleja la configuración de confianza para el otro dominio (en este caso, las listas de confianza entrantes y salientes incluyen contoso.com).

Más información

Para obtener más información sobre los TDO, consulte los artículos siguientes:

Para obtener más información sobre los tipos de cifrado Kerberos, consulte los artículos siguientes: