Mengapa akun pengguna Active Directory tidak secara otomatis mendukung otentikasi AES Kerberos?

8

Saya bermain-main dengan domain uji pada Windows Server 2012 R2. Saya beroperasi pada tingkat fungsional setinggi mungkin dan tidak memiliki masalah kompatibilitas ke belakang di lingkungan pengujian kecil saya. Namun, saya menyadari bahwa meskipun saya memiliki dukungan untuk otentikasi Kerberos AES, itu tidak diaktifkan secara default untuk setiap pengguna. Saya harus benar-benar masuk ke properti pengguna dan mencentang "Akun ini mendukung enkripsi Kerberos AES 128 bit" dan / atau "Akun ini mendukung enkripsi Kerberos AES 256 bit" untuk mengaktifkannya.

(Saya pertama kali menyadari ini ketika menambahkan akun pengujian ke grup "Pengguna yang Dilindungi", yang menetapkan kebijakan untuk memerlukan AES. Setelah itu, semua login jaringan saya mulai gagal sampai saya memeriksa kotak-kotak itu.)

Saya pikir ini mungkin dinonaktifkan secara default untuk memastikan kompatibilitas ke belakang untuk beberapa sistem, tetapi saya tidak dapat menemukan cara untuk mengaktifkan ini untuk semua pengguna, atau bahkan penjelasan tentang perilaku saat ini.

Ada ide?

Reid Rankin
sumber

Jawaban:

10

Memeriksa kotak centang Kerberos AES untuk pengguna akan menyebabkan kegagalan otentikasi pada klien pra-Vista. Ini mungkin alasan bahwa itu tidak diatur secara default.

Kotak centang dukungan Kerberos AES sesuai dengan nilai yang ditetapkan dalam atribut yang disebut msDS-SupportedEncryptionTypes

Untuk mengubah ini untuk lebih dari satu pengguna, Anda dapat menggunakan PowerShell dan modul 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
sumber
Apakah ada cara untuk mengatur ini secara default pada pengguna baru?
Reid Rankin
2
Anda mungkin dapat menjadikan ini sebagai default untuk pengguna baru dengan memodifikasi skema AD. Anda mungkin harus menanyakannya sebagai pertanyaan terpisah jika Anda menginginkan jawaban yang lebih terperinci.
Ryan Bolger
Karena klien pra-Vista telah kehilangan dukungan selama bertahun-tahun sekarang, alangkah baiknya jika Microsoft akhirnya mengaktifkan tipe enkripsi AES secara default untuk semua pengguna yang tidak memiliki atribut msDS-SupportedEncryptionType.
Markus Kuhn