Отключить поддержку шифров 3des windows 2012 r2

Защита Windows от уязвимости в SSL v3

В октябре инженеры Google опубликовали информацию о критической уязвимости в SSL версии 3.0, получившей забавное название POODLE (Padding Oracle On Downgraded Legacy Encryption или пудель 🙂 ). Уязвимость позволяет злоумышленнику получить доступ к информации, зашифрованной протоколом SSLv3 с помощью атаки «man in the middle». Уязвимости подвержены как серверы, так и клиенты, которые могут соединяться по протоколу SSLv3.

В общем-то ситуация не удивительная, т.к. протоколу SSL 3.0, впервые представленного еще в 1996 году, уже исполнилось 18 лет и морально он уже устарел. В большинстве практических задач его уже заменил криптографический протокол TLS (версий 1.0, 1.1 и 1.2).

Для защиты от уязвимости POODLE рекомендуется полностью отключить поддержку SSLv3 как на стороне клиента, так и на стороне сервера и в дальнейшем использовать только TLS. Для пользователей устаревшего ПО (например, использующих IIS 6 на Windows XP) это означает, что они более не смогут просматривать HTTPS страницы и использовать другие SSL-сервисы . В том случае, если поддержка SSLv3 не отключена полностью, а по умолчанию предлагается используется более сильное шифрование, уязвимость POODLE все равно будет иметь место. Связано это с особенностями выбора и согласования протокола шифрования между клиентом и сервером, т.к. при обнаружении неисправностей в использовании TLS, происходит автоматический переход на SSL.

Рекомендуем проверить все свои сервисы, которые могут использовать SSL/TLS в любом виде и отключить поддержку SSLv3. Проверить свой веб-сервер на наличие уязвимости можно с помощью онлайн теста, например, тут: http://poodlebleed.com/ .

Отключаем SSLv3 в Windows на уровне системы

В ОС Windows управление поддержкой протоколов SSL/TLS осуществляется через реестр.

В этом примере мы покажем, как полностью на уровне системы (как на уровне клиента, так и сервера) отключить SSLv3 в Windows Server 2012 R2:

  1. Откройте редактор реестра (regedit.exe) с правами администратора
  2. Перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\
  3. Создайте новый раздел с именем SSL3.0 (New->Key)
  4. В созданном разделе SSL3.0 создайте еще два подраздела с именами Client и Server.
  5. Затем в разделе Client создайте новый параметр типа DWORD (32-bit) с именем DisabledByDefault
  6. В качестве значения ключа DisabledByDefault укажем 1.
  7. Затем в ветке Server создайте новый параметр типа DWORD (32-bit) с именем Enabled и значением 0.
  8. Для вступления изменений в силу необходимо перезагрузить сервер

Отключаем SSLv2 (Windows 2008 / Server и ниже)

В ОС, предшествующих Windows 7 / Windows Server 2008 R2 по-умолчанию используется еще менее безопасный и устаревший протокол SSL v2, который также следует отключить из соображений безопасности (в более свежих версиях Windows, SSLv2 на уровне клиента отключен по умолчанию и используется только SSLv3 и TLS1.0). Для отключения SSLv2 нужно повторить описанную выше процедуру, только для раздела реестра SSL 2.0.

В Windows 2008 / 2012 SSLv2 на уровне клиента отключен по умолчанию.

Включаем TLS 1.1 и TLS 1.2 в Windows Server 2008 R2 и выше

Windows Server 2008 R2 / Windows 7 и выше поддерживают алгоритмы шифрования TLS 1.1 и TLS 1.2, но по-умолчанию эти протоколы отключены. Включить поддержку TLS 1.1 и TLS 1.2 в этих версиях Windows можно по схожему сценарию

  1. В редакторе реестра откройте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
  2. Создайте два раздела TLS 1.1 и TLS 1.2
  3. Внутри каждого раздела создайте по подразделу с именами Client и Server
  4. В каждом из разделов Client и Server создайте по ключу типа DWORD:
    • DisabledByDefault со значением 0
    • Enabled со значением 1
  5. После внесенных изменений сервер следует перезагрузить.
Читайте также:  Windows полноэкранный режим приложения

Утилита для управления системными криптографическими протоколами в Windows Server

Существует бесплатная утилита IIS Crypto, позволяющая удобно управлять параметрами криптографических протоколов в Windows Server 2003, 2008 и 2012. С помощью данной утилиты включить или отключить любой из протоколов шифрования можно всего в два клика.

