Konfigurationskrav för SharePoint-server för stöd för Kerberos AES-kryptering om fel uppstår

Ursprungligt KB-nummer:   4501051

Symptom

Du får felmeddelanden när du har ändrat inställningen Nätverkssäkerhet: Konfigurera krypteringstyper som tillåts för Kerberos via lokal princip eller GPO från standardvärden till ett värde som bara tillåter följande krypteringstyper:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Framtida krypteringstyper

Om felen är skrivna till SHAREPoint ULS-loggarna (Universal Logging System) anger de att krypteringstypen som begärs inte stöds av KDC. Åtgärder som utlöser dessa fel är bland annat (men inte begränsade till):

  • Åtkomst till sidan Hantera tjänstkonto i Central administration
  • Åtkomst till sidan Sökadministration (Söktopologi kanske inte visas)
  • Göra ändringar i sökkonfigurationen

Det underliggande felmeddelandet som skrivits till SharePoint ULS-loggarna är:

Undantag: System.ServiceModel.Security.SecurityNegotiationException: Ett samtal till SSPI misslyckades, se inre undantag.
---> System.Security.Authentication.AuthenticationException: Ett samtal till SSPI misslyckades, se inre undantag.
---> System.ComponentModel.Win32Exception: Krypteringstypen som begärs stöds inte av KDC
--- Slutet av den inre undantagsstapelspårningen ---

Project Server-tjänstprogrammet kan också logga ett liknande meddelande:

PWA: https://<SharePoint>/<Site> , ServiceApp:PWA, Användare:i:0#.w| Domän\UserId,
PSI: det gick inte att skicka jobbaviseringar till kö <Guid> för plats , undantag System.ServiceModel. Security.SecurityNegotiationException: Ett samtal till SSPI misslyckades, se inre undantag.
---> System.Security.Authentication.AuthenticationException: Ett samtal till SSPI misslyckades, se inre undantag.
---> System.ComponentModel.Win32Exception: Krypteringstypen som begärs stöds inte av KDC

Under processen med att etablera användarprofiltjänster kan du inte starta synkroniseringstjänsten för användarprofiler.

När användarprofiltjänsten startas i Central administration startas tjänsten och avslutas sedan omedelbart. Kontrollen av SharePoint ULS visar att det inte går att starta beror på följande:

"UserProfileApplication.SynchronizeMIIS: Failed to configure ILM, will attempt to rerun.
Undantag: System.Security.SecurityException: Krypteringstypen som begärs stöds inte av KDC."

Andra komponenter kan skriva felmeddelanden som anger att den krypteringstyp som begärs inte stöds av KDC.

Orsak

Detta inträffar på grund av en konflikt mellan den anpassade lokala principen eller grupprincipen och tjänstkontots egenskaper i Active Directory. När du konfigurerar egenskapsinställningen Nätverkssäkerhet: Konfigurera krypteringstyper som tillåts för Kerberos så att servern bara har stöd för AES-krypteringstyper och framtida krypteringstyper, stöder servern inte äldre Kerberos-krypteringstyper för Kerberos-biljetter. Det är också viktigt att observera att användarkontoobjekt som skapats i Active Directory inte är konfigurerade för att stödja Kerberos AES-kryptering som standard.

Om servern är konfigurerad för att kräva AES-krypteringstyper för Kerberos, men tjänstkontots egenskaper i Active Directory inte har uppdaterats för att stödja AES-kryptering, blir resultatet ett scenario där servern inte kan förhandla fram en vanlig krypteringstyp för Kerberos-biljetter.

Lösning

Lös problemet genom att följa de här stegen:

  1. Identifiera alla konton som används i SharePoint som programpoolkonton och tjänstkonton.

  2. Leta reda på kontona i Active Directory - användare och datorer.

  3. Välj Egenskaper.

  4. Välj fliken Konto.

  5. I avsnittet Kontoalternativ ser du till att ett eller båda av följande alternativ är markerade. Det här aktiverar stöd för Kerberos AES-kryptering för dessa användarobjekt:

    • Det här kontot har stöd för Kerberos AES 128-bitars kryptering
    • Det här kontot har stöd för Kerberos AES 256-bitars kryptering
  6. Utför en iisreset på servrarna och starta om alla SharePoint-relaterade tjänster som körs i samband med de ändrade tjänstkontona.

Mer information

Så här kontrollerar du om SharePoint-servern endast har stöd för AES-krypteringstyper eller nyare typer:

  1. På servern startar du redigeraren för lokala säkerhetsprinciper (secpol.msc).
  2. Expandera Säkerhetsinställningar > Lokala principer > Säkerhetsalternativ.
  3. Hitta nätverkssäkerhet: Konfigurera krypteringstyper som tillåts för Kerberos.
  4. Välj Egenskaper.

Om endast följande Alternativ är markerade:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Framtida krypteringstyper

Skärmbild av krypteringstyper som tillåts för Kerberos.

Sedan måste du aktivera stöd för Kerberos AES-kryptering för Active Directory-användarobjekt som används för att köra SharePoint-tjänster och programpooler.

Du kan använda följande PowerShell-skript för att identifiera SharePoint-tjänstkonton och testa om de är konfigurerade för att stödja AES-krypteringstyper:

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 ========================================================