Как включить поддержку шифров отличных от rc4. Сведения об этом обновлении

У меня почему-то перестали открываться некоторые HTTPS сайты (не все!). При попытке открыть такой сайт в браузере появляется окно с ошибкой «Этот сайт не может обеспечить безопасное соединение». Сайты не отображаются как в Google Chrome, так и в Opera и в Яндекс Браузере. Без HTTPS некоторые сайты открываются, но не все, только те, у которых страницы доступны и по протоколу HTTPS и по протоколу HTTP.В Google Chrome ошибка при открытии HTTPS сайт выглядит так:

Этот сайт не может обеспечить безопасное соединение.
На сайте sitename.ru используется неподдерживаемый протокол.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
Клиент и сервер поддерживают разные версии протокола SSL и набора шифров. Скорее всего, сервер использует шифр RC4, который считается небезопасный.»

В Opera и Яндекс Браузер ошибка выглядит примерно также. Как мне открыть такие сайты?

Ответ

Как вы уже вероятно поняли, проблема связана с проблемами при SSL взаимодействии между вашим компьютеров и HTTPS сайтом. Причины такой ошибки могут быть довольно разные. В этой статье я попробовал собрать все методы исправления ошибки «Этот сайт не может обеспечить безопасное соединение» (This site can’t provide a secure connection, ERR_SSL_PROTOCOL_ERROR) в различных браузерах.

Сразу хочется отметить, что несмотря на то, что браузеры Google Chrome, Opera и Яндекс Браузер выпускаются разными компаниями, на самом деле все эти браузеры основаны на одном и том же движке — Chrome и проблема с ошибками открытия HTTPS сайтов в них решается одинаково.

В первую очередь нужно убедиться, что проблема не на стороне самого HTTPS сайта. Попробуйте открыть его с других устройств (телефон, планшет, домашний/рабочий компьютер и т.д.). Также проверьте, открывается ли в других браузерах, например, IE/Edge или Mozilla Firefox. В Firefox похожая ошибка обсуждалась в статье .

Очистите кэш и куки браузера, SSL кэш

Кэш и куки браузера могут быть частой причиной возникновения ошибок с SSL сертификатами. Рекомендуем сначала очистить в браузере кэш и куки. В Chrome нужно нажать сочетание клавиш Ctrl + Shift + Delete , выберите промежуток времени (Все время ) и нажмите кнопку очистки данных (Удалить данные / Clear Data).

Чтобы очистить SSL кэш в Windows:

  1. Перейдите в раздел Панель управления -> Свойства браузера ;
  2. Щелкните по вкладке Содержание ;
  3. Нажмите на кнопку Очистить SSL (Clear SSL State );
  4. Должно появится сообщение “SSL-кэш успешно очищен”;
  5. Осталось перезапустить браузер и проверить, осталась ли ошибка ERR_SSL_PROTOCOL_ERROR.

Отключите сторонние расширения в браузере

Рекомендуем отключить (удалить) сторонние расширения браузера, особенно всякие анонимайзеры, прокси, VPN, расширения антивируса и другие подобные Addon-ы, которые могут вмешиваться в прохождение трафика до целевого сайта. Посмотреть список включенных расширения в Chrome можно, перейдя в Настройки -> Дополнительные инструменты -> Расширения , или перейдя на страницу chrome://extensions/ . Отключите все подозрительные расширения.

Проверьте настройки антивируса и файрвола

Если на вашем компьютере установлены антивирусная программа или межсетевой экран (часто он встроен в антивирус), возможно доступ к сайту блокируется именно ими. Чтобы понять, ограничивают ли доступ к сайту антивирусы или файрволы, попробуйте на время приостановить их работу.
Во многих современных антивирусах по-умолчанию присутствует модуль проверки SST/TLS сертификатов сайтов. Если антивирус обнаружит, что сайт использует недостаточно защищенный (или ) сертификат или устаревшую версию протокола SSL (тот же ), доступ к пользователя к такому сайту может быть ограничен. Попробуйте отключить сканирование HTTP/HTTPS трафика и SSL сертификатов. Как вы понимает, все зависит от того, какой антивирус и вас установлен. Например:


