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 сервер, прежде чем изменения будут применены и использованы.

Другие вопросы по тегам