В программе уже есть несколько шаблонов, позволяющие быстро применить предустановки для различных вариантов настроек безопасности.

Ограничение использования определенных криптографических алгоритмов и протоколов в Schannel.dll

В этой статье описывается ограничение использования определенных криптографических алгоритмов и протоколов в Schannel.dll файле. Эта информация также применяется к приложениям независимых поставщиков программного обеспечения (ISV), которые написаны для API шифрования Microsoft (CAPI).

Оригинальная версия продукта: Windows Server 2003
Исходный номер КБ: 245030

Эта статья применима к Windows Server 2003 и более ранним версиям Windows. Ключи реестра, применимые к Windows Server 2008 и более поздним версиям Windows, см. в tLS Registry Settings.

Сводка

Следующие поставщики криптографических служб (CSPs), включенные в Windows NT 4.0 Пакет обновления 6, получили сертификаты для проверки криптографии FIPS-140-1.

  • Поставщик шифрования Microsoft Base (Rsabase.dll)
  • Microsoft Enhanced Cryptographic Provider (Rsaenh.dll) (неэкспортная версия)

Поставщик безопасности Microsoft TLS/SSL, Schannel.dll, использует указанные здесь CSPs для ведения безопасной связи по SSL или TLS в своей поддержке служб internet Explorer и Internet Information Services (IIS).

Вы можете изменить файл Schannel.dll для поддержки Шифра Suite 1 и 2. Однако программа также должна поддерживать Пакет шифров 1 и 2. Наборы шифров 1 и 2 не поддерживаются в IIS 4.0 и 5.0.

В этой статье содержатся необходимые сведения для настройки поставщика безопасности TLS/SSL для Windows NT 4.0 Пакет обновления 6 и более поздних версий. Вы можете использовать реестр Windows для управления использованием определенных наборов шифров SSL 3.0 или TLS 1.0 в отношении криптографических алгоритмов, поддерживаемых базовым поставщиком криптографии или расширенным поставщиком шифрования.

В Windows NT 4.0 Пакет обновления 6 файл Schannel.dll не использует поставщика шифрования Microsoft Base DSS (Dssbase.dll) или расширенного поставщика шифрования Microsoft DS/Diffie-Hellman (Dssenh.dll).

Наборы шифров

SSL 3.0 и TLS 1.0 (RFC2246) с 56-битными пакетами экспортного шифра INTERNET-DRAFT для TLS draft-ietf-tls-56-bit-ciphersuites-00.txtпредоставляют варианты использования различных наборов шифров. Каждый набор шифров определяет алгоритмы обмена ключами, проверки подлинности, шифрования и MAC, которые используются в сеансе SSL/TLS. При использовании RSA в качестве алгоритмов обмена ключами и проверки подлинности термин RSA отображается только один раз в соответствующих определениях набора шифров.

Поставщик Windows NT 4.0 Пакет обновления 6 Microsoft TLS/SSL security Provider поддерживает следующий SSL 3.0-определенный cipherSuite при использовании базового поставщика шифрования или расширенного поставщика шифрования:

SSL 3.0 Набор шифров
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
SSL_RSA_EXPORT1024_WITH_RC4_56_SHA

Ни SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA, ни SSL_RSA_EXPORT1024_WITH_RC4_56_SHA не определены в тексте SSL 3.0. Однако несколько поставщиков SSL 3.0 поддерживают их. Это относится к Корпорации Майкрософт.

Windows NT 4.0 Пакет обновления 6 Поставщик безопасности Microsoft TLS/SSL также поддерживает следующий код cipherSuite с определением TLS 1.0 при использовании базового поставщика шифрования или расширенного поставщика шифрования:

TLS 1.0 Набор шифров
TLS_RSA_EXPORT_WITH_RC4_40_MD5
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
TLS_RSA_WITH_DES_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA

Набор шифров, определяемый с помощью первого 0x00, не является частным и используется для открытых интероперабельных коммуникаций. Поэтому поставщик Windows NT 4.0 Пакет обновления 6 Microsoft TLS/SSL Security Provider следует процедурам использования этих наборов шифров, как указано в SSL 3.0 и TLS 1.0, чтобы убедиться в возможности обеспечения связи.

Ключи реестра, определенные для Schannel

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

Любые изменения содержимого ключа CIPHERS или ключа HASHES вступает в силу немедленно, без перезапуска системы.

Ключ SCHANNEL

Начните редактор реестра (Regedt32.exe), а затем найдите следующий ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Подкайка SCHANNEL\Protocols

