Freigeben über


SharePoint-Serverkonfigurationsanforderungen zur Unterstützung der Kerberos-AES-Verschlüsselung, wenn Fehler auftreten

Ursprüngliche KB-Nummer: 4501051

Symptome

Nachdem Sie die Einstellung "Netzwerksicherheit" geändert haben, erhalten Sie Fehler: Konfigurieren von Verschlüsselungstypen, die für Kerberos über lokale Richtlinien oder GPO zulässig sind, von den Standardwerten auf einen Wert, der nur die folgenden Verschlüsselungstypen zulässt:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Zukünftige Verschlüsselungstypen

Wenn Fehler in die ULS-Protokolle (Universal Logging System) von SharePoint geschrieben werden, geben sie an, dass der angeforderte Verschlüsselungstyp vom KDC nicht unterstützt wird. Aktionen, die diese Fehler auslösen( sind jedoch nicht beschränkt auf):

  • Zugreifen auf die Seite "Dienstkonto verwalten" in der Zentraladministration
  • Zugreifen auf die Suchverwaltungsseite (die Suchtopologie wird möglicherweise nicht angezeigt)
  • Vornehmen von Änderungen an der Suchkonfiguration

Die zugrunde liegende Fehlermeldung, die in die SharePoint ULS-Protokolle geschrieben wurde, ist:

Ausnahme: System.ServiceModel.Security.SecurityNegotiationException: Ein Aufruf von SSPI ist fehlgeschlagen, siehe innere Ausnahme.
---> System.Security.Authentication.AuthenticationException: Ein Aufruf von SSPI ist fehlgeschlagen, siehe innere Ausnahme.
>--- System.ComponentModel.Win32Exception: Der angeforderte Verschlüsselungstyp wird vom KDC nicht unterstützt.
--- Ende der inneren Ausnahme für Stapelüberwachung ---

Die Project Server-Dienstanwendung kann auch eine ähnliche Meldung protokollieren:

PWA:https://<SharePoint>/<Site>, ServiceApp:PWA, User:i:0#.w|Domain\UserId,
PSI: Fehler beim Senden der Auftragsbenachrichtigung an die Warteschlange für die Website-GUID<>, Ausnahme "System.ServiceModel". Security.SecurityNegotiationException: Fehler beim Aufruf von SSPI, siehe innere Ausnahme.
>--- System.Security.Authentication.AuthenticationException: Ein Aufruf von SSPI ist fehlgeschlagen, siehe innere Ausnahme.
>--- System.ComponentModel.Win32Exception: Der angeforderte Verschlüsselungstyp wird vom KDC nicht unterstützt.

Während der Bereitstellung von Benutzerprofildiensten können Sie den Benutzerprofilsynchronisierungsdienst nicht starten.

Beim Starten des Benutzerprofildiensts in der Zentraladministration wird der Dienst gestartet und dann sofort beendet. Die Überprüfung der SharePoint-ULS weist darauf hin, dass der Startfehler das Ergebnis der folgenden Ist:

"UserProfileApplication.SynchronizeMIIS: Fehler beim Konfigurieren von ILM, versucht erneut zu führen.
Ausnahme: System.Security.SecurityException: Der angeforderte Verschlüsselungstyp wird vom KDC nicht unterstützt."

Andere Komponenten schreiben möglicherweise Fehlermeldungen, die angeben, dass der angeforderte Verschlüsselungstyp vom KDC nicht unterstützt wird.

Ursache

Dieses Verhalten tritt aufgrund eines Konflikts zwischen der benutzerdefinierten lokalen Richtlinie oder Gruppenrichtlinie und den Eigenschaften des Dienstkontos in Active Directory auf. Wenn Sie die Eigenschaftseinstellung Netzwerksicherheit konfigurieren: Konfigurieren sie für Kerberos zulässige Verschlüsselungstypen, sodass der Server nur AES-Verschlüsselungstypen und zukünftige Verschlüsselungstypen unterstützt, unterstützt der Server ältere Kerberos-Verschlüsselungstypen in Kerberos-Tickets nicht. Es ist auch wichtig zu beachten, dass Benutzerkontenobjekte, die in Active Directory erstellt wurden, nicht standardmäßig für die Unterstützung der Kerberos-AES-Verschlüsselung konfiguriert sind.

Wenn der Server so konfiguriert ist, dass AES-Verschlüsselungstypen für Kerberos erforderlich sind, die Eigenschaften des Dienstkontos in Active Directory jedoch nicht aktualisiert wurden, um die AES-Verschlüsselung zu unterstützen, ist das Ergebnis ein Szenario, in dem der Server keinen gemeinsamen Verschlüsselungstyp für Kerberos-Tickets aushandeln kann.

Lösung

Gehen Sie folgendermaßen vor, um das Problem zu beheben:

  1. Identifizieren Sie alle Konten, die in SharePoint als Anwendungspoolkonten und Dienstkonten verwendet werden.

  2. Suchen Sie die Konten in Active Directory-Benutzer und -Computer.

  3. Wählen Sie Eigenschaften aus.

  4. Wählen Sie die Registerkarte Konto aus.

  5. Stellen Sie im Abschnitt " Kontooptionen" sicher, dass eine oder beide der folgenden Optionen ausgewählt sind. Dies ermöglicht die Unterstützung der Kerberos-AES-Verschlüsselung für diese Benutzerobjekte:

    • Dieses Konto unterstützt Kerberos-AES-128-Bit-Verschlüsselung
    • Dieses Konto unterstützt Kerberos-AES-256-Bit-Verschlüsselung
  6. Führen Sie eine iisreset auf den Servern aus, und starten Sie alle sharePoint-bezogenen Dienste neu, die im Kontext der geänderten Dienstkonten ausgeführt werden.

Wenn das Problem nicht behoben ist, probieren Sie die Lösung in SCCM aus: "Der angeforderte Verschlüsselungstyp wird vom KDC nicht unterstützt" Fehler beim Ausführen von Berichten.

Weitere Informationen

So überprüfen Sie, ob Ihr SharePoint-Server so konfiguriert ist, dass nur AES-Verschlüsselungstypen oder neuere Typen unterstützt werden:

  1. Starten Sie auf dem Server den Editor für lokale Sicherheitsrichtlinien (secpol.msc).
  2. Erweitern Sie die Sicherheitseinstellungen>für lokale Richtlinien>– Sicherheitsoptionen.
  3. Netzwerksicherheit suchen : Konfigurieren von Verschlüsselungstypen, die für Kerberos zulässig sind.
  4. Wählen Sie Eigenschaften aus.

Wenn nur die folgenden Optionen ausgewählt sind:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Zukünftige Verschlüsselungstypen

Screenshot der für Kerberos zulässigen Verschlüsselungstypen.

Anschließend müssen Sie die Unterstützung für die Kerberos-AES-Verschlüsselung für die Active Directory-Benutzerobjekte aktivieren, die zum Ausführen von SharePoint-Diensten und Anwendungspools verwendet werden.

Sie können das folgende PowerShell-Skript verwenden, um die SharePoint-Dienstkonten zu identifizieren und zu testen, ob sie für die Unterstützung von AES-Verschlüsselungstypen konfiguriert sind:

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