Как реализовать протокол TLS 1.2

Важно!

Поддержка этой версии Operations Manager завершена. Мы рекомендуем выполнить обновление до Operations Manager 2022.

В этой статье описывается, как включить протокол TLS версии 1.2 для группы управления System Center Operations Manager.

Примечание

Operations Manager будет использовать протокол, настроенный на уровне операционной системы. Например, если TLS 1.0, TLS 1.1 и TLS 1.2 включены на уровне операционной системы, то Operations Manager выберет один из трех протоколов в следующем порядке предпочтения:

  1. TLS версии 1.2;
  2. TLS версии 1.1;
  3. TLS версии 1.0.

Затем Schannel SSP выберет наиболее подходящий протокол проверки подлинности, который может поддерживать и клиент, и сервер.

Выполните следующие действия, чтобы включить протокол TLS версии 1.2.

Примечание

Microsoft OLE DB Driver 18 for SQL Server (рекомендуется) поддерживается в Operations Manager 2016 с накопительным пакетом обновления 9 (UR9) и более поздних версий.

  1. Установите SQL Server 2012 Native Client 11.0 или Microsoft OLE DB Driver 18 for SQL Server на все серверы управления и сервер веб-консоли.
  2. Установите .NET Framework 4.6 на все серверы управления, серверы шлюза, сервер веб-консоли и SQL Server с базами данных Operations Manager и ролью сервера отчетов.
  3. Установите обязательное обновление SQL Server, поддерживающее протокол TLS 1.2.
  4. Установите ODBC 11.0 или ODBC 13.0 на всех серверах управления.
  5. Для System Center 2016 — Operations Manager установите накопительный пакет обновления 4 или более поздней версии.
  6. Настройте Windows на использование только протокола TLS 1.2.
  7. Настройте Operations Manager на использование только протокола TLS 1.2.
  1. Установите Microsoft OLE DB Driver версии 18.2 до 18.6.7 или более поздней на всех серверах управления и сервере веб-консоли.
  2. Установите .NET Framework 4.6 на все серверы управления, серверы шлюза, сервер веб-консоли и SQL Server с базами данных Operations Manager и ролью сервера отчетов.
  3. Установите обязательное обновление SQL Server, поддерживающее протокол TLS 1.2.
  4. Установите драйвер ODBC версии 17.3 до 17.10.5 или более поздней версии на всех серверах управления.
  5. Настройте Windows на использование только протокола TLS 1.2.
  6. Настройте Operations Manager на использование только протокола TLS 1.2.

Operations Manager создает самозаверяющие сертификаты SHA1 и SHA2. Это необходимо, чтобы включить TLS 1.2. Если используются сертификаты, подписанные ЦС, убедитесь, что они имеют значение SHA1 или SHA2.

Примечание

Если политики безопасности ограничивают tls 1.0 и 1.1, установка нового сервера управления Operations Manager 2016, сервера шлюза, веб-консоли и роли служб Reporting Services завершится сбоем, так как установочный носитель не включает обновления для поддержки TLS 1.2. Единственный способ установить эту роль — включить TLS 1.0 в системе, применить накопительный пакет обновления 4, а затем включить TLS 1.2 в системе. Это ограничение не применяется к Operations Manager версии 1801.

Настройка операционной системы Windows на использование только протокола TLS 1.2

Используйте один из следующих методов для настройки Windows на использование только протокола TLS 1.2.

Метод 1. Изменение реестра вручную

Важно!

Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Перед внесением изменений создайте резервную копию реестра для последующего восстановления в случае проблем.

Выполните следующее для включения или отключения протоколов SCHANNEL в системе. Мы рекомендуем включить протокол TLS 1.2 для всех входящих и исходящих соединений.

Примечание

Внесение этих изменений в реестр не влияет на использование протоколов Kerberos или NTLM.

  1. Войдите на сервер с помощью учетной записи с локальными учетными данными администратора.

  2. Запустите реестр Редактор, нажав и удерживая на ней кнопку Пуск, введите regedit в текстовое поле Выполнить и нажмите кнопку ОК.

  3. Найдите следующий подраздел реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.

  4. Создайте подраздел в разделе Protocols для SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1 и TLS 1.2.

  5. Создайте подраздел Клиент и Сервер для каждого созданного ранее подраздела версии протокола. Например, подраздел для TLS 1.0 будет иметь значение HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server.

  6. Чтобы отключить протокол, создайте следующие значения DWORD в разделах Сервер и Клиент:

    • Enabled [Value = 0]
    • DisabledByDefault [Value = 1]
  7. Чтобы включить протокол TLS 1.2, создайте следующие значения DWORD в и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\ClientHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server:

    • Enabled [значение = 1];
    • DisabledByDefault [значение = 0].
  8. Закройте редактор реестра.

Метод 2. Автоматическое изменение реестра

Выполните следующий скрипт Windows PowerShell от имени администратора, чтобы автоматически настроить операционную систему Windows для использования только протокола 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 " "
	}
}

Настройка Operations Manager для использования только протокола TLS 1.2

После завершения настройки всех необходимых компонентов для Operations Manager, выполните следующие действия на всех серверах управления, сервере, где размещена роль веб-консоли, и компьютере с Windows, где установлен агент.

Важно!

Внимательно выполните действия, описанные в этом разделе. Неправильное изменение реестра может привести к серьезным проблемам. Перед внесением изменений создайте резервную копию реестра для последующего восстановления в случае проблем.

Примечание