Чтобы система мог использовать протоколы, которые не будут согласованы по умолчанию (например, TLS 1.1 и TLS 1.2), измените данные значения DWORD значения DisabledByDefault на 0x0 в следующих ключах реестра в ключе Протоколы:

  • SCHANNEL\Protocols\TLS 1.1\Client
  • SCHANNEL\Protocols\TLS 1.1\Server
  • SCHANNEL\Protocols\TLS 1.2\Client
  • SCHANNEL\Protocols\TLS 1.2\Server

Значение DisabledByDefault в ключе реестра в ключе Протоколы не имеет приоритета над значением grbitEnabledProtocols, которое определяется в структуре, содержаной данные учетных данных SCHANNEL_CRED Schannel.

Подкайка SCHANNEL\Ciphers

Ключ реестра шифров под ключом SCHANNEL используется для управления использованием симметричных алгоритмов, таких как DES и RC4. Ниже приводится допустимый ключ реестра под ключом Ciphers.

Создание подкайки шифров SCHANNEL в формате: SCHANNEL\(VALUE)\(VALUE/VALUE)

RC4 128/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 128/128

Этот подкай относится к 128-битной RC4.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . Или измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию. Этот ключ реестра не применяется к экспортируемом серверу, у него нет сертификата SGC.

Отключение этого алгоритма фактически отключит следующие значения:

  • SSL_RSA_WITH_RC4_128_MD5
  • SSL_RSA_WITH_RC4_128_SHA
  • TLS_RSA_WITH_RC4_128_MD5
  • TLS_RSA_WITH_RC4_128_SHA

Triple DES 168

Подмышка шифров: SCHANNEL\Ciphers\Triple DES 168

Этот ключ реестра относится к 168-битной triple DES, как указано в ANSI X9.52 и Draft FIPS 46-3. Этот ключ реестра не применяется к экспортной версии.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . Или измените данные DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

Для версий Windows, выпускаемой до Windows Vista, ключ должен быть Triple DES 168/168.

RC2 128/128

Подмышка шифров: SCHANNEL\Ciphers\RC2 128/128

Этот ключ реестра относится к 128-битной RC2. Он не применяется к экспортной версии.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

RC4 64/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 64/128

Этот ключ реестра относится к 64-битной RC4. Он не применяется к экспортной версии (но используется в Microsoft Money).

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

RC4 56/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 56/128

Этот ключ реестра относится к 56-битной RC4.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff. В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующее значение:

RC2 56/128

Подмышка шифров: SCHANNEL\Ciphers\RC2 56/128

Этот ключ реестра относится к 56-битной RC2.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

DES 56

Подмышка шифров: SCHANNEL\Ciphers\RC2 56/56

Этот ключ реестра относится к 56-битной des, как указано в FIPS 46-2. Его реализация в Rsabase.dll и Rsaenh.dll проверяется в рамках программы проверки криптографического модуля FIPS 140-1.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

RC4 40/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 40/128

Этот ключ реестра относится к 40-битной RC4.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

RC2 40/128

Подмышка шифров: SCHANNEL\Ciphers\RC2 40/128

Этот ключ реестра относится к 40-битной RC2.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

NULL

Подмышка шифров: SCHANNEL\Ciphers\NULL

Этот ключ реестра не означает шифрования. По умолчанию он отключен.

Чтобы отключить шифрование (отключите все алгоритмы шифров), измените значение DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0.

Hashes

Подмышка шифров: SCHANNEL/Hashes

Ключ реестра hashes под ключом SCHANNEL используется для управления использованием алгоритмов хеширования, таких как SHA-1 и MD5. Ниже приводится допустимый ключ реестра под ключом Hashes.

MD5

Подмышка шифров: SCHANNEL\Hashes\MD5

Чтобы разрешить этот алгоритм хаширования, измените данные значения DWORD значения Включено на значение по умолчанию 0xffffffff. В противном случае измените данные значения DWORD на 0x0.

Отключение этого алгоритма фактически отключит следующие значения:

  • SSL_RSA_EXPORT_WITH_RC4_40_MD5
  • SSL_RSA_WITH_RC4_128_MD5
  • SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
  • TLS_RSA_EXPORT_WITH_RC4_40_MD5
  • TLS_RSA_WITH_RC4_128_MD5
  • TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5

SHA

Подмышка шифров: SCHANNEL\Hashes\SHA

Этот ключ реестра относится к безопасному алгоритму хаша (SHA-1), как указано в FIPS 180-1. Его реализация в Rsabase.dll и Rsaenh.dll проверяется в рамках программы проверки криптографического модуля FIPS 140-1.

