Che cos'è KDFv2 per AD FS?

Il 13 luglio 2021 sono stati rilasciati aggiornamenti per AD FS per risolvere gli attacchi di riproduzione dei token, come descritto in CVE-2021-33779. Questi aggiornamenti introducono nuove impostazioni per abilitare e controllare una nuova funzione di derivazione chiave (KDF) denominata "KDFv2". Questa nuova versione di KDF è più sicura rispetto alla versione precedente. Questo documento descrive le nuove impostazioni abilitate dalla correzione di sicurezza per CVE-2021-33779 e come abilitare queste impostazioni in scenari di distribuzione diversi. Per i numeri della Knowledge Base specifici del prodotto e i download correlati, consultare i collegamenti forniti nell'articolo CVE.

Impostazioni KDFv2:

KDFv2 può essere configurato da un amministratore in un server AD FS per l'esecuzione in una delle diverse modalità, come indicato di seguito:

  • Nessuno: (valore predefinito) Viene usato per tenere traccia se il valore dell'impostazione KDFv2 è stato modificato. Questo valore potrebbe non essere impostato da un amministratore.
  • Disabilitato: questo valore può essere impostato per ripristinare il comportamento originale della funzione di derivazione della chiave, nel caso in cui si verifichino problemi durante l'abilitazione di KDFv2.
  • Abilitato: abilitare il supporto KDFv2. Il server ADFS annuncia che supporta le nuove funzionalità. Se una richiesta token di aggiornamento primario iniziale (PRT) viene inviata da un client usando la versione originale di KDF, ADFS accetterà la richiesta e userà la chiave definita dall'utente originale. In questo modo è possibile supportare i client scollegati.
  • Applicato: abilitare il supporto KDFv2 e non consentire (rifiutare) le richieste PRT iniziali usando la KDF iniziale. Una volta che un amministratore è sicuro che tutti i client siano scollegati, può passare alla modalità applicata.

Le modalità KDFv2 possono essere modificate da un amministratore in un server AD FS tramite i comandi di PowerShell seguenti:

  • Abilitare KDFv2:
Set-AdfsProperties -KdfV2Support enable 
  • Disabilitare KDFv2:
Set-AdfsProperties -KdfV2Support disable 
  • Applicare KDFv2:
Set-AdfsProperties -KdfV2Support enforce  

Un amministratore può eseguire Get-AdfsProperties per controllare l'impostazione KDFv2 attuale. Il valore KdfV2Support restituito corrisponderà alla modalità configurata.

Scenari di distribuzione

A seconda della versione del sistema operativo in cui vengono eseguiti i server AD FS quando viene collegato per supportare KDFv2, KDFv2 può essere abilitato automaticamente. Inoltre, gli eventi dipendenti dalla versione del sistema operativo possono essere registrati per indicare lo stato di KDFv2 nella farm. Di seguito sono riportati i possibili scenari di distribuzione e i comportamenti previsti.

Scenario 1: Windows Server 2019 o versione successiva è installato in tutti i server AD FS in una farm. Uno o più nodi della farm vengono scollegati.

Comportamento previsto: se tutti i nodi della farm non vengono scollegati, verrà registrato l'evento di errore seguente che indica le azioni di correzione consigliate. Questo evento verrà registrato ogni 24 ore fino a quando non vengono scollegati tutti i nodi della farm. Dopo aver scollegato tutti i nodi, KDFv2 verrà abilitato automaticamente per tutti i sistemi della farm tramite la modalità "Abilita".

 Source: AD FS  
 Level: Error 
 ID: 181 
 Message: AD FS could not enable the new KDFv2 feature automatically because of missing Windows Updates on one or more nodes of the farm. Please make sure that all the farm nodes are patched with the latest Windows Updates. AD FS checks regularly for the required updates to enable the new KDFv2 feature. An event 182 will be logged when a check is successful. For more information on this, please see  https://go.microsoft.com/fwlink/?linkid=2153807. 

Scenario 2: Windows Server 2016 è installato in uno o più server in una farm. Tutti i server eseguono Windows 2016 o versione successiva. Uno o più nodi della farm vengono scollegati.

Comportamento previsto: se tutti i nodi della farm non vengono scollegati, verrà registrato l'evento di errore seguente che indica le azioni di correzione consigliate. Questo evento verrà registrato ogni 24 ore fino a quando non vengono scollegati tutti i nodi della farm. Dopo aver scollegato tutti i nodi, KDFv2 deve essere abilitato manualmente in tutti i server della farm.

 Source: AD FS  
 Level: Error 
 ID: 185 
 Message: KDFv2 feature is not enabled on AD FS farm. Please make sure that all the farm nodes are patched with latest Windows Updates and the KDFv2 feature is enabled to enhance the security of the farm. For more information on this, please see  https://go.microsoft.com/fwlink/?linkid=2153807. 

Scenario 3: Windows Server 2019 o versione successiva è installato in tutti i server ADFS in una farm. Tutti i server della farm sono stati scollegati.

Comportamento previsto: dopo l'abilitazione automatica di KDFv2 nella farm, come descritto nello scenario 1 precedente, verrà registrato l'evento seguente.

 Source: AD FS 
 Level: Information 
 ID: 182 
 Message: AD FS enabled the new KDFv2 feature successfully. For more information on this, please see https://go.microsoft.com/fwlink/?linkid=2153807. 

Nota

L'evento 182 non verrà registrato se i server in una farm eseguono Windows Server 2016.

Scenario 4: l'amministratore ha disabilitato KDFv2 in uno o più server nel proprio ambiente.

Comportamento previsto: il messaggio di log seguente verrà connesso a ogni sistema nella farm in cui KDFv2 è stato disabilitato, all'avvio del servizio ADFS.

 Source: AD FS 
 Level: Warning 
 ID: 183 
 Message: KDFv2 feature is disabled on AD FS farm. Please make sure that all the farm nodes are patched with latest Windows Updates and the KDFv2 feature is enabled to enhance the security of the farm. For more information on this, please see https://go.microsoft.com/fwlink/?linkid=2153807. 

Avanti