O que é KDFv2 para AD FS?

Em 13 de julho de 2021, foram lançadas atualizações para o AD FS resolver ataques de reprodução de token, conforme descrito em CVE-2021-33779. Essas atualizações apresentam novas configurações para habilitar e controlar uma nova KDF (Função de Derivação de Chaves), chamada "KDFv2". Essa nova versão da função de derivação de chaves é mais segura do que a versão anterior. Este documento descreve as novas configurações habilitadas pela correção de segurança para CVE-2021-33779 e como habilitá-las em diferentes cenários de implantação. Para obter números de KB específicos do produto e downloads relacionados, consulte os links fornecidos no artigo de CVE.

Configurações da KDFv2:

A KDFv2 pode ser configurada por um Administrador em um servidor do AD FS para ser executada em um dos vários modos, que são os seguintes:

  • Nenhum – (valor padrão) Usado para controlar se o valor de configuração da KDFv2 foi alterado. Esse valor pode não ser definido por um Administrador.
  • Disabled – Esse valor pode ser definido para reverter a Função de Derivação de Chaves para seu comportamento original, caso haja problemas encontrados ao habilitar a KDFv2.
  • Enabled – Habilite o suporte à KDFv2. O servidor do ADFS anunciará que é compatível com os novos recursos. Se uma solicitação de PRT (Token de Atualização Primária) inicial for enviada de um cliente usando a versão original da KDF, o ADFS aceitará a solicitação e usará a KDF original. Isso permite o suporte de clientes não corrigidos.
  • Enforced – Habilite o suporte à KDFv2 e não permita (rejeite) solicitações PRT iniciais usando a KDF original. Quando um Administrador tiver certeza de que todos os clientes foram corrigidos, eles poderão mudar para o modo imposto.

Os modos da KDFv2 podem ser alterados por um Administrador em um servidor do AD FS por meio dos seguintes comandos do PowerShell:

  • Enable KDFv2:
Set-AdfsProperties -KdfV2Support enable 
  • Disable KDFv2:
Set-AdfsProperties -KdfV2Support disable 
  • Enforce KDFv2:
Set-AdfsProperties -KdfV2Support enforce  

Um Administrador pode executar Get-AdfsProperties para verificar a configuração atual da KDFv2. O valor retornado KdfV2Support corresponderá ao modo configurado.

Cenários de implantação

Dependendo da versão do sistema operacional que os servidores do AD FS estão executando quando corrigidos para dar suporte à KDFv2, a KDFv2 pode ser habilitada automaticamente. Além disso, os eventos que dependem da versão do sistema operacional podem ser registrados para indicar o estado da KDFv2 no farm. Veja a seguir possíveis cenários de implantação e comportamentos esperados.

Cenário 1: o Windows Server 2019 ou superior está instalado em todos os servidores do AD FS em um farm. Um ou mais nós de farm não foram corrigidos.

Comportamento esperado: se todos os nós no farm não forem corrigidos, o evento de erro abaixo será registrado indicando as ações de correção recomendadas. Esse evento será registrado a cada 24 horas até que todos os nós no farm sejam corrigidos. Depois que todos os nós forem corrigidos, a KDFv2 será habilitada automaticamente para todos os sistemas no farm por meio do modo "Enable".

 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. 

Cenário 2: o Windows Server 2016 está instalado em um ou mais servidores em um farm. Todos os servidores estão executando o Windows 2016 ou superior. Um ou mais nós de farm não foram corrigidos.

Comportamento esperado: se todos os nós no farm não forem corrigidos, o evento de erro abaixo será registrado indicando as ações de correção recomendadas. Esse evento será registrado a cada 24 horas até que todos os nós no farm sejam corrigidos. Depois que todos os nós forem corrigidos, a KDFv2 deverá ser habilitada manualmente em todos os servidores no 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. 

Cenário 3: o Windows Server 2019 ou superior está instalado em todos os servidores do ADFS em um farm. Todos os servidores no farm foram corrigidos.

Comportamento esperado: depois que a KDFv2 for habilitada automaticamente no farm, conforme descrito no Cenário 1 acima, o evento abaixo será registrado.

 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. 

Observação

O evento 182 não será registrado se os servidores em um farm estiverem executando o Windows Server 2016.

Cenário 4: o administrador desabilitou a KDFv2 em um ou mais servidores em seu ambiente.

Comportamento esperado: a mensagem de log abaixo será registrada em cada sistema no farm em que a KDFv2 foi desabilitada, no início do serviço do 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. 

Avançar