Проверьте настройки даты и времени

Неправильная дата и время (и ) на компьютере также может быть причиной ошибки при установке защищенного соединения с HTTPS сайтами. Ведь при выполнении аутентификации система проверяет срок создания и дату истечения сертификата сайта и вышестоящего центра сертификации.

Обновите корневые сертификаты Windows

Если ваш компьютер находится в изолированном сегменте, давно не обновлялся или на нем совсем отключена служба автоматического обновления, на вашем компьютере могут отсутствовать новые корневые доверенные сертификаты (TrustedRootCA). Рекомендуем выполнить обновление системы: установить последние обновления безопасности, в случае с Windows 7 – обязательно установить SP1 () и обновления часовых поясов ().

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

Отключите поддержку протокола QUIC

Проверьте, не включена ли в Chrome поддержка протокола QUIC (Quick UDP Internet Connections). Протокол QUIC позволяет гораздо быстрее открыть соединение и согласовать все параметры TLS (HTTPs) при подключении к сайту. Однако в некоторых случая он может вызывать проблемы с SSL подключениями. Попробуйте отключить QUIC:

  1. Перейдите на страницу: chrome://flags/#enable-quic ;
  2. Найдите опцию Experimental QUIC protocol ;
  3. Измените значение опции Default на Disabled ;
  4. Перезапустите Chrome.

Включите поддержку протоколов TLS и SSL

И самый последний пункт – скорее всего для решения проблемы вам достаточно будет включить поддержку старых версий протоколов TLS и SSL. В большинстве случае он окажется самым эффективным, но я намеренно перенес его в конец статьи. Объясню почему.

Старые версии протоколов TLS и SSL отключены не по простой прихоти разработчиков, а в связи с наличием большого количества уязвимостей, которые позволяют злоумышленникам перехватить ваши данные в HTTPS трафике и даже видоизменить их. Бездумное включение старых протоколов существенно снижает вашу безопасность в Интернете, поэтому к этому способу нужно прибегать в последнюю очередь, если все другое точно не помогло.

Современные браузеры и ОС уже давно отказались от поддержки устаревших и уязвимых протоколов SSL/TLS (SSL 2.0, SSL 3.0 и TLS 1.1). Стандартном сейчас считаются TLS 1.2 и TLS 1.3

Если на стороне сайта используется меньшая версия протокола SSL/TLS, чем поддерживается клиентом/браузером, пользователь видит ошибку установки безопасного подключения.

Чтобы включить старые версии протоколов SSL/TLS (еще раз отмечаю – это небезопасно):

Если все рассмотренные способы не помогли избавиться от ошибки «Этот сайт не может обеспечить безопасное соединение» также попробуйте:

Компании Google, Microsoft и Mozilla огласили сроки полного прекращения поддержки алгоритма шифрования RC4.

С ростом угрозы кибератак на RC4 этот алгоритм начал стремительно терять свою надежность, и ведущие вендоры браузеров решили совсем от него отказаться - в конце января или начале февраля.

По словам Ричарда Барнса (Richard Barnes) из Mozilla, поддержка RC4 в Firefox будет упразднена с выпуском версии 44, запланированным на 26 января. «Отключение RC4 будет обозначать, что Firefox больше не сможет подключаться к серверам, требующим использование RC4, - пояснил представитель компании на ее форуме для разработчиков. - Данные, которыми мы располагаем, показывают, что таких серверов немного, но они еще есть, хотя пользователи Firefox к ним редко обращаются».

Адам Лэнгли (Adam Langley) из Google заявил , что соответствующий релиз Chrome станет доступен широким массам в январе или феврале. Дату он не уточнил, лишь сказал, что HTTPS-серверы, использующие исключительно RC4, будут отключены. «Когда Chrome устанавливает HTTPS-соединение, он обязан сделать все возможное, чтобы обеспечить его безопасность, - отметил Лэнгли в специализированной рассылке на [email protected] - На настоящий момент использование RC4 в HTTPS-соединениях не отвечает этим требованиям, поэтому мы планируем отключить поддержку RC4 в одном из последующих релизов Chrome».

