Jak zaimplementować protokół Transport Layer Security 1.2

Ważne

Ta wersja programu Operations Manager osiągnęła koniec wsparcia technicznego. Zalecamy uaktualnienie do programu Operations Manager 2022.

W tym artykule opisano sposób włączania protokołu Transport Layer Security (TLS) w wersji 1.2 dla grupy zarządzania programu System Center Operations Manager.

Uwaga

Program Operations Manager będzie używać protokołu skonfigurowanego na poziomie systemu operacyjnego. Jeśli na przykład protokół TLS 1.0, TLS 1.1 i TLS 1.2 są włączone na poziomie systemu operacyjnego, program Operations Manager wybierze jeden z trzech protokołów w następującej kolejności preferencji:

  1. TLS w wersji 1.2
  2. TLS w wersji 1.1
  3. Protokół TLS w wersji 1.0

Dostawca SSP Schannel wybiera następnie najbardziej preferowany protokół uwierzytelniania obsługiwany przez klienta i serwer.

Wykonaj następujące kroki, aby włączyć protokół TLS w wersji 1.2:

Uwaga

Sterownik Microsoft OLE DB 18 dla SQL Server (zalecane) jest obsługiwany w programie Operations Manager 2016 UR9 lub nowszym.

  1. Zainstaluj SQL Server 2012 Native Client 11.0 lub Sterownik MICROSOFT OLE DB 18 dla SQL Server na wszystkich serwerach zarządzania i serwerze konsoli sieci Web.
  2. Zainstaluj .NET Framework 4.6 na wszystkich serwerach zarządzania, serwerach bramy, serwerze konsoli sieci Web i SQL Server hostujących bazy danych programu Operations Manager i rolę serwera raportowania.
  3. Zainstaluj wymaganą aktualizację SQL Server, która obsługuje protokół TLS 1.2.
  4. Zainstaluj oprogramowanie ODBC 11.0 lub ODBC 13.0 na wszystkich serwerach zarządzania.
  5. W przypadku programu System Center 2016 — Operations Manager zainstaluj pakiet zbiorczy aktualizacji 4 lub nowszy.
  6. Skonfiguruj system Windows do używania tylko protokołu TLS 1.2.
  7. Skonfiguruj program Operations Manager do używania protokołu TLS 1.2.
  1. Zainstaluj sterownik Microsoft OLE DB w wersji 18.2 do wersji 18.6.7 lub nowszej na wszystkich serwerach zarządzania i serwerze konsoli sieci Web.
  2. Zainstaluj .NET Framework 4.6 na wszystkich serwerach zarządzania, serwerach bramy, serwerze konsoli sieci Web i SQL Server hostujących bazy danych programu Operations Manager i rolę serwera raportowania.
  3. Zainstaluj wymaganą aktualizację SQL Server, która obsługuje protokół TLS 1.2.
  4. Zainstaluj sterownik ODBC w wersji 17.3 do wersji 17.10.5 lub nowszej na wszystkich serwerach zarządzania.
  5. Skonfiguruj system Windows do używania tylko protokołu TLS 1.2.
  6. Skonfiguruj program Operations Manager do używania protokołu TLS 1.2.

Program Operations Manager generuje certyfikaty SHA1 i SHA2 z podpisem własnym. Jest to wymagane do włączenia protokołu TLS 1.2. Jeśli są używane certyfikaty podpisane przez urząd certyfikacji, upewnij się, że certyfikaty są sha1 lub SHA2.

Uwaga

Jeśli zasady zabezpieczeń ograniczają protokół TLS 1.0 i 1.1, zainstalowanie nowego serwera zarządzania programu Operations Manager 2016, serwera bramy, konsoli sieci Web i roli usług raportowania zakończy się niepowodzeniem, ponieważ nośnik instalacyjny nie zawiera aktualizacji obsługujących protokół TLS 1.2. Jedynym sposobem instalowania tych ról jest włączenie protokołu TLS 1.0 w systemie, zastosowanie pakietu zbiorczego aktualizacji 4, a następnie włączenie protokołu TLS 1.2 w systemie. To ograniczenie nie dotyczy programu Operations Manager w wersji 1801.

