Exchange Server 中 PowerShell 序列化承載的憑證簽署

套用到
Exchange Server 2019 Exchange Server 2016 Exchange Server 2013

摘要

自 2023 年 1 月的 SU) for Microsoft Exchange Server 安全更新 (起,我們引入了一項新功能,讓管理員能夠配置基於憑證的 PowerShell 序列化載荷簽署。 此功能必須由 Exchange Server 管理員在所有 Exchange 伺服器安裝 SU 後手動啟用。 本文提供在 Exchange Server 中啟用基於憑證的 PowerShell 序列化資料簽署的步驟。

先決條件

啟用此功能的前提條件:

  • 請確保你環境中所有基於 Exchange 的伺服器都安裝了 2023 年 1 月的 SU 或更晚的 SU。 如果你在更新所有伺服器前啟用此功能,可能會導致反序列化失敗並引發其他問題。
  • 請確保在啟用憑證簽署前後,所有 Exchange 伺服器(邊緣傳輸伺服器除外)都已設定並 () 有效的 Exchange Server 認證憑證。

你可以執行 MonitorExchangeAuthCertificate.ps1 腳本,在你環境中的 Exchange 基礎伺服器上檢查有效的認證憑證。 腳本也會檢查認證證書是否會在 60 天內到期,並協助你輪換證書。 欲了解更多資訊 MonitorExchangeAuthCertificate.ps1,請參閱 監控交換認證憑證

若要手動檢查認證憑證的可用性與有效性,請參閱 認證憑證可用性與有效性。

我們強烈建議您使用 MonitorExchangeAuthCertificate.ps1 腳本 (,或如有必要,) 自行建立新的。 這是因為該腳本也能續約過期的認證憑證。 腳本包含手動執行模式 (驗證驗證憑證的可用性,或在必要時) 驗證並採取行動。 腳本還包含一個自動化模式,可透過 Windows 任務排程器來運作。

解決方式

對於運行於 2019 或 Exchange Server 2016 Exchange Server 的伺服器, (更新至 2023 年 1 月或更晚的 SU)

  1. 在你環境中運行Exchange Server的伺服器上,請在 Exchange 管理命令介面 (EMS) 執行以下指令:

    New-SettingOverride -Name "EnableSigningVerification" -Component Data -Section EnableSerializationDataSigning -Parameters @("Enabled=true") -Reason "Enabling Signing Verification"

    此指令小程式允許所有在您環境中執行 Exchange Server 2019、2016 或 2013 的伺服器,進行 PowerShell 序列化有效載荷的憑證簽署。 你不必在每台伺服器都執行 cmdlet。

  2. 執行以下 cmdlet 來刷新 VariantConfiguration 參數:
      
    Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh 

  3. 若要套用新的設定,請重新啟動 World Wide Web Publishing 服務及 Windows Process Activation Service (WAS)。 為此,執行以下 cmdlet:

    Restart-Service -Name W3SVC, WAS -Force 

    注意

    只在執行設定覆蓋 cmdlet 的 Exchange Server 伺服器上重新啟動這些服務。

對於運行 Exchange Server 2013 的伺服器

如果你的環境中有運行 Microsoft Exchange Server 2013 的伺服器,你必須在每台伺服器上設定一個登錄檔金鑰。 請指定以下設定。

登錄說明:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics

價值: 啟用序列化資料簽約

類型:

資料: 1

要在基於 Exchange Server 2013 的伺服器上建立登錄檔值,請執行以下 cmdlet:

  • New-ItemProperty -路徑 HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics -name “EnableSerializationDataSigning” -value 1 -type string

若要套用新的設定,請重新啟動 World Wide Web Publishing 服務及 Windows Process Activation Service (WAS)。 為此,執行以下 cmdlet:

  • Restart-Service -名稱 W3SVC,WAS -Force

注意

在你環境中所有使用 Exchange Server 2013 的伺服器上重新啟動這些服務,該伺服器會進行登錄檔變更。

已知問題

  • 若啟用序列化資料簽署功能,過期的認證憑證會阻止 Get-ExchangeCertificate 指令集回傳憑證細節。

  • 在安裝 2023 年 1 月或 2023 年 2 月 Microsoft Exchange Server 2019、2016 或 2013 的安全更新後,且啟用 PowerShell 序列化有效載荷憑證簽署後,Exchange 工具箱與佇列檢視器無法啟動。 欲了解更多資訊,請參閱 Exchange 工具箱與佇列檢視器在啟用 PowerShell 序列化有效載荷憑證簽署後失敗的情況 (KB5023352)

  • 如果啟用了簽署序列化資料的功能,Get-ExchangeCertificate 指令檔在安裝了 Exchange 管理工具但沒有其他 Exchange Server 角色的電腦上執行時,不會回傳可見值。 這種情況無論認證證書是否有效都會發生。

  • 例如,Exchange Server (中包含的部分腳本,若符合以下條件,RedistributeActiveDatabases.ps1) 無法正常運作:

    • PowerShell 序列化 Payload 的簽署功能已啟用。
    • 你不會使用 Exchange RBAC 提供的預設安全群組。
    • 執行腳本的使用者並非組織管理角色群組的成員。