Отключение PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0 в службах IIS в Windows

Отключение PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0 в службах IIS в WindowsНабор серверов и сетевых служб IIS (Internet Information Services) от Microsoft, как известно, использует для защиты соединения между сервером и клиентом различные криптографические протоколы, такие как SSL, TLS и PCT. Самым актуальным из них является TLS. В этой статье разберём, как отключить ненужные нам протоколы в IIS.

Как должно быть понятно из названия, смысл криптографических протоколов в повышении защиты передаваемой информации от перехвата. В криптографических протоколах время от времени находят уязвимости, это приводит к разработке новых стандартов этих самых протоколов. К сожалению, моментально перейти на новый протокол нельзя из-за соображений обратной совместимости. Тем не менее, разработчики ПО постепенно внедряют в свои творения поддержку новых протоколов. Таким образом, иногда целесообразно отключать старые протоколы, если они уже не используются.

В операционных системах семейства Windows управление поддержкой протоколов PCT/SSL/TLS осуществляется на уровне реестра. Нас интересует ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols. В ней вы можете увидеть следующие подразделы:

  • PCT 1.0;
  • SSL 2.0;
  • SSL 3.0;
  • TLS 1.0.

Наличие или отсутствие подразделов зависит от версии операционной системы. Отсутствующие подразделы и параметры в них можно добавить.

Подразделы с именами протоколов, в свою очередь, содержат подразделы Client и Server с настройками, как ни странно, клиента и сервера.

В настройках клиента и сервера можно прописать параметры DisabledByDefault (выключен по умолчанию) и Enable (включен), которые и отвечают за использование криптографических протоколов. Тип параметров DWORD (32 бита), значения, которые они могут принимать: 0 и 1.

Отключение PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0 в службах IIS в Windows
Настройки протокола SSL 2.0 в Windows.

Немного о значениях:

Параметр Значение Описание
DisabledByDefault 0 Включен по умолчанию
1 Выключен по умолчанию
Enable 0 Выключен
1 Включен

Может показаться, что параметры дублируют друг друга, но в них есть различия. Если говорить в двух словах, параметр DisabledByDefault это более мягкий вариант отключения, который допускает исключения для приложений. А вот Enable — более жесткий параметр. Enable имеет приоритет над DisabledByDefault, т.е. Enable = 0 отключит протокол, несмотря на DisabledByDefault = 0.

Таким образом вы можете включить или выключить любой из перечисленных протоколов. Например, если мы хотим отключить протоколы SSL 2.0 и SSL 3.0, то нужно создать в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols подразделы SSL 2.0 и SSL 3.0 (при отсутствии), в них подразделы Client и Server (также при отсутствии), а там создать или отредактировать параметры DisabledByDefault (в значении 1 для отключения) и Enable (в значении 0 для отключения) в зависимости от того, насколько «жёстко» мы хотим запретить протоколы.

Похожим образом можно включить поддержку более новых криптографических протоколов. Например, в Windows 7 и Windows Server 2008 R2, которые всё ещё весьма распространены, по умолчанию отключены протоколы TLS 1.1 и TLS 1.2. Для их включения нужно создать одноимённые подразделы в реестре с соответствующими настройками.

Отключение PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0 в службах IIS в Windows
Включаем по умолчанию TLS 1.2 в Windows 7.

Для применения параметров нужно перезагрузить систему.

Напоследок отметим, что выставленные параметры применяются только для ПО, которое использует системные API. Если программа имеет собственные средства криптографии, то её нужно настраивать отдельно.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *