Реализация безопасности транспортного уровня 1.2
В этой статье описывается, как разрешить System Center Operations Manager использовать протокол TLS 1.2.
Примечание.
Operations Manager будет использовать протокол, настроенный на уровне операционной системы. Например, если TLS 1.0, TLS 1.1 и TLS 1.2 включены на уровне операционной системы, то Operations Manager выберет один из трех протоколов в следующем порядке предпочтения:
- TLS версии 1.2;
- TLS версии 1.1;
- TLS версии 1.0
Затем Schannel SSP выберет наиболее подходящий протокол проверки подлинности, который может поддерживать и клиент, и сервер.
Выполните следующие действия, чтобы реализовать протокол TLS версии 1.2 в Operations Manager:
Примечание.
Microsoft OLE DB Driver 18 for SQL Server (рекомендуется) поддерживается в Operations Manager 2016 UR9 и более поздних версиях.
- Установите sql Server 2012 Native Client 11.0 или Microsoft OLE DB Driver (x64) на всех серверах управления и на сервере веб-консоли.
- Установите драйвер Microsoft ODBC (x64) на всех серверах управления и на сервере веб-консоли.
- Установите обязательное обновление SQL Server, поддерживающее TLS 1.2.
- Установите минимум накопительный пакет обновления 4 для SCOM 2016 на всех компонентах.
- Убедитесь, что на серверах установлена минимальная версия .NET 4.6, совместимая с операционной системой: платформа .NET Framework версии и зависимости
- Не устанавливайте .NET 4.8, так как возникли известные проблемы с несовместимностью SCOM 2016.
- Настройте Windows только для использования TLS 1.2.
- Настройте .NET для использования TLS 1.2 по умолчанию.
- Настройте службы аудита сборок при установке.
- Установите Microsoft OLE DB Driver for SQL версии 18.7.4 на всех серверах управления и на сервере веб-консоли.
- Установите Microsoft ODBC Driver for SQL версии 17.10.6 на всех серверах управления и на сервере веб-консоли.
- Настройте Windows только для использования TLS 1.2.
- Настройте .NET для использования TLS 1.2 по умолчанию.
- Настройте службы аудита сборок при установке.
Примечание.
При использовании шифрования подключений SQL Server необходимо установить эти версии драйверов.
- Microsoft OLE DB Driver 19: https://aka.ms/downloadmsoledbsql
- Microsoft ODBC Driver 18: https://aka.ms/downloadmsodbcsql
Дополнительные сведения о настройке шифрования подключений SQL см. здесь: настройка sql Server ядро СУБД для шифрования подключений
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.
Выполните вход на сервер с помощью учетной записи с учетными данными локального администратора.
Запустите редактор реестра, нажав кнопку "Пуск", введите regedit в текстовом поле "Запуск" и нажмите кнопку "ОК".
Найдите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Создайте подраздел в разделе "Протоколы " для:
- SSL 2.0
- SSL 3.0
- TLS 1.0
- TLS 1.1
- TLS 1.2.
Создайте вложенный ключ клиента и сервера в каждом подразделе версии протокола, созданном ранее. Например, подключ для 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
Чтобы отключить каждый протокол, создайте следующие значения DWORD в разделе "Сервер " и "Клиент".
- Включено [значение = 0]
- DisabledByDefault [Значение = 1]
Чтобы включить протокол TLS 1.2, создайте следующие разделы реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server
:
Затем создайте следующие значения DWORD в разделе "Сервер " и "Клиент".
- Enabled [значение = 1];
- DisabledByDefault [значение = 0].
Закройте Редактор реестра.
Метод 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 " "
}
Настройка платформа .NET Framework для использования только TLS 1.2
.NET обычно требует, чтобы приложение определило протокол TLS, используемый для обмена данными, в экземпляре SCOM необходимо сообщить системе .NET, какой протокол следует использовать.
После завершения настройки всех необходимых компонентов для Operations Manager выполните следующие действия на всех серверах управления, сервере, на котором размещена роль веб-консоли, и на любом компьютере Windows, на котором установлен агент.
Важно!
Точно следуйте всем указаниям из этого раздела. Неправильное изменение реестра может привести к серьезным проблемам. Прежде чем вносить изменения, создайте резервную копию реестра для восстановления в случае возникновения проблем.
Примечание.
SCOM, работающий в Ос Windows 2012, требует дополнительных изменений для использования TLS 1.2 по протоколу HTTP для мониторинга UNIX/LINUX. Чтобы включить TLS 1.2 в качестве протоколов безопасности по умолчанию в WinHTTP в Windows, необходимо вносить следующие изменения в соответствии с обновлением, чтобы включить протоколы TLS 1.1 и TLS 1.2 в качестве безопасных протоколов по умолчанию в WinHTTP в Windows.
- Установите KB3140245 на серверах управления и шлюзах в пуле ресурсов UNIX/LINUX.
- Создайте резервную копию реестров, которые изменяются, как упоминалось в статье базы знаний.
- Скачайте и запустите средство Easy Fix на серверах управления или шлюзах в пуле ресурсов UNIX/LINUX.
- Перезагрузите серверы.
Изменение реестра вручную
- Открытие редактора реестра
- Найдите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
- Создайте следующие пары значений DWORD:
- SchUseStrongCrypto [Значение = 1]
- SystemDefaultTlsVersions [Value = 1]
- Создайте следующие пары значений DWORD:
- Найдите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727
- Создайте следующие пары значений DWORD:
- SchUseStrongCrypto [Значение = 1]
- SystemDefaultTlsVersions [Value = 1]
- Создайте следующие пары значений DWORD:
- Найдите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
- Создайте следующие пары значений DWORD:
- SchUseStrongCrypto [Значение = 1]
- SystemDefaultTlsVersions [Value = 1]
- Создайте следующие пары значений DWORD:
- Найдите следующий подраздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
- Создайте следующие пары значений DWORD:
- SchUseStrongCrypto [Значение = 1]
- SystemDefaultTlsVersions [Value = 1]
- Создайте следующие пары значений DWORD:
- Перезагрузите систему, чтобы параметры вступили в силу.
Автоматическое изменение реестра
Выполните следующий скрипт Windows PowerShell в режиме администратора, чтобы автоматически настроить платформа .NET Framework для предотвращения зависимостей TLS 1.0 наследуемой платформой:
# Tighten up the .NET Framework
$NetRegistryPath1 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727"
New-ItemProperty -Path $NetRegistryPath1 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath1 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath2 = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath2 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath2 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath3 = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727"
New-ItemProperty -Path $NetRegistryPath3 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath3 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
$NetRegistryPath4 = "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319"
New-ItemProperty -Path $NetRegistryPath4 -Name "SchUseStrongCrypto" -Value "1" -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $NetRegistryPath4 -Name "SystemDefaultTlsVersions" -Value "1" -PropertyType DWORD -Force | Out-Null
Дополнительные параметры
Если это реализуется для System Center 2016 — Operations Manager, после применения накопительного пакета обновления 4 убедитесь, что импортируйте пакеты управления, включенные в этот накопительный пакет, расположенный в следующем каталоге: \Program Files\Microsoft System Center 2016\Operations Manager\Server\Management Packs for Update Rollups.
Если вы наблюдаете за поддерживаемой версией сервера Linux с помощью Operations Manager, следуйте инструкциям на соответствующем веб-сайте для вашего дистрибутива, чтобы настроить протокол TLS 1.2.
Аудит служб сбора данных
Для служб аудита сборок (ACS) необходимо внести дополнительные изменения в реестр на сервере сборщика ACS. ACS использует DSN для подключения к базе данных. Чтобы сделать их функциональными для TLS 1.2, необходимо обновить параметры DSN.
Выполните вход на сервер с помощью учетной записи с учетными данными локального администратора.
Запустите редактор реестра, нажав кнопку "Пуск", введите regedit в текстовом поле "Запуск" и нажмите кнопку "ОК".
Найдите следующий подраздел ODBC для OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
Примечание.
Имя DSN по умолчанию — OpsMgrAC.
В подразделе "Источники данных ODBC" выберите имя DSN OpsMgrAC. Он содержит имя драйвера ODBC, который будет использоваться для подключения к базе данных. Если у вас установлен ODBC 11.0, измените это имя на ODBC Driver 11 for SQL Server или если у вас установлен ODBC 13.0, измените это имя на ODBC Driver 13 для SQL Server.
В подразделе OpsMgrAC обновите драйвер для установленной версии ODBC.
- Если установлен ODBC 11.0, измените запись
%WINDIR%\system32\msodbcsql11.dll
драйвера на . - Если установлен ODBC 13.0, измените запись
%WINDIR%\system32\msodbcsql13.dll
драйвера на . - Если установлен ODBC 17.0, измените запись
%WINDIR%\system32\msodbcsql17.dll
драйвера на . - Если установлен ODBC 18.0, измените запись
%WINDIR%\system32\msodbcsql18.dll
драйвера на .
- Если установлен ODBC 11.0, измените запись
Файл реестра
Кроме того, создайте и сохраните следующий файл .reg в Блокноте или другом текстовом редакторе. Чтобы запустить сохраненный файл .reg , дважды щелкните файл.
Для ODBC 11.0, 13.0, 17.x или 18.x. Создайте следующий файл ODBC.reg и (замените используемой версией ODBC):
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources] "OpsMgrAC"="ODBC Driver 18 for SQL Server" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC] "Driver"="%WINDIR%\system32\msodbcsql18.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 использует DSN для подключения к базе данных. Чтобы сделать их функциональными для TLS 1.2, необходимо обновить параметры DSN.
- Выполните вход на сервер с помощью учетной записи с учетными данными локального администратора.
- Запустите редактор реестра, нажав кнопку "Пуск", введите regedit в текстовом поле "Запуск" и нажмите кнопку "ОК".
- Найдите следующий подраздел ODBC для OpsMgrAC:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\OpsMgrAC
Примечание.
Имя DSN по умолчанию — OpsMgrAC.
- В подразделе "Источники данных ODBC" выберите имя DSN OpsMgrAC. Он содержит имя драйвера ODBC, который будет использоваться для подключения к базе данных. Если у вас установлен ODBC 17, измените это имя на ODBC Driver 17 for SQL Server.
- В подразделе OpsMgrAC обновите драйвер для установленной версии ODBC.
- Например, если установлен ODBC 17, измените запись
%WINDIR%\system32\msodbcsql17.dll
Драйвера на . - Проверьте имя библиотеки DLL для текущей версии драйвера ODBC, установленной, если она отличается.
- Например, если установлен ODBC 17, измените запись
Файл реестра
Кроме того, создайте и сохраните следующий файл .reg в Блокноте или другом текстовом редакторе. Чтобы запустить сохраненный файл .reg , дважды щелкните файл.
Для ODBC 17 создайте следующий файл ODBC 17.reg:
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, чтобы автоматизировать изменение.
Убедитесь, что путь к файлу dll следует заменить соответствующей версией, если используется драйвер ODBC, отличный от 17.
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
Следующие шаги
Полный список используемых портов, направление связи и возможность настройки портов см. в разделе "Настройка брандмауэра для Operations Manager".
Общие сведения о том, как данные между компонентами в группе управления защищены, см. в разделе "Проверка подлинности и шифрование данных" в Operations Manager.