Чтобы разрешить этот алгоритм хаширования, измените данные значения DWORD значения Включено на значение по умолчанию 0xffffffff. В противном случае измените данные значения DWORD на 0x0.

Отключение этого алгоритма фактически отключит следующие значения:

  • SSL_RSA_WITH_RC4_128_SHA
  • SSL_RSA_WITH_DES_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
  • SSL_RSA_EXPORT1024_WITH_RC4_56_SHA
  • TLS_RSA_WITH_RC4_128_SHA
  • TLS_RSA_WITH_DES_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
  • TLS_RSA_EXPORT1024_WITH_RC4_56_SHA

KeyExchangeAlgorithms

Подмышка шифров: SCHANNEL/KeyExchangeAlgorithms

Ключ реестра KeyExchangeAlgorithms под ключом SCHANNEL используется для управления использованием ключевых алгоритмов обмена, таких как RSA. Ниже приводится допустимый ключ реестра в ключе KeyExchangeAlgorithms.

PKCS

Подмышка шифров: SCHANNEL\KeyExchangeAlgorithms\PKCS

Этот ключ реестра относится к RSA как к алгоритмам обмена ключами и проверки подлинности.

Чтобы разрешить RSA, измените данные значения DWORD значения Включено на значение по умолчанию 0xffffffff. В противном случае измените данные DWORD на 0x0.

Отключение RSA фактически отключит все шифры SSL и TLS на основе RSA, поддерживаемые поставщиком безопасности Windows NT4 SP6 Microsoft TLS/SSL.

Наборы шифров FIPS 140-1

Возможно, вам нужно использовать только те наборы шифров SSL 3.0 или TLS 1.0, которые соответствуют алгоритмам FIPS 46-3 или FIPS 46-2 и FIPS 180-1, предоставленным поставщиком шифрования Microsoft Base или Enhanced Cryptographic.

В этой статье мы называем их шифрами FIPS 140-1. В частности, они являются следующими:

  • SSL_RSA_WITH_DES_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
  • TLS_RSA_WITH_DES_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA

Чтобы использовать только наборы шифров FIPS 140-1, как определено здесь и поддерживается Windows NT 4.0 Пакет обновления 6 Поставщик безопасности Microsoft TLS/SSL с базовым криптографическим поставщиком или расширенным криптографическим поставщиком, настройте данные значения DWORD значения Включено в следующих ключах реестра для 0x0:

  • SCHANNEL\Ciphers\RC4 128/128
  • SCHANNEL\Ciphers\RC2 128/128
  • SCHANNEL\Ciphers\RC4 64/128
  • SCHANNEL\Ciphers\RC4 56/128
  • SCHANNEL\Ciphers\RC2 56/128
  • SCHANNEL\Ciphers\RC4 40/128
  • SCHANNEL\Ciphers\RC2 40/128
  • SCHANNEL\Ciphers\NULL
  • SCHANNEL\Hashes\MD5

И настройте данные значения DWORD значения Включено в следующих ключах реестра для 0xffffffff:

  • SCHANNEL\Ciphers\DES 56/56
  • SCHANNEL\Ciphers\Triple DES 168/168 (не применяется в экспортной версии)
  • SCHANNEL\Hashes\SHA
  • SCHANNEL\KeyExchangeAlgorithms\PKCS

Master secret computation by using FIPS 140-1 cipher suites

Процедуры использования шифров FIPS 140-1 в SSL 3.0 отличаются от процедур использования шифров FIPS 140-1 в TLS 1.0.

В SSL 3.0 ниже приводится определение master_secret вычислений:

В TLS 1.0 ниже приводится определение master_secret вычислений:

Выбор варианта использования только шифров fiPS 140-1 в TLS 1.0:

Из-за этой разницы клиентам может потребоваться запретить использование SSL 3.0, даже если разрешенный набор наборов шифров ограничен только подмножество шифров fips 140-1 suites. В этом случае измените значение DWORD значения включенного значения на 0x0 в следующих ключах реестра в ключе Протоколы:

  • SCHANNEL\Protocols\SSL 3.0\Client
  • SCHANNEL\Protocols\SSL 3.0\Server

Данные включенного значения в этих ключах реестра в ключе Протоколы имеют приоритет над значением grbitEnabledProtocols, которое определяется в структуре, содержаной данные для учетных данных SCHANNEL_CRED Schannel. По умолчанию включено значение 0xffffffff.

Оцените статью
Adblock
detector