Konfigurowanie systemu operacyjnego Windows do używania protokołu TLS 1.2

Użyj jednej z następujących metod, aby skonfigurować system Windows do używania tylko protokołu TLS 1.2.

Metoda 1. Ręczne modyfikowanie rejestru

Ważne

Dokładnie wykonaj kroki opisane w tej sekcji. Nieprawidłowa modyfikacja rejestru może powodować poważne problemy. Przed zmodyfikowaniem utwórz kopię zapasową rejestru do przywrócenia w przypadku wystąpienia problemów.

Wykonaj następujące kroki, aby włączyć/wyłączyć wszystkie protokoły SCHANNEL dla całego systemu. Zalecamy włączenie protokołu TLS 1.2 dla wszystkich przychodzących komunikacji i komunikacji wychodzącej.

Uwaga

Wprowadzanie tych zmian rejestru nie ma wpływu na użycie protokołów Kerberos lub NTLM.

  1. Zaloguj się do serwera przy użyciu konta z lokalnymi poświadczeniami administracyjnymi.

  2. Uruchom Redaktor rejestru, wybierając i trzymając przycisk Start, wprowadź ciąg regedit w polu tekstowym Uruchom i wybierz przycisk OK.

  3. Znajdź następujący podklucz rejestru: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.

  4. Utwórz podklucz w obszarze Protokoły dla protokołu SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1 i TLS 1.2.

  5. Utwórz podklucz Klienta i serwera w ramach każdego utworzonego wcześniej podklucza wersji protokołu. Na przykład podklucz protokołu TLS 1.0 to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client i HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server.

  6. Aby wyłączyć każdy protokół, utwórz następujące wartości DWORD w obszarze Serwer i klient:

    • Włączone [Wartość = 0]
    • DisabledByDefault [Wartość = 1]
  7. Aby włączyć protokół TLS 1.2, utwórz następujące wartości DWORD w obszarze HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client i HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server:

    • Włączone [Wartość = 1]
    • DisabledByDefault [Wartość = 0]
  8. Zamknij Edytor rejestru.

Metoda 2. Automatyczne modyfikowanie rejestru

Uruchom następujący skrypt Windows PowerShell jako administrator, aby automatycznie skonfigurować system operacyjny Windows do używania tylko protokołu TLS 1.2:

$ProtocolList       = @("SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2")
$ProtocolSubKeyList = @("Client", "Server")
$DisabledByDefault  = "DisabledByDefault"
$registryPath       = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\"

foreach ($Protocol in $ProtocolList)
{
	foreach ($key in $ProtocolSubKeyList)
	{
		$currentRegPath = $registryPath + $Protocol + "\" + $key
		Write-Output "Current Registry Path: `"$currentRegPath`""

		if (!(Test-Path $currentRegPath))
		{
			Write-Output " `'$key`' not found: Creating new Registry Key"
			New-Item -Path $currentRegPath -Force | out-Null
		}
		if ($Protocol -eq "TLS 1.2")
		{
			Write-Output " Enabling - TLS 1.2"
			New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "0" -PropertyType DWORD -Force | Out-Null
			New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "1" -PropertyType DWORD -Force | Out-Null
		}
		else
		{
			Write-Output " Disabling - $Protocol"
			New-ItemProperty -Path $currentRegPath -Name $DisabledByDefault -Value "1" -PropertyType DWORD -Force | Out-Null
			New-ItemProperty -Path $currentRegPath -Name 'Enabled' -Value "0" -PropertyType DWORD -Force | Out-Null
		}
		Write-Output " "
	}
}

Konfigurowanie programu Operations Manager do używania tylko protokołu TLS 1.2

Po zakończeniu konfiguracji wszystkich wymagań wstępnych programu Operations Manager wykonaj następujące kroki na wszystkich serwerach zarządzania, serwerze obsługującym rolę konsoli sieci Web i na dowolnym komputerze z systemem Windows, na którym jest zainstalowany agent.

Ważne

Dokładnie wykonaj kroki opisane w tej sekcji. Nieprawidłowa modyfikacja rejestru może powodować poważne problemy. Przed wprowadzeniem wszelkich modyfikacji wykonaj kopię zapasową rejestru w celu przywrócenia w przypadku wystąpienia problemów.

