В октябре инженеры 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:
- Откройте редактор реестра (regedit.exe) с правами администратора
- Перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\
- Создайте новый раздел с именем SSL 3.0 ( New -> Key)
- В созданном разделе SSL 3.0 создайте еще два подраздела с именами Client и Server.
- Затем в разделе Client создайте новый параметр типа DWORD (32-bit) с именем DisabledByDefault
- В качестве значения ключа DisabledByDefault укажем 1.
- Затем в ветке Server создайте новый параметр типа DWORD (32-bit) с именем Enabled и значением 0.
- Для вступления изменений в силу необходимо перезагрузить сервер
Отключаем 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 можно по схожему сценарию
- В редакторе реестра откройте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
- Создайте два раздела TLS 1.1 и TLS 1.2
- Внутри каждого раздела создайте по подразделу с именами Client и Server
- В каждом из разделов Client и Server создайте по ключу типа DWORD:
- DisabledByDefault со значением 0
- Enabled со значением 1
- После внесенных изменений сервер следует перезагрузить.
Утилита для управления системными криптографическими протоколами в Windows Server
Существует бесплатная утилита IIS Crypto, позволяющая удобно управлять параметрами криптографических протоколов в Windows Server 2003, 2008 и 2012. С помощью данной утилиты включить или отключить любой из протоколов шифрования можно всего в два клика.
В программе уже есть несколько шаблонов, позволяющие быстро применить предустановки для различных вариантов настроек безопасности.
Здравствуйте! Спасибо за статью.
Подскажите, как убедиться, что после внесения в реестр данных изменений используется именно TLS шифрование?
Соединение с _https://online.sberbank.ru
Windows 7 prof. SP1 x64.
Выполните проверку сайта с помощью сайта:
_http://poodlebleed.com/
The server at online.sberbank.ru does not accept SSL 3.0 connections and thus is not vulnerable to Poodlebleed.
Спасибо! Судя по ответу от poodlebleed.com, при моем соединении со сбербанком используется tls
Спасибо за статью, но мне подошел вариант через GPO http://www.bauer-power.net/2014/06/how-to-enabled-tls-11-and-tls-12-in.html