Warum unterstützen Active Directory-Benutzerkonten die Kerberos AES-Authentifizierung nicht automatisch?

8

Ich spiele mit einer Testdomäne unter Windows Server 2012 R2 herum. Ich arbeite auf der höchstmöglichen Funktionsebene und habe in meiner kleinen Testumgebung keine Abwärtskompatibilitätsprobleme. Ich habe jedoch festgestellt, dass die Kerberos AES-Authentifizierung trotz der Tatsache, dass sie unterstützt wird, standardmäßig für keine Benutzer aktiviert ist. Ich muss tatsächlich in die Eigenschaften eines Benutzers gehen und "Dieses Konto unterstützt Kerberos AES 128-Bit-Verschlüsselung" und / oder "Dieses Konto unterstützt Kerberos AES 256-Bit-Verschlüsselung" abhaken, um es zu aktivieren.

(Dies wurde mir zum ersten Mal klar, als ich der Gruppe "Geschützte Benutzer" ein Testkonto hinzufügte, in dem die Richtlinie so festgelegt ist, dass AES erforderlich ist. Danach schlugen alle meine Netzwerkanmeldungen fehl, bis ich diese Kontrollkästchen aktivierte.)

Ich gehe davon aus, dass dies möglicherweise standardmäßig deaktiviert ist, um die Abwärtskompatibilität für einige Systeme zu gewährleisten, aber ich kann keine Möglichkeit finden, dies für alle Benutzer zu aktivieren, oder sogar eine Erklärung des aktuellen Verhaltens.

Irgendwelche Ideen?

Reid Rankin
quelle

Antworten:

10

Das Aktivieren der Kerberos AES-Kontrollkästchen für die Benutzer würde zu Authentifizierungsfehlern auf Clients vor Vista führen. Dies ist wahrscheinlich der Grund, warum es nicht standardmäßig eingestellt ist.

Die Kontrollkästchen für die Kerberos AES-Unterstützung entsprechen dem Wert, der in einem aufgerufenen Attribut festgelegt ist msDS-SupportedEncryptionTypes

Um dies für mehr als einen Benutzer zu ändern, können Sie PowerShell und das ActiveDirectory-Modul verwenden:

# 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
quelle
Gibt es eine Möglichkeit, dies standardmäßig für neue Benutzer festzulegen?
Reid Rankin
2
Sie können dies wahrscheinlich zum Standard für neue Benutzer machen, indem Sie das AD-Schema ändern. Sie sollten es wahrscheinlich als separate Frage stellen, wenn Sie eine detailliertere Antwort wünschen.
Ryan Bolger
Da Pre-Vista-Clients seit vielen Jahren nicht mehr unterstützt werden, wäre es schön, wenn Microsoft die AES-Verschlüsselungstypen standardmäßig für alle Benutzer aktivieren würde, denen ein msDS-SupportedEncryptionType-Attribut fehlt.
Markus Kuhn