Condividi tramite


Requisiti di configurazione del server SharePoint per supportare la crittografia Kerberos AES in caso di errori

Numero KB originale: 4501051

Sintomi

Si ricevono errori dopo aver modificato l'impostazione Sicurezza di rete: configurare i tipi di crittografia consentiti per Kerberos tramite criteri locali o oggetti Criteri di gruppo dai valori predefiniti a un valore che consente solo i tipi di crittografia seguenti:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Tipi di crittografia futuri

Se gli errori vengono scritti nei log uls (Universal Logging System) di SharePoint, indicano che il tipo di crittografia richiesto non è supportato dal KDC. Le azioni che attivano questi errori includono (ma non sono limitate a):

  • Accesso alla pagina Gestisci account del servizio in Amministrazione centrale
  • Accesso alla pagina Amministrazione ricerca (la topologia di ricerca potrebbe non essere visualizzata)
  • Apportare modifiche alla configurazione di ricerca

Il messaggio di errore sottostante scritto nei log ULS di SharePoint è:

Eccezione: System.ServiceModel.Security.SecurityNegotiationException: una chiamata a SSPI non riuscita, vedere l'eccezione interna.
---> System.Security.Authentication.AuthenticationException: una chiamata a SSPI non riuscita, vedere l'eccezione interna.
>--- System.ComponentModel.Win32Exception: il tipo di crittografia richiesto non è supportato dal KDC
--- Fine dell'analisi dello stack di eccezioni interna ---

L'applicazione del servizio Project Server potrebbe anche registrare un messaggio simile:

PWA:https://<SharePoint>/<Site>, ServiceApp:PWA, User:i:0#.w|Domain\UserId,
PSI: impossibile inviare la notifica del processo alla coda per guid> del sito<, eccezione System.ServiceModel. Security.SecurityNegotiationException: una chiamata a SSPI non riuscita, vedere l'eccezione interna.
>--- System.Security.Authentication.AuthenticationException: una chiamata a SSPI non è riuscita, vedere l'eccezione interna.
>--- System.ComponentModel.Win32Exception: il tipo di crittografia richiesto non è supportato dal KDC

Durante il processo di provisioning di Servizi profili utente, non è possibile avviare il servizio di sincronizzazione profili utente.

Quando si avvia il servizio profili utente in Amministrazione centrale, il servizio viene avviato e quindi si arresta immediatamente. L'ispezione dell'ULS di SharePoint indica che l'errore di avvio è il risultato di quanto segue:

"UserProfileApplication.SynchronizeMIIS: Non è stato possibile configurare ILM, tenterà di rieseguire.
Eccezione: System.Security.SecurityException: il tipo di crittografia richiesto non è supportato dal KDC."

Altri componenti potrebbero scrivere messaggi di errore che indicano che il tipo di crittografia richiesto non è supportato dal KDC.

Causa

Questo comportamento si verifica a causa di un conflitto tra i criteri locali o i criteri di gruppo personalizzati e le proprietà dell'account del servizio in Active Directory. Quando si configura l'impostazione della proprietà Sicurezza di rete: configurare i tipi di crittografia consentiti per Kerberos in modo che il server supporti solo i tipi di crittografia AES e i tipi di crittografia futuri, il server non supporta i tipi di crittografia Kerberos meno recenti nei ticket Kerberos. È anche importante notare che gli oggetti account utente creati in Active Directory non sono configurati per supportare la crittografia Kerberos AES per impostazione predefinita.

Se il server è configurato per richiedere tipi di crittografia AES per Kerberos, ma le proprietà dell'account del servizio in Active Directory non sono state aggiornate per supportare la crittografia AES, il risultato è uno scenario in cui il server non è in grado di negoziare un tipo di crittografia comune per i ticket Kerberos.

Risoluzione

Per risolvere il problema, seguire questa procedura:

  1. Identificare tutti gli account usati all'interno di SharePoint come account del pool di applicazioni e account di servizio.

  2. Individuare gli account in Utenti e computer di Active Directory.

  3. Selezionare Proprietà.

  4. Fare clic sulla scheda Account.

  5. Nella sezione Opzioni account verificare che sia selezionata una o entrambe le opzioni seguenti. In questo modo viene abilitato il supporto per la crittografia Kerberos AES in questi oggetti utente:

    • Questo account supporta la crittografia AES 128 bit Kerberos
    • Questo account supporta la crittografia AES 256 bit Kerberos
  6. Eseguire un oggetto iisreset nei server e riavviare tutti i servizi correlati a SharePoint in esecuzione nel contesto degli account del servizio modificati.

Se il problema non è stato risolto, provare la risoluzione in SCCM: "Il tipo di crittografia richiesto non è supportato dal KDC" Errore durante l'esecuzione di report.

Ulteriori informazioni

Per verificare se il server SharePoint è configurato per supportare solo i tipi di crittografia AES o i tipi più recenti:

  1. Nel server avviare l'Editor criteri di sicurezza locali (secpol.msc).
  2. Espandere Impostazioni di sicurezza Opzioni>di sicurezza dei criteri>locali.
  3. Individuare Sicurezza di rete: configurare i tipi di crittografia consentiti per Kerberos.
  4. Selezionare Proprietà.

Se sono selezionate solo le opzioni seguenti:

  • AES128_HMAC_SHA1
  • AES256_HMAC_SHA1
  • Tipi di crittografia futuri

Screenshot dei tipi di crittografia consentiti per Kerberos.

È quindi necessario abilitare il supporto per la crittografia AES Kerberos negli oggetti utente di Active Directory usati per eseguire i servizi e i pool di applicazioni di SharePoint.

È possibile usare lo script di PowerShell seguente per identificare gli account del servizio SharePoint e verificare se sono configurati per supportare i tipi di crittografia 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 ========================================================