- Поддержка TLS ГОСТ в ОС Windows 10
- Инструкция по включению поддержки TLS ГОСТ в ОС Windows 10
- Настройка протоколов TLS на Windows Server
- Проблемы версий протоколов SSL и TLS и совместимости приложений
- Как правильно настроить TLS для разного типа приложений?
- Отключение SSL для Powershell и других .NET приложений
- Включение TLS 1.2 для WinHTTP
- Настройка с помощью IISCrypto
- Возможно, на сайте используются устаревшие или ненадежные параметры безопасности протокола TLS
- Подробнее о протоколе TLS
- Причины сбоя в протоколе TLS
- Есть и некоторые другие причины такого сообщения:
- Как решить проблему с параметрами безопасности TLS
- Необходимо также убедиться, что в вашей версии Windows установлены последние обновления.
- Поиск и удаление вирусов на компьютере
- Другие методы устранения ошибки безопасного соединения TLS
Поддержка TLS ГОСТ в ОС Windows 10
Инструкция по включению поддержки TLS ГОСТ в ОС Windows 10
- Для включения поддержки TLS ГОСТ для браузера Internet Explorer необходимо скачать и установить ViPNet CSP 4.5.
- Заполняем форму и получаем по электронной почте ссылку на дистрибутив программы.
- Скачиваем архив по ссылке из почты, распаковываем и запускаем установку.
- На этапе выбора способа установки нажимаем кнопку Настроить и включаем в установку компонент Поддержка протокола TLS/SSL.
Пользователям, которые обновляют ViPNet CSP со старой версии, следует добавить компонент Поддержка протокола TLS/SSL вручную через панель управления Windows. Для этого:
4.1. Обновляем ViPNet CSP 4.5
4.2 В меню поиска набираем appwiz.cpl, откроется меню Программы и Компоненты. Находим ViPNet CSP и выбираем пункт Изменить
4.3 В меню установки выбираем пункт Добавить или удалить компоненты и включаем в установку компонент Поддержка протокола TLS/SSL
Настройка протоколов 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 (0×00000200) и TLS 1.2 (0×00000800).
Готовый патч от Microsoft для исправления этого также можно скачать по ссылке KB3140245
Настройка с помощью IISCrypto
IISCrypto — это бесплатная утилита, не требующая установки, которая позволяет включить/выключить многие настройки Schannel через графический интерфейс, .NET и WinHTTP она не настраивает.
Скачать её можно с сайта разработчика без регистрации.
Возможно, на сайте используются устаревшие или ненадежные параметры безопасности протокола TLS
При подключении к некоторым сайтам пользователи встречают ошибку «Возможно, на сайте используются устаревшие или ненадежные параметры безопасности протокола TLS». Это особый интернет-протокол, который был разработан для более безопасного соединения между браузером и сервером. При передаче сигнала в нём данные зашифровываются, не позволяя третьей стороне получить важную информацию. Рассмотрим, что делать в этой ситуации и что эта ошибка означает.
Подробнее о протоколе TLS
В энциклопедии говорится, что TLS — это особый протокол защиты, который задействован при транспортировке данных по сети. У него был предшественник — SSL. Оба относятся к криптографическим протоколам. При передаче данных используется асимметричное шифрование. Для конфиденциальности используется симметричное шифрование. А для подтверждения целостности одного сообщения задействуются специальные коды.
TLS применяется сегодня практически во всех приложениях, связанных с передачей данных: интернет-браузер, мессенджер (VoIP), электронная почта. Первая версия протокола (SSL) была разработана компанией Netscape Communication. На данным момент более новой версией и её развитием занимается инженерный совет Интернета (IETF).
Причины сбоя в протоколе TLS
Одной и самой распространенной причиной того, что пользователь видит сообщение о ненадежности TLS — это определение браузером неверных параметров этого протокола. Также довольно часто такую ошибку можно встретить в браузере Internet Explorer. Он применяется для работы с различными государственными интернет службами, которые связаны с формами отчетности. Такие порталы требуют от пользователя именно этот браузер.
Есть и некоторые другие причины такого сообщения:
- Блокировка антивирусом интернет-ресурса, из-за чего и возникает подобное сообщение;
- Пользователь использует старую версию «КриптоПро» — программы для создания отчетов и др.;
- В базовой системе ввода-вывода (BIOS) активирован параметр «SecureBoot»;
- У пользователя установлено VPN-приложение или расширение для браузера, из-за чего появляется ошибка;
- На компьютере есть вирусы, которые блокируют безопасное соединение;
- В том случае, если неполадки наблюдаются только при подключении к одному ресурсу, возможно у самого сайта какие-то проблемы с серверами или с настройками TLS;
- Не исключено, что сайт является небезопасным, поэтому лучше его не посещать.
В базовой системе ввода-вывода (BIOS) активирован параметр «SecureBoot»
Как решить проблему с параметрами безопасности TLS
Для начала необходимо решить проблему с антивирусом и убедиться, что дело не в нем. Необходимо проверить свои настройки антивирусного ПО. В каждой такой программе есть функция сканирования интернет-соединения. Она может работать неверно.
- Для антивируса Avast — откройте настройки, выберите раздел «Активная защита», нужный пункт должен быть возле пиктограммы щитка. Уберите с него галочку и включите HTTP сканирование. Сохраните настройки;
- Для антивируса Kaspersky — найдите раздел «не проверять защищенное соединение». Его можно найти во вкладке «Сканирование». Или в дополнительных настройках найдите «Установить сертификат». Сохраните настройки и перезагрузите ПК.
В антивирусе Avast включаем сканирование HTTPS
В антивирусе Kaspersky устанавливаем сертификат
Необходимо также убедиться, что в вашей версии Windows установлены последние обновления.
- Для этого нажмите WIN+R и введите команду «services.msc»;
- Нажмите ENTER;
- Найдите в списке служб Windows «Центр обновления»;
- Нажмите правой кнопкой мыши на этой строке и выберите «Свойства»;
- В открывшемся окошке убедитесь, что установлено значение в блоке «Тип запуска» — «Автоматически»;
- Далее выберите кнопку «Пуск», «Панель управления»;
- Выберите «Система и безопасность»;
- Затем «Центр обновления» и нажмите кнопку «Проверить обновления».
Проверяем последние обновления в Windows
Если существуют обновления для вашей операционной системы, они будут найдены и загружены. После этого нужно перезагрузить компьютер и дождаться завершения установки ПО. Затем снова попробуйте проверить, появляется ли сообщение — возможно, на данном сайте используется ненадежные параметры безопасности передачи данных по TLS.
Поиск и удаление вирусов на компьютере
Теперь рассмотрим, что делать, если в вашем компьютере поселился вирус, который блокирует безопасное соединение. Для начала попробуйте открыть установленный на вашем компьютере антивирус и запустите разные типы сканирования: «Полное сканирование», «Быстрое», «Интеллектуальное» и др. Попробуйте сканировать не только весь жесткий диск, но и отдельные тома и папки. Проверьте папки, в которых находятся файлы вашего браузера.
Утилита Dr.Web-CureIt для сканирования ПК на вирусы
Если это не дало результатов, воспользуйтесь специальными утилитами, которые предназначены для разового сканирования и поиска вредоносного программного обеспечения. Практически каждый разработчик полноценного антивирусного ПО (Dr.WEB, Kaspersky, ESET и др.) имеет специальную утилиту, которую можно взять на официальном сайте. Это по размеру небольшие программы, которые не нужно устанавливать на диск. Их достаточно запустить и указать путь для сканирования. Обязательно воспользуйтесь этим эффективным инструментом.
Другие методы устранения ошибки безопасного соединения TLS
Если вы получили сообщение о сбое в протоколе TLS, работая с программой «КриптоПро», попробуйте загрузить более новую версию. Её можно взять на официальном сайте https://www.cryptopro.ru/downloads. Возможно проблема в самом браузере. Воспользуйтесь другим браузером, хотя-бы для того, чтобы определить, что проблема кроется в нём. Попробуйте также настроить свой браузер.
- Если вы пользуетесь Internet Explorer — откройте «Сервис». Нажмите «Свойства обозревателя», выберите «Дополнительно», затем нажмите вкладку «Безопасность». Здесь нужно найти пункты SSL и TLS. Если галочка установлена на пункте SSL, уберите её и поставьте на более новую версию протокола. Сохраните настройки и попытайтесь войти на сайт;
- В Opera — нажмите «Инструменты», далее выберите «Общие настройки». Перейдите в «Расширенные», и в разделе безопасности найдите пункт «Протоколы безопасности». Здесь нужно убрать галочки со строк с версиями TLS и оставить те, которые установлены на пунктах, вроде «256 bit…». Обязательно уберите галочку с пункта «Anonymous DH/SHA-256;
- Для Mozilla Firefox — откройте настройки, выберите пункт «Дополнительно» и «Шифрование». Как в IE, нам нужно оставить галочки на TLS и убрать со старого протокола SSL. Другие браузеры (Google Chrome, Safari и т.д.) настроек безопасного соединения не имеют. Поэтому нам приходится либо сменить браузер, либо искать причины в другом месте.
Настройка браузера Internet Explorer (SSL, TLS)
Встречается проблема со сбоем протокола TLS еще в том случае, если в системе время настроено неправильно. Чтобы это исправить:
- Выберите внизу рабочего стола Windows справа время правой кнопкой мыши;
- Нажмите пункт «Настройка даты и времени»;
- Установите правильное значение времени;
- Выберите вкладку «Время по интернету», выберите «Изменить параметры», поставьте галочку на «Синхронизировать с временем по интернету». Выберите сервер «windows.com» и сохраните настройки.
Закройте окна, перезагрузите компьютер и снова попробуйте попасть на сайт, на котором вы встретили ошибку — на этом сайте применяется устаревшие или ненадежные настройки безопасности TLS.