Perché gli account utente di Active Directory non supportano automaticamente l'autenticazione AES Kerberos?


8

Sto giocando con un dominio di prova su Windows Server 2012 R2. Sto operando al massimo livello funzionale possibile e non ho problemi di retrocompatibilità nel mio piccolo ambiente di test. Tuttavia, mi sono reso conto che, nonostante il supporto per l'autenticazione AES Kerberos, non è abilitato per impostazione predefinita per nessun utente. Devo effettivamente andare nelle proprietà di un utente e selezionare "Questo account supporta la crittografia Kerberos AES a 128 bit" e / o "Questo account supporta la crittografia Kerberos AES a 256 bit" per abilitarlo.

(L'ho capito per la prima volta quando ho aggiunto un account di prova al gruppo "Utenti protetti", che imposta i criteri per richiedere AES. Successivamente, tutti i miei accessi alla rete hanno iniziato a fallire fino a quando non ho spuntato quelle caselle.)

Immagino che questo potrebbe essere disabilitato di default per garantire la retrocompatibilità per alcuni sistemi, ma non riesco a trovare un modo per abilitarlo per tutti gli utenti, o anche una spiegazione del comportamento attuale.

Qualche idea?

Risposte:


10

Il controllo delle caselle di controllo AES Kerberos per gli utenti causerebbe errori di autenticazione sui client pre-Vista. Questo è probabilmente il motivo per cui non è impostato di default.

Le caselle di controllo del supporto AES Kerberos corrispondono al valore impostato in un attributo chiamato msDS-SupportedEncryptionTypes

Per modificarlo per più di un utente, è possibile utilizzare PowerShell e il modulo 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)}
    }
}

C'è un modo per impostare questo per impostazione predefinita sui nuovi utenti?
Reid Rankin

2
Probabilmente puoi renderlo predefinito per i nuovi utenti modificando lo schema AD. Probabilmente dovresti porlo come una domanda separata se vuoi una risposta più dettagliata però.
Ryan Bolger,

Poiché i client pre-Vista non sono più supportati da molti anni, sarebbe bello se Microsoft avesse finalmente abilitato i tipi di crittografia AES per impostazione predefinita per tutti gli utenti che non dispongono di un attributo msDS-SupportedEncryptionType.
Markus Kuhn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.