요약
Microsoft Exchange Server 대한 2023년 1월 SU(보안 업데이트)부터 관리자가 PowerShell serialization 페이로드의 인증서 기반 서명을 구성할 수 있는 새로운 기능을 도입했습니다. 이 기능은 SU가 모든 Exchange 기반 서버에 설치된 후 Exchange Server 관리자가 수동으로 사용하도록 설정해야 합니다. 이 문서에서는 Exchange Server PowerShell serialization 데이터의 인증서 기반 서명을 사용하도록 설정하는 단계를 제공합니다.
사전 요건
이 기능을 사용하도록 설정하기 위한 필수 구성 요소:
-
사용자 환경의 모든 Exchange 기반 서버에 2023년 1월 SU 또는 이후 SU가 설치되어 있는지 확인합니다. 모든 서버를 업데이트하기 전에 이 기능을 사용하도록 설정하면 역직렬화 오류가 발생하고 다른 문제가 트리거될 수 있습니다.
-
인증서 서명을 사용하도록 설정하기 전과 후에 유효한 Exchange Server 인증 인증서가 구성되고 모든 Exchange 기반 서버(Edge 전송 서버 제외)에서 사용할 수 있는지 확인합니다.
MonitorExchangeAuthCertificate.ps1 스크립트를 실행하여 사용자 환경의 Exchange-bases 서버에서 유효한 인증 인증서를 검사 수 있습니다. 또한 이 스크립트는 인증 인증서가 60일 이내에 만료되는지 여부를 확인하고 인증서를 회전하는 데 도움이 될 수 있습니다. MonitorExchangeAuthCertificate.ps1대한 자세한 내용은 Exchange AuthCertificate 모니터링을 참조하세요.
인증 인증서 가용성 및 유효성을 수동으로 검사 인증 인증서 가용성 및 유효성을 참조하세요.
MonitorExchangeAuthCertificate.ps1 스크립트를 사용하거나 필요한 경우 새 스크립트를 만드는 것이 좋습니다. 스크립트가 만료된 인증 인증서를 갱신할 수도 있기 때문입니다. 스크립트에는 수동 실행 모드가 포함되어 있습니다(필요한 경우 인증 인증서 가용성 확인 또는 확인 및 작업 수행). 이 스크립트에는 Windows 작업 스케줄러를 사용하여 작동하는 자동화 모드도 포함되어 있습니다.
해결 방법
Exchange Server 2019 또는 Exchange Server 2016을 실행하는 서버의 경우(2023년 1월 SU 이상으로 업데이트됨)
-
환경에서
Exchange Server 실행 중인 서버의 EMS(Exchange Management Shell)에서 다음 cmdlet을 실행합니다.New-SettingOverride -Name "EnableSigningVerification" -Component Data -Section EnableSerializationDataSigning -Parameters @("Enabled=true") -Reason "Enabling Signing Verification"
이 cmdlet은 PowerShell serialization 페이로드의 인증서 서명을 위해 사용자 환경에서 Exchange Server 2019, 2016 또는 2013을 실행하는 모든 서버를 사용하도록 설정합니다. 모든 서버에서 cmdlet을 실행할 필요는 없습니다. -
다음 cmdlet을 실행하여 VariantConfiguration 인수를 새로 고칩니다Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh
-
새 설정을 적용하려면 World Wide Web Publishing 서비스와 WAS(Windows Process Activation Service)를 다시 시작합니다. 이렇게 하려면 다음 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
값:EnableSerializationDataSigning
형식: String
데이터: 1
Exchange Server 2013 기반 서버에서 레지스트리 값을 만들려면 다음 cmdlet을 실행합니다.
- New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics -Name "EnableSerializationDataSigning" -Value 1 -Type String
새 설정을 적용하려면 World Wide Web Publishing 서비스와 WAS(Windows Process Activation Service)를 다시 시작합니다. 이렇게 하려면 다음 cmdlet을 실행합니다.
- Restart-Service -Name W3SVC, WAS -Force
참고: 레지스트리를 변경한 환경의 모든 Exchange Server 2013 기반 서버에서 이러한 서비스를 다시 시작합니다.
알려진 문제
-
serialization 데이터에 서명하는 기능이 활성화된 경우 만료된 인증 인증서는 Get-ExchangeCertificate cmdlet이 인증서 세부 정보를 반환하지 못하도록 합니다.
-
2023년 1월 또는 2023년 2월 Microsoft Exchange Server 2019, 2016 또는 2013용 보안 업데이트가 설치되고 PowerShell 직렬화 페이로드의 인증서 서명이 사용하도록 설정되면 Exchange 도구 상자 및 큐 뷰어가 시작되지 않습니다. 자세한 내용은 PowerShell 직렬화 페이로드의 인증서 서명을 사용하도록 설정한 후 Exchange 도구 상자 및 큐 뷰어가 실패(KB5023352)를 참조하세요.
-
serialization 데이터에 서명하는 기능을 사용하는 경우 Get-ExchangeCertificate cmdlet은 Exchange 관리 도구가 설치되어 있지만 다른 Exchange Server 역할이 없는 컴퓨터에서 실행될 때 표시되는 값을 반환하지 않습니다. 인증 인증서가 유효한지 여부에 관계없이 발생합니다.
-
Exchange Server 포함된 일부 스크립트(예: RedistributeActiveDatabases.ps1)는 다음 조건이 충족되면 제대로 작동하지 않습니다.
-
PowerShell 직렬화 페이로드 서명 기능을 사용할 수 있습니다.
-
Exchange RBAC에서 제공하는 기본 보안 그룹은 사용하지 않습니다.
-
스크립트를 실행하는 사용자는 조직 관리 역할 그룹의 구성원이 아닙니다.
-