Настройка протокола tls windows 10

Поддержка TLS ГОСТ в ОС Windows 10

Инструкция по включению поддержки TLS ГОСТ в ОС Windows 10

  1. Для включения поддержки TLS ГОСТ для браузера Internet Explorer необходимо скачать и установить ViPNet CSP 4.5.
  2. Заполняем форму и получаем по электронной почте ссылку на дистрибутив программы.
  3. Скачиваем архив по ссылке из почты, распаковываем и запускаем установку.
  4. На этапе выбора способа установки нажимаем кнопку Настроить и включаем в установку компонент Поддержка протокола 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 они также перестают подключаться.

Читайте также:  Top linux distro slant

Службы 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 установлены последние обновления.

  1. Для этого нажмите WIN+R и введите команду «services.msc»;
  2. Нажмите ENTER;
  3. Найдите в списке служб Windows «Центр обновления»;
  4. Нажмите правой кнопкой мыши на этой строке и выберите «Свойства»;
  5. В открывшемся окошке убедитесь, что установлено значение в блоке «Тип запуска» — «Автоматически»;
  6. Далее выберите кнопку «Пуск», «Панель управления»;
  7. Выберите «Система и безопасность»;
  8. Затем «Центр обновления» и нажмите кнопку «Проверить обновления».

Проверяем последние обновления в 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 еще в том случае, если в системе время настроено неправильно. Чтобы это исправить:

  1. Выберите внизу рабочего стола Windows справа время правой кнопкой мыши;
  2. Нажмите пункт «Настройка даты и времени»;
  3. Установите правильное значение времени;
  4. Выберите вкладку «Время по интернету», выберите «Изменить параметры», поставьте галочку на «Синхронизировать с временем по интернету». Выберите сервер «windows.com» и сохраните настройки.

Закройте окна, перезагрузите компьютер и снова попробуйте попасть на сайт, на котором вы встретили ошибку — на этом сайте применяется устаревшие или ненадежные настройки безопасности TLS.

Читайте также:  Не включается скринсейвер windows
Оцените статью