Uwaga

Program SCOM 2012 R2 działający w systemie operacyjnym Windows 2012 wymaga dodatkowych zmian w celu korzystania z protokołu TLS 1.2 za pośrednictwem protokołu HTTP na potrzeby monitorowania systemu UNIX/LINUX. Aby włączyć protokół TLS 1.2 jako domyślne protokoły zabezpieczeń w systemie WinHTTP w systemie Windows, należy wprowadzić następujące zmiany zgodnie z aktualizacją, aby włączyć protokoły TLS 1.1 i TLS 1.2 jako domyślne bezpieczne protokoły w winHTTP w systemie Windows.

  1. Zainstaluj KB3140245 na serwerach zarządzania/serwerach bram w puli zasobów systemu UNIX/LINUX.
  2. Tworzenie kopii zapasowych rejestrów zmodyfikowanych zgodnie z opisem w artykule bazy wiedzy.
  3. Pobierz i uruchom narzędzie Easy Fix na serwerach zarządzania/bramach w puli zasobów systemu UNIX/LINUX.
  4. Uruchom ponownie serwery.

Ręczne modyfikowanie rejestru

  1. Zaloguj się do serwera przy użyciu konta z lokalnymi poświadczeniami administracyjnymi.
  2. Uruchom Redaktor rejestru, wybierając i trzymając przycisk Start, wprowadź ciąg regedit w polu tekstowym Uruchom, a następnie wybierz przycisk OK.
  3. Znajdź następujący podklucz rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319.
  4. Utwórz wartość DWORD SchUseStrongCrypto w tym podkluczu z wartością 1.
  5. Znajdź następujący podklucz rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319.
  6. Utwórz wartość DWORD SchUseStrongCrypto w tym podkluczu z wartością 1.
  7. Uruchom ponownie system, aby ustawienia zaczęły obowiązywać.

Automatyczne modyfikowanie rejestru

Uruchom następujący skrypt Windows PowerShell w trybie administratora, aby automatycznie skonfigurować program Operations Manager do używania tylko protokołu TLS 1.2:

# Tighten up the .NET Framework
$NetRegistryPath = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null

$NetRegistryPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null

Ustawienia dodatkowe

Jeśli jest to implementowane dla programu System Center 2016 — Operations Manager po zastosowaniu pakietu zbiorczego aktualizacji 4, upewnij się, że należy zaimportować pakiety administracyjne uwzględnione w tym zestawie zbiorczym znajdującym się w następującym katalogu: \Program Files\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.

Jeśli monitorujesz obsługiwaną wersję serwera z systemem Linux za pomocą programu Operations Manager, postępuj zgodnie z instrukcjami w odpowiedniej witrynie internetowej dla twojej dystrybucji, aby skonfigurować protokół TLS 1.2.

Usługi zbierania danych inspekcji

