Gestire il certificato OAuth di Exchange Server
Informazioni generali
Questa documentazione descrive i passaggi necessari per ruotare il certificato di autenticazione di Exchange Server senza interrompere il servizio Exchange e prima che scada quello corrente.
Consiglio
È anche possibile usare lo script MonitorExchangeAuthCertificate . Esegue i passaggi necessari per ruotare automaticamente il certificato OAuth. Può anche essere utile per sostituire il certificato OAuth se è già scaduto.
La configurazione dell'autenticazione e il certificato di autenticazione vengono usati dal server di Microsoft Exchange per abilitare l'autenticazione da server a server usando lo standard di protocollo Open Authorization (OAuth). Per altre informazioni, vedere l'articolo Pianificare l'integrazione di Exchange con SharePoint e Skype for Business
Il certificato di autenticazione viene usato anche da diverse funzionalità di sicurezza di Exchange Server.
Durante l'installazione del primo server Exchange, la routine di installazione genera un certificato autofirmata con il nome Microsoft Exchange Server Auth Certificate
descrittivo , che viene quindi aggiunto a una nuova configurazione dell'autenticazione. Questo certificato viene replicato automaticamente in tutti i server front-end nell'organizzazione di Exchange. Il servicelet di certificati di Exchange esegue la replica, che fa parte del MSExchangeServiceHost
processo. Se si aggiungono altri server all'organizzazione di Exchange, il servicelet si occupa della replica del certificato in tutti i server Exchange, che sono stati aggiunti all'organizzazione.
Il certificato, configurato come certificato di autenticazione corrente, può essere sottoposto a query eseguendo la query di PowerShell seguente (deve essere eseguita in Exchange Management Shell):
(Get-AuthConfig).CurrentCertificateThumbprint | Get-ExchangeCertificate | Format-List Subject, Thumbprint, NotAfter, NotBefore
Se la chiamata ha esito negativo con l'avviso seguente, significa che il certificato di autenticazione corrente non è presente nel server.
A special Rpc error occurs on server <Servername>: The certificate with thumbprint <AuthCertificateThumbprint> was not found.
Seguire le istruzioni indicate nella sezione "Quali sono i passaggi da seguire se il certificato corrente è già scaduto o è mancante" da correggere.
Il certificato, configurato come certificato di autenticazione successivo, può essere sottoposto a query come segue:
(Get-AuthConfig).NextCertificateThumbprint | Get-ExchangeCertificate | Format-List Subject, Thumbprint, NotAfter, NotBefore
Se la chiamata ha esito negativo con lo stesso avviso del certificato di autenticazione corrente, significa che il certificato di autenticazione successivo non è configurato o non è presente nel server.
Seguire le istruzioni descritte in "Come ruotare il certificato di autenticazione di Exchange Server" se il certificato di autenticazione corrente sta per scadere.
Quali sono i passaggi da seguire se il certificato corrente è già scaduto o è mancante?
In questo caso, è necessario sostituire immediatamente il vecchio certificato di autenticazione con uno nuovo. Seguire le istruzioni descritte nella sezione risoluzioni dell'articolo di supporto seguente: Non è possibile accedere a Outlook sul Web o a EAC se il certificato OAuth di Exchange Server è scaduto
Come ruotare il certificato di autenticazione di Exchange Server
È importante sostituire il certificato di autenticazione attivo con uno nuovo, prima che scada. In questo modo si garantisce una transizione senza problemi a un nuovo certificato senza interrompere il servizio Exchange. È possibile seguire la procedura seguente per preparare e preparare un nuovo certificato di autenticazione.
Importante
Assicurarsi di avere installato l'aggiornamento cumulativo di Exchange Server più recente perché contiene correzioni che influiscono sulla funzionalità di Exchange corrispondente.
Generare un nuovo certificato di autenticazione eseguendo il comando seguente:
$newAuthCertificate = New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName @()
Non sovrascrivere il certificato SMTP predefinito esistente (digitare 'N' e premere INVIO):
Confirm Overwrite the existing default SMTP certificate? Current certificate: '<DefaultSMTPCertificateThumbprint>' (expires 12/30/2027 2:39:08 PM) Replace it with certificate: '<NewCertificateThumbprint>' (expires 1/5/2028 9:04:48 AM) [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): N
Configurare il certificato di autenticazione per diventare il nuovo certificato attivo in 49 ore al più presto:
Set-AuthConfig -NewCertificateThumbprint $newAuthCertificate.Thumbprint -NewCertificateEffectiveDate (Get-Date).AddHours(49)
A seconda delle dimensioni dell'organizzazione di Exchange, potrebbe essere necessario del tempo prima che il nuovo certificato di autenticazione venga distribuito in tutti i server Exchange. È consigliabile pianificare almeno 48 ore prima che il certificato di autenticazione appena generato diventi attivo. In un ambiente Exchange di grandi dimensioni può richiedere ancora più tempo.
Un riferimento al certificato di autenticazione viene memorizzato nella cache dal MSExchangeOWAAppPool
pool di applicazioni e MSExchangeECPAppPool
. È possibile riciclare i pool di applicazioni per aggiornare questo riferimento. A tale scopo, eseguire i comandi seguenti da una finestra di PowerShell con privilegi elevati:
Restart-WebAppPool MSExchangeOWAAppPool
Restart-WebAppPool MSExchangeECPAppPool
Il servicelet AuthAdmin di Exchange, che fa anche parte del MSExchangeServiceHost
processo, è responsabile del processo di pubblicazione finale del certificato di autenticazione. Il servicelet viene eseguito immediatamente se il MSExchangeServiceHost
servizio viene riavviato. In seguito viene eseguito ogni 12 ore e, se rileva che l'oggetto NewCertificateEffectiveDate
viene raggiunto, pubblica il nuovo certificato di autenticazione per renderlo il nuovo certificato attivo.
Per assicurarsi che il servicelet AuthAdmin possa essere avviato, è necessario abilitare AuthAdminReadSession
quando i server Exchange vengono installati in un dominio figlio e la cassetta postale di sistema si trova nel dominio radice. In caso contrario, il servicelet AuthAdmin non può essere avviato. Eseguire il cmdlet di PowerShell seguente se i server Exchange sono installati nella costellazione descritta:
Set-OrganizationConfig -EnableAuthAdminReadSession:$true
È possibile eseguire query sull'ultimo runtime del servicelet AuthAdmin eseguendo i cmdlet di PowerShell seguenti:
[xml]$xml = Get-ExchangeDiagnosticInfo -Process "Microsoft.Exchange.ServiceHost"
$xml.Diagnostics.Components.AnchorApplication.AnchorServiceComponents.CacheScheduler.lastRunTime
Ogni esecuzione del servicelet AuthAdmin viene registrata nella directory seguente: <ExchangeInstallPath>\Logging\AuthAdminLogs
Il servicelet genera una nuova voce del registro eventi quando la rotazione del certificato di autenticazione viene completata correttamente:
Log Name: Application
Source: MSExchange AuthAdmin
Date: 12/29/2022 5:56:13 AM
Event ID: 2014
Task Category: General
Level: Information
Keywords: Classic
User: N/A
Description: The current signing certificate for Exchange has been updated to certificate with thumbprint <NewExchangeCertificateThumbprint>.
Domande frequenti
Domanda: È necessario eseguire di nuovo la Configurazione guidata ibrida (HCW) dopo la sostituzione del certificato di autenticazione?
Risposta: Sì, è consigliabile eseguire la Configurazione guidata ibrida (HCW) dopo la sostituzione del certificato di autenticazione attivo.
Domanda: Cosa è necessario fare se il nuovo certificato di autenticazione è mancante in un server Exchange in un altro sito di Active Directory (AD)?
Risposta: È possibile esportare il certificato usando il cmdlet Export-ExchangeCertificate e importarlo tramite Import-ExchangeCertificate in un server nell'altro sito di Active Directory. Il servicelet di certificati gestisce la replica ai server Exchange rimanenti che si trovano all'interno del sito di Active Directory.