tls 1.2 1.0 Windows 2008 R2 Server
У меня есть сценарий, как показано ниже;
client <- TLS 1.0- -> серверный процесс <--- TLS 1.2 ---> Backend Существующие клиенты должны продолжать общаться 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
Спасибо миллион за вашу помощь.
С уважением
Грэхем
2 ответа
Ключ клиента является исходящим, а Сервер - Входящими. Таким образом, вы решаете, какие протоколы ВКЛЮЧИТЬ и какой тип соединения.
Я бы сделал, как вы сделали выше, а затем ОТКЛЮЧИЛ ключ сервера TLS1.0, который является подключением InBound, и позволил бы ВКЛЮЧИТЬ клиент TLS1.0 -> TLS1.2, так как ваш бэкэнд все еще должен быть связным, чтобы говорить по TLS1.0 и разобраться с этим позже.
Если это приложение.NET Framework, вам также нужно включить StrongEnCryption как для 32-битной, так и для 64-битной версии, иначе она использует только TLS1.0.
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v4.0.30319] "SchUseStrongCrypto" = dword: 00000001
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v4.0.30319] "SchUseStrongCrypto" = dword: 00000001
Windows 2008 R2 и более поздние версии могут поддерживать TLS1.1 и TLS1.2 ... для более низких версий ОС необходим PROXY.
Удачи
Забыл Грэм.... используйте например SSLAB
проверить изменения до и после, если сайт общедоступен..... иначе у меня есть сценарий PowerShell, чтобы проверить, какие версии включены или НЕ:-), но вам все еще нужно REBOOT
сервер, прежде чем изменения будут применены и использованы.