W przypadku usług Audit Collection Services (ACS) należy wprowadzić dodatkowe zmiany w rejestrze na serwerze modułu zbierającego ACS. Usługa ACS używa nazwy DSN do nawiązywania połączeń z bazą danych. Należy zaktualizować ustawienia nazwy DSN, aby zapewnić ich funkcjonalność dla protokołu TLS 1.2.

  1. Zaloguj się do serwera przy użyciu konta z lokalnymi poświadczeniami administracyjnymi.

  2. Uruchom Redaktor rejestru, wybierając i trzymając przycisk Start, wprowadź ciąg regedit w polu tekstowym Uruchom i wybierz przycisk OK.

  3. Znajdź następujący podklucz ODBC dla programu OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Uwaga

    Domyślna nazwa nazwy DSN to OpsMgrAC.

  4. W obszarze Podklucz źródeł danych ODBC wybierz nazwę DSN OpsMgrAC. Zawiera on nazwę sterownika ODBC, który ma być używany do połączenia z bazą danych. Jeśli masz zainstalowany sterownik ODBC 11.0, zmień tę nazwę na ODBC Driver 11 dla SQL Server lub jeśli masz zainstalowany odBC 13.0, zmień tę nazwę na ODBC Driver 13 dla SQL Server.

  5. W podkluczu OpsMgrAC zaktualizuj sterownik dla zainstalowanej wersji ODBC.

    • Jeśli zainstalowano sterownik ODBC 11.0, zmień wpis Sterownik na %WINDIR%\system32\msodbcsql11.dll.
    • Jeśli zainstalowano sterownik ODBC 13.0, zmień wpis Sterownik na %WINDIR%\system32\msodbcsql13.dll.

    Plik rejestru

    Alternatywnie utwórz i zapisz następujący plik .reg w Notatniku lub innym edytorze tekstów. Aby uruchomić zapisany plik .reg , kliknij go dwukrotnie.

    • W przypadku odBC 11.0 utwórz następujący plik 11.reg ODBC:

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
      "OpsMgrAC"="ODBC Driver 11 for SQL Server"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC]
      "Driver"="%WINDIR%\system32\msodbcsql11.dll"
      
    • W przypadku odBC 13.0 utwórz następujący plik 13.reg ODBC:

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
      "OpsMgrAC"="ODBC Driver 13 for SQL Server"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC]
      "Driver"="%WINDIR%\system32\msodbcsql13.dll"
      

    PowerShell

    Alternatywnie możesz uruchomić następujące polecenia programu PowerShell, aby zautomatyzować zmianę.

    • W przypadku odBC 11.0 uruchom następujące polecenia programu PowerShell:

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql11.dll" -PropertyType STRING -Force | Out-Null
      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 11 for SQL Server" -PropertyType STRING -Force | Out-Null
      
    • W przypadku odBC 13.0 uruchom następujące polecenia programu PowerShell:

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql13.dll" -PropertyType STRING -Force | Out-Null
      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 13 for SQL Server" -PropertyType STRING -Force | Out-Null
      

Usługi zbierania danych inspekcji

W przypadku usług Audit Collection Services (ACS) należy wprowadzić dodatkowe zmiany w rejestrze na serwerze modułu zbierającego ACS. Usługa ACS używa nazwy DSN do nawiązywania połączeń z bazą danych. Należy zaktualizować ustawienia DSN, aby mogły działać dla protokołu TLS 1.2.

  1. Zaloguj się do serwera przy użyciu konta z lokalnymi poświadczeniami administracyjnymi.

  2. Uruchom Redaktor rejestru, wybierając i trzymając przycisk Start, wprowadź ciąg regedit w polu tekstowym Uruchom, a następnie wybierz przycisk OK.

  3. Znajdź następujący podklucz ODBC dla programu OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Uwaga

    Domyślną nazwą nazwy DSN jest OpsMgrAC.

  4. W obszarze Podklucz Źródeł danych ODBC wybierz nazwę DSN OpsMgrAC. Zawiera on nazwę sterownika ODBC, który ma być używany na potrzeby połączenia z bazą danych. Jeśli masz zainstalowany sterownik ODBC 17, zmień tę nazwę na ODBC Driver 17 dla SQL Server.

  5. W podkluczu OpsMgrAC zaktualizuj sterownik dla zainstalowanej wersji ODBC.

    • Jeśli zainstalowano sterownik ODBC 17, zmień wartość pozycji Sterownik na %WINDIR%\system32\msodbcsql17.dll.

    Plik rejestru

    Alternatywnie utwórz i zapisz następujący plik .reg w Notatniku lub innym edytorze tekstów. Aby uruchomić zapisany plik .reg , kliknij go dwukrotnie.

    • W przypadku odBC 17 utwórz następujący plik 17.reg ODBC:

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
      "OpsMgrAC"="ODBC Driver 17 for SQL Server"
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC]
      "Driver"="%WINDIR%\system32\msodbcsql17.dll"
      

    PowerShell

    Alternatywnie możesz uruchomić następujące polecenia programu PowerShell, aby zautomatyzować zmianę.

    • W przypadku odBC 17 uruchom następujące polecenia programu PowerShell:

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql17.dll" -PropertyType STRING -Force | Out-Null
      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" -Name "OpsMgrAC" -Value "ODBC Driver 17 for SQL Server" -PropertyType STRING -Force | Out-Null
      

Następne kroki