Por que as contas de usuário do Active Directory não oferecem suporte automaticamente à autenticação Kerberos AES?

8

Estou brincando com um domínio de teste no Windows Server 2012 R2. Estou operando no nível funcional mais alto possível e não tenho problemas de compatibilidade com versões anteriores em meu pequeno ambiente de teste. No entanto, percebi que, apesar de ter suporte para autenticação Kerberos AES, ela não está ativada por padrão para nenhum usuário. Preciso realmente acessar as propriedades de um usuário e marcar "Esta conta oferece suporte à criptografia Kerberos AES de 128 bits" e / ou "Esta conta oferece suporte à criptografia Kerberos AES de 256 bits" para habilitá-la.

(Percebi isso ao adicionar uma conta de teste ao grupo "Usuários protegidos", que define a diretiva para exigir o AES. Depois, todos os meus logons de rede começaram a falhar até eu marcar essas caixas.

Eu acho que isso pode estar desabilitado por padrão para garantir compatibilidade com versões anteriores de alguns sistemas, mas não consigo encontrar uma maneira de habilitar isso para todos os usuários, ou mesmo uma explicação do comportamento atual.

Alguma ideia?

Reid Rankin
fonte

Respostas:

10

Marcar as caixas de seleção Kerberos AES dos usuários causaria falhas de autenticação nos clientes anteriores ao Vista. Provavelmente, esse é o motivo de não estar definido por padrão.

As caixas de seleção do suporte AES do Kerberos correspondem ao valor definido em um atributo chamado msDS-SupportedEncryptionTypes

Para alterar isso para mais de um usuário, você pode utilizar o PowerShell e o 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
fonte
Existe alguma maneira de definir isso por padrão em novos usuários?
Reid Rankin
2
Você provavelmente pode tornar isso o padrão para novos usuários modificando o esquema do AD. Você provavelmente deve fazer isso como uma pergunta separada, se quiser uma resposta mais detalhada.
Ryan Bolger
Como os clientes anteriores ao Vista estão sem suporte há muitos anos, seria bom se a Microsoft finalmente ativasse os tipos de criptografia AES por padrão para todos os usuários que não possuem o atributo msDS-SupportedEncryptionType.
Markus Kuhn