- Как обезопасить Windows: защита от уязвимости SSL v3
- Отключаем SSLv3 в Windows на уровне системы
- Включаем TLS 1.1 и TLS 1.2 в Windows Server 2008 R2 и выше
- Подкайка SCHANNEL\Ciphers
- Сводка
- Управление параметрами schannel\protocols
- Управление параметрами schannel\ciphers
- Наборы шифров
- Видео:
- CSRF-уязвимости все еще актуальны / Михаил Егоров (Odin — Ingram Micro)
Как обезопасить Windows: защита от уязвимости SSL v3
SSL (Secure Sockets Layer) — это шифрованный протокол, который обеспечивает безопасную передачу данных между клиентами и серверами. В Windows SSL v3 является протоколом по умолчанию для защищенной связи. Однако SSL v3 имеет известную уязвимость, которая может быть использована злоумышленниками для перехвата информации и атаки на систему.
Для того чтобы обезопасить свою систему Windows, следует отключить использование SSL v3 и переходить на более надежные протоколы, такие как TLS (Transport Layer Security). Для этого откройте реестр Windows, перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server и создайте новый DWORD-пакет с именем «Enabled» и значением «0». Это отключит SSL v3 только на уровне сервера.
Однако, стоит отметить, что отключение SSL v3 может привести к некоторым проблемам совместимости. Некоторые старые клиенты и серверы могут не поддерживать более новые версии протоколов. Поэтому перед отключением SSL v3 следует проверить совместимость всех используемых сервисов.
Если в вашей системе установлен Windows Server 2008 R2, то также следует отключить использование SSL v2. Откройте реестр и перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server и создайте новый DWORD-пакет с именем «Enabled» и значением «0».
Другая рекомендация по защите от уязвимости SSL v3 — это отключение наборов шифров, использующих уязвимые криптоалгоритмы. Наборы шифров — это комбинации алгоритмов криптографии и ключей, которые используются для защиты передаваемой информации. В рамках протокола SSL v3 уязвимыми являются некоторые наборы шифров, такие как «TLS_RSA_WITH_DES_CBC_SHA». Чтобы отключить использование таких наборов шифров, откройте реестр Windows, перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002 и создайте новую строку «Functions» со значением «TLS_RSA_WITH_DES_CBC_SHA».
Отключаем SSLv3 в Windows на уровне системы
Для обеспечения безопасности Windows и защиты от уязвимости SSL v3 на уровне системы можно использовать специальную утилиту.
В параметрах cryptographic провайдера Windows можно включить или отключить поддержку определенных протоколов и наборов алгоритмов шифрования. Для этого нужно открыть «Управление компьютером», найти службу «schannel» и внести изменения в рамках расширенного уровня управления.
При отключении SSLv3 на уровне системы, базовые наборы алгоритмов криптографии (например, schannelciphersrc4 и tls_rsa_with_des_cbc_sha) перестанут использовать SSLv3 и будут ограничены в использовании только для более безопасных протоколов.
Для отключения SSLv3 нужно найти и изменить следующий ключ реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server
. В этом ключе должно быть значение DWORD с именем «Enabled» равным 0.
После отключения SSLv3 на уровне системы, серверные службы будут проверять поддерживаемые клиентом наборы шифрования и протоколов, и выбирать наиболее безопасный набор для установления зашифрованного соединения. При этом будут использоваться только сильные алгоритмы и надежные ключи для обеспечения безопасности передаваемых данных.
Включаем TLS 1.1 и TLS 1.2 в Windows Server 2008 R2 и выше
Шифрование с использованием протокола TLS 1.1 и TLS 1.2 является более безопасным, чем использование SSLv3. Так, например, основные алгоритмы хаширования, такие как SHA-1, более не применяются в этих версиях протокола. Вместо этого используются более безопасные алгоритмы хаширования, такие как SHA-256 и SHA-384.
Для включения протоколов TLS 1.1 и TLS 1.2 в Windows Server 2008 R2 и выше мы будем использовать утилиту реестра. Итак, приступим к настройке:
- Откройте редактор реестра, нажав Win + R и введя «regedit».
- Перейдите в следующий раздел реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
- Создайте новый раздел с именем «TLS 1.1».
- В созданном разделе «TLS 1.1» создайте подраздел «Client» и «Server».
- В каждом из созданных подразделов «Client» и «Server» создайте параметр с именем «Enabled» типа DWORD и установите значение «1».
- Повторите шаги 3-5 для создания раздела «TLS 1.2».
После выполнения всех вышеперечисленных изменений перезагрузите сервер. Теперь ваш Windows Server 2008 R2 и выше будет поддерживать протоколы TLS 1.1 и TLS 1.2, что повысит уровень защиты от уязвимости SSLv3.
Подкайка SCHANNEL\Ciphers
В Windows версий до Windows Server 2008, SCHANNEL использует шифр sslv2, который считается небезопасным из-за своей уязвимости к атакам. Поэтому, для обеспечения безопасности, рекомендуется отключить использование этого шифра.
Ограничение использования определенных криптографических алгоритмов в SCHANNEL можно реализовать с помощью изменения значений реестра. Данные настройки позволяют контролировать, какие алгоритмы шифрования и наборы шифров могут быть использованы в SCHANNEL.
Реестр | Значение | Описание |
---|---|---|
SCHANNEL\Protocols\SSL 2.0\Client | DisabledByDefault | Определяет, будет ли протокол sslv2 отключен или нет. Если значение равно 1, то протокол sslv2 отключен. |
SCHANNEL\Protocols\SSL 2.0\Server | Enabled | Определяет, будет ли протокол sslv2 включен на уровне сервера или нет. Если значение равно 0, то протокол sslv2 отключен на уровне сервера. |
SCHANNEL\Ciphers\Triple DES 168/168 | Enabled | Определяет, будет ли использоваться шифр Triple DES 168/168 в SCHANNEL. Если значение равно 0, то шифр Triple DES 168/168 отключен. |
SCHANNEL\Hashes\MD5 | Enabled | Определяет, будет ли использоваться алгоритм хеширования MD5 в SCHANNEL. Если значение равно 0, то алгоритм хеширования MD5 отключен. |
Для отключения использования протокола sslv2, можно установить значение «1» для ключей реестра «DisabledByDefault» и «Enabled» в разделах «SCHANNEL\Protocols\SSL 2.0\Client» и «SCHANNEL\Protocols\SSL 2.0\Server» соответственно. Это позволит предотвратить использование уязвимого протокола SSL v2.
Также, рекомендуется отключить использование некоторых конкретных криптографических алгоритмов и наборов шифров в SCHANNEL. Например, для отключения использования шифра Triple DES 168/168 необходимо установить значение «0» для ключа реестра «Enabled» в разделе «SCHANNEL\Ciphers\Triple DES 168/168». Аналогично, для отключения использования алгоритма хеширования MD5 необходимо установить значение «0» для ключа реестра «Enabled» в разделе «SCHANNEL\Hashes\MD5».
Обновления Windows могут автоматически установить ограничение использования некоторых криптографических алгоритмов в SCHANNEL с целью повышения безопасности. Например, по умолчанию в Windows Server 2008 и Windows Server 2008 R2 включено ограничение использования алгоритма шифрования «ssl_rsa_with_des_cbc_sha» и алгоритма «tls_rsa_with_des_cbc_sha».
Сводка:
- Отключите использование протокола sslv2 путем установки значений «1» для ключей реестра «DisabledByDefault» и «Enabled» в разделах «SCHANNEL\Protocols\SSL 2.0\Client» и «SCHANNEL\Protocols\SSL 2.0\Server».
- Отключите использование шифра Triple DES 168/168 путем установки значения «0» для ключа реестра «Enabled» в разделе «SCHANNEL\Ciphers\Triple DES 168/168».
- Отключите использование алгоритма хеширования MD5 путем установки значения «0» для ключа реестра «Enabled» в разделе «SCHANNEL\Hashes\MD5».
Это позволит обезопасить Windows от уязвимости SSL v3 и усилит защиту системных криптографических данных.
Сводка
В рамках обновления безопасности Windows были внесены изменения в параметры шифрования и протоколы в связи с уязвимостью SSL v3. Для обеспечения безопасности вашей системы вы можете использовать следующие рекомендации и рекомендации по управлению параметрами schannel:
Управление параметрами schannel\protocols
Системными администраторами рекомендуется отключить использование протокола SSL v3 и указать значения для TLS 1.0, TLS 1.1 и TLS 1.2. Это можно сделать путем изменения следующего раздела реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
- Для отключения использования протокола SSL v3 можно установить параметр SSL 3.0 в 00000000.
- Для использования TLS 1.0, TLS 1.1 и TLS 1.2 необходимо создать разделы с соответствующими именами и указать значения для параметра Enabled. Например, для TLS 1.0: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0\Server: Enabled = 00000001
Управление параметрами schannel\ciphers
Для ограничения использования определенных алгоритмов шифрования и хэширования вам необходимо изменить следующие параметры реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Ciphers
- Для отключения использования шифрования RC4 можно установить параметр SchannelCiphers\RC4 в значение 00000000. Также можно указать значения для 40-bit и 56-bit ключей.
- Для отключения использования алгоритмов шифрования Triple DES и AES можно установить параметр SchannelCiphers\Triple DES 168\Enabled и SchannelCiphers\AES 128\Enabled в значение 00000000.
При использовании систем с операционной системой Windows 2003 и более ранними версиями можно также изменить значения в реестре для отключения поддержки SSLv2. Для этого необходимо изменить параметр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server: Enabled = 00000000.
Будьте внимательны при изменении параметров реестра. Создайте резервную копию системы или реестра перед внесением изменений.
Наборы шифров
Для обеспечения безопасности протокола SSL/TLS в Windows следует активировать только надежные наборы шифров. Набор шифров определяет алгоритмы шифрования, используемые при передаче данных через SSL/TLS.
В Windows 11, 2008 и R2 можно включить или отключить поддержку определенных наборов шифров через редактирование реестра. Это может быть полезно для ограничения использования уязвимых шифров или для соблюдения совместимости с другими системами.
Для изменения наборов шифров откройте раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
и найдите подраздел TLS 1.0
или SSL 3.0
в зависимости от конкретной версии протокола, который вы хотите настроить.
Внутри подраздела TLS 1.0 или SSL 3.0 будут находиться различные подразделы и ключи, которые определяют доступные наборы шифров и их параметры.
Некоторые важные ключи для настройки наборов шифров:
Ключ | Значение | Описание |
---|---|---|
SchannelCipherSuites | REG_MULTI_SZ | Определяет список шифров, которые доступны клиентам и серверам для использования в SSL/TLS. |
SchannelHashes | REG_MULTI_SZ | Определяет список алгоритмов хеширования, которые доступны клиентам и серверам для использования в SSL/TLS. |
SchannelKeyExchangeMethods | REG_MULTI_SZ | Определяет список методов обмена ключами, которые доступны клиентам и серверам для использования в SSL/TLS. |
Для отключения определенных наборов шифров, просто удалите или закомментируйте соответствующие ключи или значения.
Некоторые примеры значений, которые следует удалить для отключения уязвимых шифров:
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_RC4_128_SHA
Обратите внимание, что при изменении настроек наборов шифров необходимо перезагрузить систему для применения изменений.
Подробная сводка по доступным наборам шифров и их значению содержится в системном файле schannel.dll
. Чтобы получить расширенную информацию о доступных наборах шифров, вы можете открыть файл schannel.dll
с помощью специального редактора, такого как rsaenh.dll
или schannelcipherstrengthening.dll
.
Видео:
CSRF-уязвимости все еще актуальны / Михаил Егоров (Odin — Ingram Micro)
CSRF-уязвимости все еще актуальны / Михаил Егоров (Odin — Ingram Micro) by HighLoad Channel 11,907 views 5 years ago 35 minutes