Podsumowanie
Począwszy od aktualizacji zabezpieczeń (SU) ze stycznia 2023 r. dla programu Microsoft Exchange Server, wprowadziliśmy nową funkcję, która umożliwia administratorom konfigurowanie podpisywania ładunków serializacji PowerShell na podstawie certyfikatów. Ta funkcja musi zostać włączona ręcznie przez administratora programu Exchange Server po zainstalowaniu SU na wszystkich serwerach opartych na programie Exchange. W tym artykule opisano procedurę włączania podpisywania danych serializacji programu PowerShell w programie Exchange Server na podstawie certyfikatów.
Wymagania wstępne
Wymagania wstępne dotyczące włączenia tej funkcji:
- Upewnij się, że wszystkie serwery oparte na programie Exchange w Twoim środowisku mają zainstalowaną jednostkę SU ze stycznia 2023 r. lub nowszą. Jeśli ta funkcja zostanie włączona przed zaktualizowaniem wszystkich serwerów, mogą wystąpić błędy deserializacji wywołujące inne problemy.
- Upewnij się, że prawidłowy certyfikat uwierzytelniania programu Exchange Server jest skonfigurowany i dostępny na wszystkich serwerach opartych na programie Exchange (z wyjątkiem serwerów transportu granicznego) przed włączeniem podpisywania certyfikatu i po jego włączeniu.
Skrypt MonitorExchangeAuthCertificate.ps1 można uruchomić, aby sprawdzić poprawność certyfikatu uwierzytelniania na serwerach baz programu Exchange w danym środowisku. Skrypt sprawdza również, czy certyfikat uwierzytelniania wygaśnie za mniej niż 60 dni, i może pomóc w obróceniu certyfikatu. Aby uzyskać więcej informacji MonitorExchangeAuthCertificate.ps1, zobacz Monitorowanie certyfikatu AuthCertificate programu Exchange
Aby ręcznie sprawdzić dostępność i ważność certyfikatu uwierzytelniania, zobacz Dostępność i ważność certyfikatu uwierzytelniania.
Zdecydowanie zalecamy użycie tego MonitorExchangeAuthCertificate.ps1 skryptu (lub utworzenie nowego, jeśli zajdzie taka potrzeba). Dzieje się tak, ponieważ skrypt może również odnowić wygasły certyfikat uwierzytelniania. Skrypt zawiera tryb ręcznego wykonywania (sprawdź dostępność certyfikatu uwierzytelniania lub zweryfikuj i podejmij działanie, jeśli jest to konieczne). Skrypt zawiera również tryb automatyzacji, który działa przy użyciu Harmonogramu zadań systemu Windows.
Rozwiązanie
W przypadku serwerów z systemem Exchange Server 2019 lub Exchange Server 2016 (zaktualizowane do aktualizacji ze stycznia 2023 r. lub nowszej)
Uruchom następujące polecenie cmdlet w powłoce zarządzania programu Exchange (EMS, Exchange Management Shell) na serwerze, na którym w Twoim środowisku jest uruchomiony program Exchange Server:
New-SettingOverride -Name "EnableSigningVerification" -Component Data -Section EnableSerializationDataSigning -Parameters @("Enabled=true") -Reason "Enabling Signing Verification"To polecenie cmdlet umożliwia wszystkim serwerom z uruchomionym programem Exchange Server 2019, 2016 lub 2013 w danym środowisku podpisywanie certyfikatów ładunku serializacji programu PowerShell. Nie musisz uruchamiać polecenia cmdlet na każdym serwerze.
Odśwież argument VariantConfiguration , uruchamiając następujące polecenie cmdlet:
Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument RefreshAby zastosować nowe ustawienia, uruchom ponownie usługę publikowania w sieci World Wide Web oraz usługę aktywacji procesu systemu Windows (WAS). Aby to zrobić, uruchom następujące polecenie cmdlet:
Restart-Service -Name W3SVC, WAS -ForceUwaga
Usługi należy ponownie uruchomić tylko na takim serwerze opartym na programie Exchange Server, na którym jest uruchomione polecenie cmdlet zastępujące ustawienia.
W przypadku serwerów z uruchomionym programem Exchange Server 2013
Jeśli w Twoim środowisku są serwery z uruchomionym programem Microsoft Exchange Server 2013, musisz skonfigurować klucz rejestru na każdym serwerze. Określ następujące ustawienia.
Klucz rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics
Wartość: EnableSerializationDataSigning
Rodzaj: Ciąg
Dane: 1
Aby utworzyć wartość rejestru na serwerze opartym na programie Exchange Server 2013, uruchom następujące polecenie cmdlet:
- New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics -Name "EnableSerializationDataSigning" -Value 1 -Type String
Aby zastosować nowe ustawienia, uruchom ponownie usługę publikowania w sieci World Wide Web oraz usługę aktywacji procesu systemu Windows (WAS). Aby to zrobić, uruchom następujące polecenie cmdlet:
- Restart-Service -Name W3SVC, WAS -Force
Uwaga
Uruchom ponownie te usługi na wszystkich serwerach opartych na programie Exchange Server 2013 w Twoim środowisku, na których wprowadzono zmiany rejestru.
Znane problemy
Jeśli możliwość podpisywania danych serializacji jest włączona, wygasły certyfikat uwierzytelniania uniemożliwia zwrócenie szczegółów certyfikatu przez polecenie cmdlet Get-ExchangeCertificate .
Po zainstalowaniu aktualizacji zabezpieczeń ze stycznia 2023 r. lub lutego 2023 r. dla programu Microsoft Exchange Server 2019, 2016 lub 2013 i włączeniu pakietu danych Podpisywanie certyfikatu pakietu danych serializacji programu PowerShell zestaw narzędzi Exchange i podgląd kolejki nie uruchamiają się. Aby uzyskać więcej informacji, zobacz Zestaw narzędzi programu Exchange i podgląd kolejki kończy się niepowodzeniem po włączeniu podpisywania certyfikatu ładunku serializacji programu PowerShell (KB5023352).
Jeśli możliwość podpisywania danych serializacji jest włączona, polecenie cmdlet Get-ExchangeCertificate nie zwraca widocznej wartości, gdy jest uruchamiane na komputerze, na którym są zainstalowane narzędzia do zarządzania programami Exchange, ale nie ma innej roli programu Exchange Server. Dzieje się tak niezależnie od tego, czy certyfikat uwierzytelniania jest prawidłowy.
Niektóre skrypty dołączone do Exchange Server (na przykład RedistributeActiveDatabases.ps1) nie działają poprawnie, jeśli są spełnione następujące warunki:
- Funkcja ładunku Podpisywanie serializacji programu PowerShell jest włączona.
- Nie używasz domyślnych grup zabezpieczeń udostępnianych przez kontrolę dostępu opartą na rolach programu Exchange.
- Użytkownik, który uruchamia skrypt, nie jest członkiem grupy ról Zarządzanie organizacją.