SCOM 2012 R2, работающий в ОС Windows 2012, требует дополнительных изменений для использования TLS 1.2 по протоколу HTTP для мониторинга UNIX и Linux. Чтобы включить TLS 1.2 в качестве протокола безопасности по умолчанию в WinHTTP в Windows, необходимо внести изменения, описанные в статье Обновление для включения TLS 1.1 и TLS 1.2 в качестве безопасных протоколов по умолчанию в WinHTTP в Windows.

  1. Установите обновление KB3140245 на серверах или шлюзах управления в пуле ресурсов UNIX/LINUX.
  2. Создайте резервную копию реестров, которые были изменены, как описано в статье базы знаний.
  3. Скачайте и запустите средство простого исправления на серверах и шлюзах управления в пуле ресурсов UNIX/LINUX.
  4. Перезагрузите серверы.

Изменение реестра вручную

  1. Войдите на сервер с помощью учетной записи с локальными учетными данными администратора.
  2. Запустите реестр Редактор, нажав и удерживая кнопку Пуск, введите regedit в текстовое поле Выполнить, а затем нажмите кнопку ОК.
  3. Найдите следующий подраздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319.
  4. Создайте параметр DWORD SchUseStrongCrypto в этом подразделе со значением 1.
  5. Найдите следующий подраздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319.
  6. Создайте параметр DWORD SchUseStrongCrypto в этом подразделе со значением 1.
  7. Перезагрузите систему, чтобы параметры вступили в силу.

Автоматическое изменение реестра

Выполните следующий скрипт Windows PowerShell в режиме администратора, чтобы автоматически настроить Operations Manager для использования только протокола 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

Дополнительные параметры

Если это реализовано для System Center 2016 — Operations Manager, после применения накопительного пакета обновления 4 обязательно импортируйте пакеты управления, входящие в этот накопительный пакет, расположенные в следующем каталоге: \Program Files\Microsoft System Center 2016\Operations Manager\Server\Management Packs для накопительных пакетов обновления.

Если вы наблюдаете за поддерживаемой версией сервера Linux с помощью Operations Manager, следуйте инструкциям на соответствующем веб-сайте для вашего дистрибутива, чтобы настроить протокол TLS 1.2.

Службы ACS

Для служб ACS необходимо внести дополнительные изменения в реестр на сервере сборщика ACS. ACS использует имя DSN для соединения с базой данных. Необходимо обновить параметры имени DSN, чтобы они работали с протоколом TLS 1.2.

  1. Войдите на сервер с помощью учетной записи с локальными учетными данными администратора.

  2. Запустите реестр Редактор, нажав и удерживая на ней кнопку Пуск, введите regedit в текстовое поле Выполнить и нажмите кнопку ОК.

  3. Найдите следующий подраздел ODBC для OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Примечание

    Имя DSN по умолчанию – OpsMgrAC.

  4. В подразделе Источники данных ODBC выберите имя DSN OpsMgrAC. Содержит имя драйвера ODBC, используемого для подключения к базе данных. Если у вас установлен ODBC 11.0, измените имя на Драйвер ODBC 11 для SQL Server, а если ODBC 13.0 — на Драйвер ODBC 13 для SQL Server.

  5. В подразделе OpsMgrAC обновите драйвер для установленной версии ODBC.

    • Если установлен ODBC 11.0, измените запись Driver на %WINDIR%\system32\msodbcsql11.dll.
    • Если установлен ODBC 13.0, измените запись Драйвер на %WINDIR%\system32\msodbcsql13.dll.

    Файл реестра

    Кроме того, можно создать и сохранить следующий файл .reg в Блокноте или другом текстовом редакторе. Чтобы запустить сохраненный файл .reg , дважды щелкните его.

    • Для ODBC 11.0 создайте следующий файл 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"
      
    • Для ODBC 13.0 создайте следующий файл 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

    Кроме того, можно выполнить следующие команды PowerShell, чтобы автоматизировать изменение.

    • Для ODBC 11.0 выполните следующие команды 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
      
    • Для ODBC 13.0 выполните следующие команды 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
      

Службы ACS

Для служб ACS необходимо внести дополнительные изменения в реестр на сервере сборщика ACS. ACS использует имя DSN для соединения с базой данных. Необходимо обновить параметры имени DSN, чтобы они работали с протоколом TLS 1.2.

  1. Войдите на сервер с помощью учетной записи с локальными учетными данными администратора.

  2. Запустите реестр Редактор, нажав и удерживая на ней кнопку Пуск, введите regedit в текстовое поле Выполнить и нажмите кнопку ОК.

  3. Найдите следующий подраздел ODBC для OpsMgrAC: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC.

    Примечание

    Имя DSN по умолчанию – OpsMgrAC.

  4. В подразделе Источники данных ODBC выберите имя DSN OpsMgrAC. Содержит имя драйвера ODBC, используемого для подключения к базе данных. Если у вас установлен ODBC 17, измените это имя на ДРАЙВЕР ODBC 17 для SQL Server.

  5. В подразделе OpsMgrAC обновите драйвер для установленной версии ODBC.

    • Если установлен ODBC 17, измените запись Драйвер на %WINDIR%\system32\msodbcsql17.dll.

    Файл реестра

    Кроме того, можно создать и сохранить следующий файл .reg в Блокноте или другом текстовом редакторе. Чтобы запустить сохраненный файл .reg , дважды щелкните его.

    • Для ODBC 17 создайте следующий файл 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

    Кроме того, можно выполнить следующие команды PowerShell, чтобы автоматизировать изменение.

    • Для ODBC 17 выполните следующие команды PowerShell:

      New-ItemProperty -Path "HKLM:\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC" -Name "Driver" -Value "%WINDIR%\system32\msodbcsql7.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
      

Дальнейшие шаги