Configuration requise du serveur SharePoint pour prendre en charge le chiffrement Kerberos AES si des erreurs se produisent

Numéro de la base de connaissances d’origine : 4501051

Symptômes

Vous recevez des erreurs après avoir modifié le paramètre Sécurité réseau : Configurer les types de chiffrement autorisés pour Kerberos via une stratégie locale ou un objet de stratégie de groupe à partir des valeurs par défaut vers une valeur qui autorise uniquement les types de chiffrement suivants :

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Types de chiffrement futurs

Si des erreurs sont écrites dans les journaux du système de journalisation universel (ULS) SharePoint, elles indiquent que le type de chiffrement demandé n’est pas pris en charge par le KDC. Les actions qui déclenchent ces erreurs incluent (sans s’y limiter) :

  • Accès à la page Gérer le compte de service dans l’Administration centrale
  • Accès à la page Administration de la recherche (la topologie de recherche peut ne pas s’afficher)
  • Apporter des modifications à la configuration de la recherche

Le message d’erreur sous-jacent écrit dans les journaux ULS SharePoint est le suivant :

Exception : System.ServiceModel.Security.SecurityNegotiationException : un appel à SSPI a échoué. Consultez l’exception interne.
>--- System.Security.Authentication.AuthenticationException : un appel à SSPI a échoué. Consultez l’exception interne.
>--- System.ComponentModel.Win32Exception : le type de chiffrement demandé n’est pas pris en charge par le KDC
--- Fin du --- de trace de la pile d’exceptions interne

L’application de service Project Server peut également enregistrer un message similaire :

PWA :https://<SharePoint>/<Site>, ServiceApp :PWA, User :i :0#.w|Domaine\UserId,
PSI : échec de l’envoi de la notification de travail à la file d’attente pour le GUID> de site<, exception System.ServiceModel. Security.SecurityNegotiationException : un appel à SSPI a échoué. Consultez l’exception interne.
>--- System.Security.Authentication.AuthenticationException : un appel à SSPI a échoué. Consultez exception interne.
>--- System.ComponentModel.Win32Exception : le type de chiffrement demandé n’est pas pris en charge par le KDC

Pendant le processus d’approvisionnement des services de profil utilisateur, vous ne pouvez pas démarrer le service de synchronisation des profils utilisateur.

Lorsque vous démarrez le service de profil utilisateur dans l’Administration centrale, le service démarre, puis s’arrête immédiatement. L’inspection de l’ULS SharePoint indique que l’échec de démarrage est dû aux éléments suivants :

« UserProfileApplication.SynchronizeMIIS : Échec de la configuration de l’ILM, va tenter de réexécuter.
Exception : System.Security.SecurityException : le type de chiffrement demandé n’est pas pris en charge par le KDC. »

D’autres composants peuvent écrire des messages d’erreur indiquant que le type de chiffrement demandé n’est pas pris en charge par le KDC.

Cause

Ce comportement se produit en raison d’un conflit entre la stratégie locale ou la stratégie de groupe personnalisée et les propriétés du compte de service dans Active Directory. Lorsque vous configurez le paramètre de propriété Sécurité réseau : Configurer les types de chiffrement autorisés pour Kerberos afin que le serveur ne prenne en charge que les types de chiffrement AES et les types de chiffrement futurs, le serveur ne prend pas en charge les types de chiffrement Kerberos plus anciens dans les tickets Kerberos. Il est également important de noter que les objets de compte d’utilisateur créés dans Active Directory ne sont pas configurés pour prendre en charge le chiffrement AES Kerberos par défaut.

Si le serveur est configuré pour exiger des types de chiffrement AES pour Kerberos, mais que les propriétés du compte de service dans Active Directory n’ont pas été mises à jour pour prendre en charge le chiffrement AES, le résultat est un scénario où le serveur ne peut pas négocier un type de chiffrement commun pour les tickets Kerberos.

Résolution

Pour résoudre ce problème, procédez comme suit :

  1. Identifiez tous les comptes utilisés dans SharePoint en tant que comptes de pool d’applications et comptes de service.

  2. Recherchez les comptes dans Utilisateurs et ordinateurs Active Directory.

  3. Sélectionnez Propriétés.

  4. Sélectionnez l’onglet Compte .

  5. Dans la section intitulée Options de compte, vérifiez que l’une des options suivantes ou les deux sont sélectionnées. Cela permet de prendre en charge le chiffrement AES Kerberos sur les objets utilisateur suivants :

    • Ce compte prend en charge le chiffrement Kerberos AES 128 bits
    • Ce compte prend en charge le chiffrement Kerberos AES 256 bits
  6. Effectuez un iisreset sur les serveurs et redémarrez tous les services liés à SharePoint qui s’exécutent dans le contexte des comptes de service modifiés.

Si le problème n’est pas résolu, essayez la résolution dans SCCM : « Le type de chiffrement demandé n’est pas pris en charge par le KDC » Lors de l’exécution des rapports.

Informations supplémentaires

Pour case activée si votre serveur SharePoint est configuré pour prendre en charge uniquement les types de chiffrement AES ou les types plus récents :

  1. Sur le serveur, démarrez la stratégie de sécurité locale Rédacteur (secpol.msc).
  2. Développez Paramètres >de sécuritéStratégies> localesOptions de sécurité.
  3. Localisez sécurité réseau : configurez les types de chiffrement autorisés pour Kerberos.
  4. Sélectionnez Propriétés.

Si seules les options suivantes sont sélectionnées :

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Types de chiffrement futurs

Capture d’écran des types de chiffrement autorisés pour Kerberos.

Ensuite, vous devez activer la prise en charge du chiffrement AES Kerberos sur les objets utilisateur Active Directory utilisés pour exécuter les services SharePoint et les pools d’applications.

Vous pouvez utiliser le script PowerShell suivant pour identifier les comptes de service SharePoint et tester s’ils sont configurés pour prendre en charge les types de chiffrement AES :

Add-PSSnapin Microsoft.SharePoint.Powershell
$AES_128 = 0x8
$AES_256 = 0x10
$Separator="\"
$option = [System.StringSplitOptions]::RemoveEmptyEntries
Write-Host "Retrieving SharePoint Managed Accounts" -ForegroundColor White
$SharePointAccounts=""
$ManagedAccounts=Get-SPManagedAccount
foreach ($ManagedAccount in $ManagedAccounts)
{
Write-Host "Checking Account: "$ManagedAccount.Username
$temp=$ManagedAccount.Username
$samaccountName=$temp.Split($separator,2, $option)[1]
$userobj=([adsisearcher]"samAccountName=$samaccountName").FindOne()
$EncryptionTypes=$userobj.properties.Item('msds-supportedencryptiontypes')[0]
#$EncryptionTypes
$HexValue='{0:X}' -f $EncryptionTypes
if ($EncryptionTypes -band $AES_128)
{
Write-Host "Account Supports AES128 bit encryption " -ForegroundColor Green
}
Else
{
Write-Host "Account Does Not have AES128 bit encryption support enabled" -ForegroundColor Red
}
if ($EncryptionTypes -band $AES_256)
{
Write-Host "Account Supports AES256 bit encryption " -ForegroundColor Green
}
Else
{ Write-Host "Account Does Not have AES256 bit encryption support enabled" -ForegroundColor Red
}
}
====================== END SCRIPT ========================================================