¿Por qué las cuentas de usuario de Active Directory no admiten automáticamente la autenticación Kerberos AES?

8

Estoy jugando con un dominio de prueba en Windows Server 2012 R2. Estoy operando al nivel funcional más alto posible y no tengo problemas de compatibilidad con versiones anteriores en mi pequeño entorno de prueba. Sin embargo, me di cuenta de que a pesar de que tengo soporte para la autenticación Kerberos AES, no está habilitada de manera predeterminada para ningún usuario. Tengo que ir a las propiedades de un usuario y marcar "Esta cuenta es compatible con el cifrado Kerberos AES de 128 bits" y / o "Esta cuenta es compatible con el cifrado Kerberos AES de 256 bits" para habilitarla.

(Primero me di cuenta de esto cuando agregué una cuenta de prueba al grupo "Usuarios protegidos", que establece que la política requiera AES. Luego, todos mis inicios de sesión de red comenzaron a fallar hasta que marqué esas casillas).

Creo que esto podría deshabilitarse de forma predeterminada para garantizar la compatibilidad con versiones anteriores para algunos sistemas, pero no puedo encontrar una manera de habilitar esto para todos los usuarios, o incluso una explicación del comportamiento actual.

¿Algunas ideas?

Reid Rankin
fuente

Respuestas:

10

Marcar las casillas de verificación Kerberos AES para los usuarios causaría fallas de autenticación en clientes anteriores a Vista. Esta es probablemente la razón por la que no está configurado de forma predeterminada.

Las casillas de verificación de soporte Kerberos AES corresponden al valor establecido en un atributo llamado msDS-SupportedEncryptionTypes

Para cambiar esto para más de un usuario, puede utilizar PowerShell y el módulo ActiveDirectory:

# The numerical values for Kerberos AES encryption types to support
$AES128 = 0x8
$AES256 = 0x10

# Fetch all users from an OU with their current support encryption types attribute
$Users = Get-ADUser -Filter * -SearchBase "OU=SecureUsers,OU=Users,DC=domain,DC=tld" -Properties "msDS-SupportedEncryptionTypes"
foreach($User in $Users)
{
    # If none are currently supported, enable AES256
    $encTypes = $User."msDS-SupportedEncryptionType"
    if(($encTypes -band $AES128) -ne $AES128 -and ($encTypes -band $AES256) -ne $AES256)
    {
        Set-ADUser $User -Replace @{"msDS-SupportedEncryptionTypes"=($encTypes -bor $AES256)}
    }
}
Mathias R. Jessen
fuente
¿Hay alguna forma de configurar esto de manera predeterminada en los nuevos usuarios?
Reid Rankin
2
Es probable que pueda hacer que este sea el valor predeterminado para los nuevos usuarios modificando el esquema AD. Sin embargo, probablemente debería formularla como una pregunta separada si desea una respuesta más detallada.
Ryan Bolger
Como los clientes anteriores a Vista han estado fuera de soporte durante muchos años, sería bueno que Microsoft finalmente habilitara los tipos de cifrado AES de forma predeterminada para todos los usuarios que carecen de un atributo msDS-SupportedEncryptionType.
Markus Kuhn el