Общая теория: расширение протокола передачи данных HTTP, поддерживающее шифрование этих данных, – HTTPS – не является собственно протоколом шифрования. За шифрование отвечают криптографические протоколы – SSL или TLS.
Правдой также является то, что современные технологии, связанные с безопасностью, к устаревшим ОС никак не прикрутить. Не потому, что это в принципе невозможно, а потому, что их производитель этого не сделал, как не сделал и ничего для того, чтобы прикрутить их смогли сторонние производители ПО. Поэтому, все ОС семейства 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
Затем там же находим разделы 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:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«DisabledByDefault»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«AllowInsecureRenegoClients»=dword:00000
«AllowInsecureRenegoServers»=dword:00000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro
«Enabled»=dword:00000000
Все сломалось? Удаляем сделанные изменения:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr