Требования к конфигурации сервера SharePoint для поддержки шифрования AES Kerberos при возникновении ошибок

Исходный номер базы знаний: 4501051

Симптомы

После изменения параметра Сетевая безопасность: настройка типов шифрования, разрешенных для Kerberos с помощью локальной политики или объекта групповой политики, возникают ошибки из значений по умолчанию на значение, разрешающее только следующие типы шифрования:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Будущие типы шифрования

Если ошибки записываются в журналы универсальной системы ведения журнала SharePoint (ULS), они указывают на то, что запрошенный тип шифрования не поддерживается KDC. Действия, вызывающие эти ошибки, включают (но не ограничиваются ими):

  • Доступ к странице "Управление учетной записью службы" в центре администрирования
  • Доступ к странице администрирования поиска (топология поиска может не отображаться)
  • Внесение изменений в конфигурацию поиска

Базовое сообщение об ошибке, записанное в журналы SharePoint ULS:

Исключение: System.ServiceModel.Security.SecurityNegotiationException: сбой вызова SSPI, см. внутреннее исключение.
>--- System.Security.Authentication.AuthenticationException: сбой вызова SSPI, см. внутреннее исключение.
>--- System.ComponentModel.Win32Exception: запрошенный тип шифрования не поддерживается KDC
--- конец --- трассировки внутреннего стека исключений

Приложение-служба Project Server также может записать в журнал аналогичное сообщение:

PWA:https://<SharePoint>/<Site>, ServiceApp:PWA, User:i:0#.w|Domain\UserId,
PSI: не удалось отправить уведомление о задании в очередь для идентификатора guid> сайта<, исключение System.ServiceModel. Security.SecurityNegotiationException: сбой вызова SSPI, см. внутреннее исключение.
>--- System.Security.Authentication.AuthenticationException: сбой вызова SSPI, см. внутреннее исключение.
>--- System.ComponentModel.Win32Exception: запрошенный тип шифрования не поддерживается KDC

В процессе подготовки служб профилей пользователей не удается запустить службу синхронизации профилей пользователей.

При запуске службы профилей пользователей в центре администрирования служба запускается, а затем немедленно останавливается. Проверка sharePoint ULS показывает, что сбой запуска является результатом следующего:

"UserProfileApplication.SynchronizeMIIS: не удалось настроить ILM, будет предпринята попытка повторного запуска.
Исключение: System.Security.SecurityException: запрошенный тип шифрования не поддерживается KDC.

Другие компоненты могут записывать сообщения об ошибках, указывающие, что запрошенный тип шифрования не поддерживается KDC.

Причина

Это происходит из-за конфликта между настраиваемой локальной политикой или групповой политикой и свойствами учетной записи службы в Active Directory. При настройке параметра свойства Сетевая безопасность: настройка типов шифрования, разрешенных для Kerberos , чтобы сервер поддерживал только типы шифрования AES и будущие типы шифрования, сервер не будет поддерживать старые типы шифрования Kerberos в билетах Kerberos. Важно также отметить, что объекты учетных записей пользователей, созданные в Active Directory, по умолчанию не поддерживают шифрование AES Kerberos.

Если для сервера настроены типы шифрования AES для Kerberos, но свойства учетной записи службы в Active Directory не были обновлены для поддержки шифрования AES, результатом является сценарий, в котором сервер не может согласовать общий тип шифрования для билетов Kerberos.

Разрешение

Чтобы устранить эту проблему, выполните следующие действия.

  1. Определите все учетные записи, используемые в SharePoint в качестве учетных записей пула приложений и учетных записей служб.

  2. Найдите учетные записи в Пользователи и компьютеры Active Directory.

  3. Выберите пункт Свойства.

  4. Перейдите на вкладку Учетная запись .

  5. В разделе Параметры учетной записи убедитесь, что выбран один или оба из следующих параметров. Это позволит включить поддержку шифрования AES Kerberos для следующих объектов пользователей:

    • Эта учетная запись поддерживает 128-разрядное шифрование AES Kerberos
    • Эта учетная запись поддерживает 256-разрядное шифрование AES Kerberos.
  6. Выполните на iisreset серверах и перезапустите все связанные с SharePoint службы, работающие в контексте измененных учетных записей служб.

Если проблема не устранена, попробуйте устранить ошибку в SCCM: "Запрошенный тип шифрования не поддерживается KDC" при выполнении отчетов.

Дополнительная информация

Чтобы проверка, поддерживает ли сервер SharePoint только типы шифрования AES или более новые типы, выполните следующие действия.

  1. На сервере запустите локальную политику безопасности Редактор (secpol.msc).
  2. Разверните раздел Параметры безопасности Локальные>политики>Параметры безопасности.
  3. Найдите Сетевая безопасность: настройте типы шифрования, разрешенные для Kerberos.
  4. Выберите пункт Свойства.

Если выбраны только следующие параметры:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Будущие типы шифрования

Снимок экрана: типы шифрования, разрешенные для Kerberos.

Затем необходимо включить поддержку шифрования AES Kerberos для объектов пользователей Active Directory, которые используются для запуска служб SharePoint и пулов приложений.

Чтобы определить учетные записи служб SharePoint и проверить, настроены ли они для поддержки типов шифрования AES, можно использовать следующий скрипт PowerShell:

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