В настоящее время и стабильные версии Firefox, и бета-версии могут применять RC4 без ограничений, однако по факту они используют его лишь для 0,08 и 0,05% соединений соответственно. Для Chrome этот показатель несколько выше - 0,13%. «Чтобы продолжить работу, операторам соответствующих серверов, скорее всего, придется лишь немного изменить конфигурацию для перехода на более надежный набор шифров», - уверен Лэнгли.

Microsoft объявила о прекращении поддержки устаревшего алгоритма в продуктах Microsoft Edge и IE 11; поддержка будет отключена по умолчанию в начале будущего года. «Microsoft Edge и Internet Explorer 11 используют RC4 лишь при откате с протокола TLS 1.2 или 1.1 до TLS 1.0, - пояснил Дэвид Волп (David Walp), топ-менеджер проекта Microsoft Edge. - Откат до TLS 1.0, использующего RC4, чаще всего происходит по ошибке, но такая ситуация при всей ее невинности неотличима от атаки «человек посередине». По этой причине в начале 2016 года RC4 будет дефолтно отключен для всех пользователей Microsoft Edge и Internet Explorer под Windows 7, Windows 8.1 и Windows 10″.

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

В 2013 году исследование, проведенное Дэниелом Бернстайном (Daniel J. Bernstein) на базе университета штата Иллинойс, позволило ему создать практичный способ атаки против известной уязвимости в RC4 с целью компрометации TLS-сессии. Это был один из первых таких опытов, преданных гласности.

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

Общая теория: расширение протокола передачи данных HTTP, поддерживающее шифрование этих данных, – HTTPS – не является собственно протоколом шифрования. За шифрование отвечают криптографические протоколы – SSL или TLS.

При этом не все йогурты одинаково полезны: SSL устарел полностью, TLS версии 1.0 – тоже, поэтому сегодня рекомендуется использовать лишь TLS версий 1.1 или 1.2. К слову, последняя на сегодня версия спецификации HTTPS, принятая еще в 2000 году, так и называется HTTP over TLS, про SSL там уже почти не упоминается.

Но это лишь теория, на практике же TLS 1.2 до сих пор поддерживается лишь на ограниченном числе сайтов, с TLS 1.1 – уже заметно получше, но тоже не повсеместно. Проблема поддержки современных версий TLS присутствует и «на стороне клиента», об этом позже.

Итак, для того, чтобы пользоваться у себя на компьютере только актуальными версиями актуального криптографического протокола (Ну-ка, дети, напомните, как он называется? Правильно, TLS! А какой версии? Правильно, не ниже 1.1), необходимо сделать ряд нелепых телодвижений. Почему? Правильно, потому что никто за нас не включит TLS 1.1/1.2 на нашем компьютере. За нас только проверку «подлинности» Windows включат и кучу «мусора» в автозагрузку напихают. Впрочем, я отвлекся.

Лирическое отступление: я искренне убежден (и эта убежденность подтверждается практикой), что 90% пользователей компьютеров могли бы до сих пор пользоваться Windows 3.11 (была такая ОС в начале 90-х), или, в крайнем случае, Windows 98 SE – «пишущая машинка» и браузер ничего другого и не требуют, чтобы нам там не врали про новые, еще более улучшенные интерфейсы и прочие рюшечки «революционных» новых версий ОС.

Правдой также является то, что современные технологии, связанные с безопасностью, к устаревшим ОС никак не прикрутить. Не потому, что это в принципе невозможно, а потому, что их производитель этого не сделал, как не сделал и ничего для того, чтобы прикрутить их смогли сторонние производители ПО. Поэтому, все ОС семейства Windows версии ниже XP (да и та уже в обозримом будущем), увы, безнадежно устарели в аспекте сетевой безопасности.

На этом с лирикой закончим: все следующие рассуждения будут построены на том, что используется ОС Windows XP или более поздняя (Vista, 7 или 8). И на том, что мы сами себе – вовсе не злобные Буратины, а потому своевременно устанавливаем на используемую ОС все полагающиеся обновления и «заплатки».

