tls 1.2 1.0 Windows 2008 R2 Server - PullRequest
0 голосов
/ 11 мая 2018

У меня есть сценарий, как показано ниже;

клиент <- TLS 1.0- -> серверный процесс <--- TLS 1.2 ---> серверная часть Существующие клиенты должны продолжать общаться TLS 1.0 с моим серверным процессом (они будут обновлены в другой день), однако «серверный процесс» должен взаимодействовать с бэкэндом с использованием TLS 1.2. Я внес изменения в реестр ниже, однако я не уверен, нужно ли мне включать все 3 версии 1.0, 1.1 и 1.2, исходя из предположения, что на этапе рукопожатия будет выбрана самая высокая (правильная) версия TLS, как требуется.

Я создал ключи TLS1.0, TLS1.1 и TLS 1.2, а затем ключи клиента и сервера для каждого из них. Под каждым у меня DisabledByDefault установлен в 0 (32-битный DWORD) и Enabled установлен в 1 (32-битный DWORD) для каждого. Таким образом, все 3 версии TLS включены, как показано ниже. Это правильно, или мне просто нужно включить версию 1.2 (клиент и сервер) и отключить все остальные?

Реестр выглядит так Я использую Windows Server 2008 R2 с пакетом обновления 1 (SP1) и его очень хрупкую среду, поэтому мне нужно сделать это правильно перед первой перезагрузкой. Помимо этих изменений, мне не нужно применять какие-либо исправления, не так ли?

...\Protocols\TLS 1.2\Server] "Enabled"=dword:00000001
...\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000
...\Protocols\TLS 1.2\Client] "Enabled"=dword:00000001
...\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000
...\Protocols\TLS 1.1\Server] "Enabled"=dword:00000001
...\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000
...\Protocols\TLS 1.1\Client] "Enabled"=dword:00000001
...\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000
...\Protocols\TLS 1.0\Server] "Enabled"=dword:00000001
...\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000000
...\Protocols\TLS 1.0\Client] "Enabled"=dword:00000001
...\Protocols\TLS 1.0\Client] "DisabledByDefault"=dword:00000000

Спасибо миллион за вашу помощь.

С уважением

Graham

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Forgot Graham .... используйте, например, SSLAB, чтобы проверить изменения до и после если сайт общедоступен ..... иначе у меня есть скрипт PowerShell для проверки какие версии включены или НЕТ :-), но вам все равно нужно REBOOT сервер, прежде чем изменения будут применены и использованы.

0 голосов
/ 28 сентября 2018

Ключ клиента является исходящим, а Сервер - входящими.Таким образом, вы решаете, какие протоколы ВКЛЮЧИТЬ и для какого типа соединения.

Я бы сделал, как вы сделали выше, а затем ОТКЛЮЧИТЕ ключ сервера TLS1.0, который является подключением InBound, и разрешите клиент TLS1.0 ->TLS1.2 должен быть ВКЛЮЧЕН, так как ваш бэкэнд все еще должен быть связным, чтобы говорить о TLS1.0 и иметь дело с этим позже.

Если это приложение платформы .NET, вам также необходимо включить ENABLE StrongEnCryption для 32-битных и 64-битных остальныхиспользуется только TLS1.0.


[HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft.NETFramework \ v4.0.30319] "SchUseStrongCrypto" = dword: 00000001

[HKEY_LOCAL_MACHINE \ WOWW \ SO64.NETFramework \ v4.0.30319] "SchUseStrongCrypto" = dword: 00000001


Windows 2008 R2 и более поздние версии могут общаться по TLS1.1 и TLS1.2 ... более низкие версии ОС требуют ПРОКСИ перед.

Удачи

...