- Как включить и отключить TLS 1.0, TLS 1.1, TLS 1.2 протоколы
- Как включить или отключить TLS 1.0
- 1. Через свойства интернета
- 2. Через реестр
- Настройка протоколов TLS на Windows Server
- Проблемы версий протоколов SSL и TLS и совместимости приложений
- Как правильно настроить TLS для разного типа приложений?
- Отключение SSL для Powershell и других .NET приложений
- Включение TLS 1.2 для WinHTTP
- Настройка с помощью IISCrypto
- Как включить TLS 1.2
- Включение TLS 1.2
- Задачи для клиентов Configuration Manager, серверов сайта и удаленных систем сайта
- Включение TLS 1.2 для клиентов Configuration Manager
- Включите TLS 1.2 для серверов сайта Configuration Manager и удаленных систем сайта
- Компоненты и зависимости сценариев
- Часто задаваемые вопросы
- Зачем использовать TLS 1.2 с Configuration Manager?
- Где Configuration Manager использует протоколы шифрования, например TLS 1.2?
- Как определить, какой протокол шифрования использовать?
- Что определяет версию протокола, которую может использовать клиент и сервер?
Как включить и отключить TLS 1.0, TLS 1.1, TLS 1.2 протоколы
В данном руководстве разберем несколько способов, как включить или отключить сетевые протоколы TLS 1.0, TLS 1.1 и TLS 1.2.
TLS (Transport Layer Security) — это криптографический протокол, обеспечивающий сквозную безопасность данных, передаваемых между приложениями через Интернет. В основном он используется для безопасного просмотра сайтов через браузер как Яндекс, Chrome или Internet Explorer. Кроме того, он используется для приложений как почта, видеосвязь VoIP, обмен сообщениями, интернет сервисы как DNS и NTP.
Работа TLS заключается в комбинации криптографии как симметричной, так и асимметричной. При старой симметричной криптографии данные шифруются и дешифруются с помощью секретного ключа, известного как отправителю, так и получателю; обычно это 128 бит. Асимметричная новая криптография использует пары ключей — открытый ключ и закрытый ключ, и тоже шифруются в 128 бит. По этому, асимметричная криптография является наилучшим вариантом, так как практически невозможно получить какой-либо ключ, так как они оба математически связаны.
На сегодняшний день протокол TLS 1.0 не является безопасным, так как он устарел и существуют выше версии, которые более безопасные.
Современные браузеры поддерживают протокол с версии TLS 1.2, и разумным будет отключить версию TLS 1.0.
Если у Вас Windows 7 или XP, то очевидно, что там стоят старые версии браузеров для которых необходим включенный протокол TLS 1.0 или TLS 1.1.
Как включить или отключить TLS 1.0
1. Через свойства интернета
- Нажмите сочетание клавиш Win+R и введите inetcpl.cpl, чтобы быстро открыть свойства интернета.
- Перейдите во вкладку «Дополнительно«.
- В списке найдите протокол TLS 1.0, TLS 1.1 или TLS 1.2.
- Поставьте галочку, чтобы включить и уберите, чтобы отключить.
2. Через реестр
Нажимаем Win+R и вводим regedit, чтобы открыть редактор реестра. В реестре переходим по следующему пути:
- Нажимаем правой кнопкой мыши по «Protocol» и Создать > Раздел.
- Называем новый раздел TLS 1.0 и жмем по нему правой кнопкой мыши.
- Создаем еще один раздел и именем Client.
Вместо TLS 1.0 вы можете создать TLS 1.1 или TLS 1.2, смотря какой вам нужен. Кроме того, можно создать сразу несколько.
Выделяем одним нажатием созданный раздел Client и справа на пустом поле жмем правой кнопкой мыши Создать > Параметр DWORD (32 бита). Назовите новый параметр Enabled. Щелкните по нему два раза, чтобы открыть свойства и задайте значение 1, чтобы включить и 0, чтобы отключить.
Источник
Настройка протоколов TLS на Windows Server
Написать эту статью подоткнул тот факт, что Windows Server 2016, установленный из коробки, почему-то не имеел TLS протокол, включенный как основный по умолчанию, в то время как SSL3.0 был включен. Приводит это к разным последствиям, как для безопасности, так и для функционирования различных сервисов и приложений.
Проблемы версий протоколов SSL и TLS и совместимости приложений
Для начала рассмотрим проблемы связанные с версиями SSL протоколов:
- SSL v2 небезопасен, устарел и не рекомендуется для использования. См. атаку DROWN по этому протоколу.
- SSL v3 небезопасен и устаревший инструмент. См. атаку POODLE.
- TLS v1.0 также является устаревшим протоколом, но на практике он все же оказывается необходим. Его основная слабость (BEAST) была смягчена в современных браузерах.
- TLS v1.1 и TLS v1.2 оба не имеют известных проблем с безопасностью, но только v1.2 предоставляет современные криптографические алгоритмы.
SSL 2.0, SSL 3.0 и TLS 1.0 настоятельно рекомендуется отключить, так как большинство стандартов безопасности их уже давно не поддерживают (например, PCI DSS 3.1). Рекомендуемые протоколы TLS v1.1 и TLS v1.2 с актуальными алгоритмами шифрование и снятия хэшей.
Но и это оказывается не полной правдой. Дело в том, что использование протоколов зависит не только от системных настроек, но и от того, как написаны приложения. Например, я выяснил, что .NET приложения используют свои собственные настройки безопасности. Также известно, что если включить поддержку TLS 1.2 на SQL Server (например, применив патч https://support.microsoft.com/en-us/help/3135244/tls-1-2-support-for-microsoft-sql-server), установленный на Windows Server 2012, то приложения .NET и JAVA потеряют возможность подключаться к SQL.
Также давно известна проблема с вэб приложениями, написанными на базе интерфейса WinHTTP API. После включения TLS 1.1/1.2 они также перестают подключаться.
Службы IIS и ADFS при этом прекрасно используют новые протоколы, следуя системным настройкам. Более того, к сервисам Azure вы не сможете подключиться через TLS 1.2, но при этом, как выяснилось, Powershell даже в Windows Server 2016 использует SSL3.0 и TLS 1.0, несмотря на то, что согласно системной настройке они отключены.
Как правильно настроить TLS для разного типа приложений?
Начнем с того, что для всего есть свои реестровые ключи, однако нужно точно понимать, какой тип приложения вы хотите настроить, чтобы избежать проблем. Начну с того, что полный список доступных системных ключей в Windows 10/Windows Server 2016/2019 доступен по ссылке https://docs.microsoft.com/ru-ru/windows-server/security/tls/tls-registry-settings. Изменяя их, вы можете настроить IIS, ADFS и прочие службы. Однако, эти ключи не влияют на работу приложений .NET (и в частности, Powershell) и WinHTTP!
В чем же дело? Дело в библиотеках. IIS и ADFS используют Schannel — поставщик поддержки безопасности (SSP), реализующий стандартные протоколы проверки подлинности SSL, TLS и DTLS Internet. Интерфейс поставщика поддержки безопасности (SSPI) является интерфейсом API, используемым системами Windows для выполнения функций, связанных с безопасностью, включая проверку подлинности. В Windows все функции SSPI выполняет библиотека Schannel.dll, в которой реализованы все протоколы и наборы шифрования.
Итак, ветки реестра, которые нас интересуют:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols — включение и отключение протоколов для Schannel.dll, как клиентских, так и серверных. Для каждого протокола — своя ветка;
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers — здесь можно изменить список и порядок просмотра (это важно!) наборов шифрования;
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp — в параметре DefaultSecureProtocols настраиваются протоколы для приложений на WinHttp API;
- HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Cryptography\ECCParameters — настройка эллиптических кривых для криптографии;
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5 — отключение MD5 шифрования для маркеров безопасности.
Теперь пройдем по конкретным примерам и настройкам.
Отключение SSL и TLS 1.0 протоколов на системном в Schannel подробно описано в документации Microsoft. Отключить небезопасные можно как через реестр, так и с помощью Powershell.
В этой же статье ниже описано, как отключить небезопасные алгоритмы шифрования, такие как RC4.
Отключить небезопасные наборы шифрования (cipher suites) можно через параметр Functions в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002 .
Этот параметр является многострочным текстовым значением, который просто содержит построчный список наборов (один на строку). Удалите ненужные строки.
Порядок проверки наборов шифрования также удобно изменять с помощью групповых политик. Это также описано в документации.
Ну и наконец, для управления доступными наборами появились командлеты Powershell. Например, с помощью Disable-TlsCipherSuite вы можете отключить неугодный набор.
Отключение SSL для Powershell и других .NET приложений
Как я уже писал, системные настройки выше не влияют на Powershell сессии. Проверить, какие протоколы сейчас активны в вашей Powershell сессии, можно выполнив команду
Если в выводе команды увидите ssl30, tls, то их надо отключить.
Для этого в Windows Srver 2012 / Windows 2016 используйте ключ реестра
С помощью самого Powershell это можно изменить одной командой:
New-ItemProperty -path ‘HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319’ -name ‘SchUseStrongCrypto’ -value ‘1’ -PropertyType ‘DWord’ -Force | Out-Null
Включение TLS 1.2 для WinHTTP
Если коротко, то в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp нужно добавить параметр DefaultSecureProtocols, который в 16-ричном виде будет содержать сумму значений всех протоколов, которые необходимо включить. Например, для включения TLS 1.1 и 1.2 надо добавить значение 0x00000A00, которое будет суммой значений TLS 1.1 (0x00000200) и TLS 1.2 (0x00000800).
Готовый патч от Microsoft для исправления этого также можно скачать по ссылке KB3140245
Настройка с помощью IISCrypto
IISCrypto — это бесплатная утилита, не требующая установки, которая позволяет включить/выключить многие настройки Schannel через графический интерфейс, .NET и WinHTTP она не настраивает.
Скачать её можно с сайта разработчика без регистрации.
Источник
Как включить TLS 1.2
Область применения: Configuration Manager (Current Branch)
Протокол TLS, например, SSL, является протоколом шифрования, предназначенным для обеспечения безопасности данных при передаче по сети. В этих статьях описывается, как обеспечить безопасный обмен данными по протоколу TLS 1.2 в Configuration Manager. Кроме того, в них приводятся требования к обновлению для часто используемых компонентов и рекомендации по устранению распространенных проблем.
Включение TLS 1.2
Configuration Manager обеспечивает безопасность связи с помощью множества различных компонентов. Протокол, который используется для конкретного подключения, зависит от возможностей всех соответствующих компонентов на стороне клиента и сервера. Если один из компонентов устарел или настроен неправильно, при обмене данными может использоваться старая, менее безопасная версия протокола. Чтобы корректно включить поддержку TLS 1.2 для всех безопасных подключений в Configuration Manager, вам нужно сделать это для всех необходимых компонентов. Необходимые компоненты зависят от вашей среды и используемых функций Configuration Manager.
Начните с клиентов, особенно если используются предыдущие версии Windows. Прежде чем включить TLS 1.2 и отключить старые протоколы на серверах Configuration Manager, убедитесь, что все клиенты поддерживают этот протокол. В противном случае клиенты не смогут обмениваться данными с серверами и могут быть потеряны.
Задачи для клиентов Configuration Manager, серверов сайта и удаленных систем сайта
Чтобы включить TLS 1.2 для компонентов, от которых зависит Configuration Manager для защищенного обмена данными, необходимо выполнить несколько задач на стороне клиентов и серверов сайта.
Включение TLS 1.2 для клиентов Configuration Manager
Включите TLS 1.2 для серверов сайта Configuration Manager и удаленных систем сайта
Компоненты и зависимости сценариев
В этом разделе описаны зависимости для определенных функций и сценариев Configuration Manager. Чтобы определить дальнейшие действия, найдите элементы, которые имеют отношение к вашей среде.
| Возможность или сценарий | Обновление задач |
|---|---|
| Серверы сайтов (центральные, серверы-источники или серверы-получатели) | — Обновите .NET Framework – Проверьте параметры криптостойкости |
| Сервер базы данных сайтов | Обновите SQL Server и его клиентские компоненты |
| Сервер вторичного сайта | Обновите SQL Server и его клиентские компоненты до совместимой версии SQL Server Express |
| Роли систем сайта | — Обновите .NET Framework и проверьте параметры стойкости шифрования — Обновите SQL Server и его клиентские компоненты для ролей, которые требуют этого, в том числе для SQL Server Native Client |
| Точка служб отчетов | — Обновите .NET Framework на сервере сайта, серверах SQL Server Reporting Services и всех компьютерах с консолью – При необходимости перезапустите службу SMS_Executive |
| Точка обновления программного обеспечения | Обновите службы WSUS |
| Шлюз управления облаком | Принудительное применение TLS 1.2 |
| Консоль Configuration Manager | — Обновите .NET Framework – Проверьте параметры криптостойкости |
| Клиент Configuration Manager с ролями системы сайта HTTPS | Обновите Windows для поддержки TLS 1.2 для обмена данными между клиентом и сервером через WinHTTP |
| Центр программного обеспечения | — Обновите .NET Framework – Проверьте параметры криптостойкости |
| Клиенты Windows 7 | Прежде чем включать TLS 1.2 на каких-либо серверных компонентах, обновите Windows для поддержки TLS 1.2 для обмена данными между клиентом и сервером через WinHTTP. Если сначала включить TLS 1.2 на серверных компонентах, ранние версии клиентов могут быть потеряны. |
Часто задаваемые вопросы
Зачем использовать TLS 1.2 с Configuration Manager?
TLS 1.2 более безопасен, чем предыдущие криптографические протоколы, такие как SSL 2.0, SSL 3.0, TLS 1.0 и TLS 1.1. По сути, TLS 1.2 обеспечивает безопасность передачи данных по сети.
Где Configuration Manager использует протоколы шифрования, например TLS 1.2?
Существует пять основных задач, для которых Configuration Manager использует протоколы шифрования, такие как TLS 1.2:
- Взаимодействие клиента с ролями сервера сайта на основе IIS, если роль настроена для использования протокола HTTPS. Примерами таких ролей являются точки распространения, точки обновления программного обеспечения и точки управления.
- Обмен данными между точкой управления, службой SMS Executive и поставщиком SMS с помощью SQL. Configuration Manager всегда шифрует обмен данными с SQL Server.
- Обмен данными между сервером сайта и службами WSUS, если служба WSUS настроена для использования протокола HTTPS.
- Консоль Configuration Manager для служб SQL Server Reporting Services (SSRS), если службы SSRS настроены для использования протокола HTTPS.
- Любые подключения к интернет-службам. Например, шлюз управления облачными службами (CMG), синхронизация точки подключения службы и синхронизация метаданных обновления из Центра обновления Майкрософт.
Как определить, какой протокол шифрования использовать?
Протокол HTTPS всегда будет требовать наивысшую версию протокола, поддерживаемую как клиентом, так и сервером, в зашифрованном обмене данных. При установлении соединения клиент отправляет на сервер сообщение с наивысшим доступным протоколом. Если сервер поддерживает ту же версию, он отправляет сообщение, используя эту версию. Эта согласованная версия и используется для соединения. Если сервер не поддерживает версию, представленную клиентом, то в сообщении сервера будет указана самая высокая версия, которую он может использовать. Дополнительные сведения о протоколе подтверждения TLS см. в разделе Установка защищенного сеанса с помощью TLS.
Что определяет версию протокола, которую может использовать клиент и сервер?
Как правило, следующие элементы могут определить используемую версию протокола:
- Приложение может определять, какие версии протоколов следует согласовать.
- Рекомендуется избегать использования строго установленных версий протоколов на уровне приложения и соблюдать конфигурацию, определенную на уровне протокола компонента и операционной системы.
- Configuration Manager следует этим рекомендациям.
- Для приложений, написанных с использованием .NET Framework, версии протокола по умолчанию зависят от версии платформы, на которой они были скомпилированы.
- Версии .NET до 4.6.3 не включали TLS 1.1 и 1.2 в списке протоколов для согласования по умолчанию.
- Приложения, использующие WinHTTP для соединений по протоколу HTTPS, например клиент Configuration Manager, зависят от версии операционной системы, уровня обновления и конфигурации для поддержки версии протокола.
Источник