Итак, для начала нам стоит включить поддержку TLS 1.1 и TLS 1.2 и отключить SSL и TLS 1.0 на уровне самой ОС, за что отвечает Microsoft TLS/SSL Security Provider (schannel.dll). Что нам это даст? А вот что: все программы, которые не имеют собственного модуля поддержки TLS, а используют системный, будут использовать актуальные версии TLS.

Это в теории, согласно которой так настраивается поддержка актуальных версий TLS, в том числе, в браузере Internet Explorer. На самом деле, даже его последняя версия для Windows XP – восьмая – не поддерживает TLS версий выше 1.0. Под Windows Vista – поддерживает, а под Windows XP – нет и, более того, игнорирует запрет использования TLS 1.0. Как так? Вопрос к Microsoft, а не ко мне, мы же все равно сделаем то, что от нас требуется согласно инструкции самого производителя .

А делаем мы следующее: идем в реестр по адресу
HKLM\SYSTEM\CurrentControlSet\Control\Se curityProviders\SCHANNEL\Protocols, находим там разделы PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0, в каждом из них – подразделы Client и Server, и создаем в них ключи DisabledByDefault (тип – DWORD), которым присваиваем значение 1 (единица).

Затем там же находим разделы TLS 1.1 и TLS 1.2 и аналогичным образом создаем в них вышеупомянутый ключ, но значение ему присваиваем другое – 0 (ноль). Там же мы отключаем слабые алгоритмы шифрования и хеширования RC2, RC4, DES, MD4 и MD5 а также запрещаем устанавливать безопасные соединения без шифрования (да, бывает и такое... в чьих-то нездоровых фантазиях), оставляя лишь относительно стойкие Triple DES и SHA.

Поскольку расписывать как, что и где менять, мне откровенно лениво, ниже будет приведено содержимое.reg файла, вносящего соответствующие изменения в реестр. Надо аккуратненько скопировать все это содержимое в буфер обмена, создать новый текстовой файл, вставить содержимое туда, сохранить этот файл с расширением.reg и запустить его, после чего – перезагрузиться.

Если случилось так, что после перезагрузки появились проблемы с сетевым соединением, ту же самую операцию надо будет проделать уже со следующим файлом – он удаляет из реестра все сделанные нами изменения, после чего (правильно, дети) снова перезагрузиться. Не обнаружив в реестре вообще никаких значений в испорченном нами разделе реестра, ОС при загрузке создаст их заново со значениями по умолчанию.

Продвинутые пользователи могут вместо полного отката изменений пошаманить с включением и отключением отдельных протоколов и алгоритмов, редактируя первый из файлов. Хозяйке на заметку: если для подключения к Интернету используется корпоративная локальная сеть, а тем более с доменом, то проблемы вероятны, и искать пути их решения рекомендуется за распитием бутылочки пива с администратором сети;)

Также на заметку: браузеры Chrome, Firefox, Opera и Safari, т.е. все, которые не основаны на движке Internet Explorer, используют собственные модули поддержки SSL и TLS, а потому не зависят от рассмотренных нами настроек. Но это не значит, что ими можно пренебречь (в смысле, настройками). А вот о настройках самих браузеров мы поговорим в следующий раз.


Включаем TLS 1.1 и 1.2, отключаем SSL и TLS 1.0:




"Enabled"=dword:00000000


"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000


"DisabledByDefault"=dword:00000001


"DisabledByDefault"=dword:00000001


"DisabledByDefault"=dword:00000001


"DisabledByDefault"=dword:00000001


"DisabledByDefault"=dword:00000001


"DisabledByDefault"=dword:00000001


"DisabledByDefault"=dword:00000000


"DisabledByDefault"=dword:00000000


"DisabledByDefault"=dword:00000000


"AllowInsecureRenegoClients"=dword:00000 000
"AllowInsecureRenegoServers"=dword:00000 000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000


"Enabled"=dword:00000000

Все сломалось? Удаляем сделанные изменения:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr olSet\Control\SecurityProviders\SCHANNEL]