Почему учетные записи пользователей Active Directory автоматически не поддерживают аутентификацию Kerberos AES?

8

Я играю с тестовым доменом на Windows Server 2012 R2. Я работаю на максимально возможном функциональном уровне и у меня нет проблем обратной совместимости в моей небольшой тестовой среде. Однако я понял, что, несмотря на то, что у меня есть поддержка аутентификации Kerberos AES, она не включена по умолчанию ни для каких пользователей. Я должен на самом деле зайти в свойства пользователя и отметить «Эта учетная запись поддерживает 128-битное шифрование Kerberos AES» и / или «Эта учетная запись поддерживает 256-битное шифрование Kerberos AES», чтобы включить ее.

(Впервые я понял это при добавлении тестовой учетной записи в группу «Защищенные пользователи», которая устанавливает политику, требующую AES. После этого все сетевые входы в систему начинали давать сбой, пока я не установил эти флажки.)

Я полагаю, что это может быть отключено по умолчанию для обеспечения обратной совместимости для некоторых систем, но я не могу найти способ включить это для всех пользователей или даже объяснить текущее поведение.

Любые идеи?

Рейд Ранкин
источник

Ответы:

10

Установка флажков Kerberos AES для пользователей может привести к сбоям аутентификации на клиентах, предшествующих Vista. Вероятно, это причина того, что он не установлен по умолчанию.

Флажки поддержки Kerberos AES соответствуют значению, установленному в атрибуте с именем msDS-SupportedEncryptionTypes

Чтобы изменить это для более чем одного пользователя, вы можете использовать PowerShell и модуль 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)}
    }
}
Матиас Р. Ессен
источник
Есть ли способ установить это по умолчанию для новых пользователей?
Рейд Ранкин
2
Вероятно, вы можете сделать это по умолчанию для новых пользователей, изменив схему AD. Вероятно, вам следует задать его как отдельный вопрос, если вы хотите получить более подробный ответ.
Райан Болджер
Поскольку клиенты до Vista не поддерживаются уже много лет, было бы неплохо, если бы Microsoft наконец-то включила типы шифрования AES по умолчанию для всех пользователей, у которых отсутствует атрибут msDS-SupportedEncryptionType.
Маркус Кун