Назад | Перейти на главную страницу

Проверьте, может ли Windows Server 2008R2 использовать TLS 1.2

Поскольку на следующей неделе SalesForce отказывается от TLS 1.0, мы вынуждены использовать TLS 1.1 или 1.2 в наших вызовах API, которые мы используем для извлечения данных для нашего DWH из Windows Server 2008R2 с использованием настраиваемых компонентов SSIS CozyRoc. Мы установили патчи и убедились, что в реестре есть необходимые записи, как указано в этот статья. Мы не добавляли ключей в SCHANNEL, теперь единственный протокол, указанный в списке, - это SSL 2.0.

Затем, после перезагрузки, конечно же, я записал трассировку с помощью Wireshark, чтобы узнать, что наши компоненты CozyRoc в пакетах SSIS используют TLS 1.0, как и в сообщении Server Hello, мы получаем TLS 1.0 в разделе протокола рукопожатия. Компоненты CozyRoc, составляющие звонок, поддерживают TLS 1.2.

Мой вопрос: как я могу проверить, может ли наш сервер использовать TLS 1.2 для связи с SalesForce? Я знаю, что отключение TLS 1.0 может испортить другие соединения, поэтому я не хочу этого делать. В идеале я хотел бы знать, что мои пакеты SSIS используют TLS 1.2.

ОБНОВЛЕНИЕ: я попытался подключиться к нашему тестовому сайту Salesforce, на котором отключен TLS 1.0. Теперь при попытке подключения я получаю сообщение об ошибке

«UNSUPPORTED_CLIENT: TLS 1.0 отключен в этой организации. Используйте TLS 1.1 или выше при подключении к Salesforce с использованием https. (System.Web.Services)» |

Я до сих пор не знаю, виноват ли я в настройке моего сервера или в компоненте CozyRoc, поэтому сейчас я ищу способ гарантировать, что TLS 1.2 работает на сервере, независимо от настройки SSIS. Любые идеи?

Обратите внимание, что TLS 1.2 отключен по умолчанию в Windows 2008 (см. Вот). Таким образом, вам необходимо включить его при изменении реестра (см. Ниже), вам также необходимо понимать, что есть конфигурация клиента и конфигурация сервера. Таким образом, если вы, например, включите TLS 1.2 на уровне клиента, но не на уровне сервера, nMAP для порта 443 не покажет, что TLS 1.2 включен, поскольку он включен только для клиента.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

То, что вам здесь нужно, вряд ли зависит от вашего приложения и того, как оно взаимодействует с удаленной службой. Так, например, если стороннее приложение будет использовать сеанс https для вашей среды, это будет конфигурация на стороне сервера. Однако, если у вас есть сторонний плагин, работающий как служба, которая выполняет подключения к стороннему серверу, то это конфигурация клиента.

Кроме того, имеется исправление, которое позволяет приложениям и службам, написанным с использованием WinHTTP для соединений Secure Sockets Layer (SSL), использовать протоколы TLS 1.1 или TLS 1.2, которые вы должны установить (это еще не сделано, поскольку это более старое исправление; см. Вот).

Кроме того, если сторонний компонент не использовал реализацию Microsoft SCHANNEL, любые изменения на стороне реестра не будут работать. Потому что может быть, что сторонний компонент использует другую реализацию SSL, такую ​​как OpenSSL. В этом случае вам необходимо связаться с поставщиком, чтобы узнать, как здесь можно включить TLS 1.2. Это, например, также верно при использовании компонентов Java (например, TomCat). Тогда настройка реализации Microsoft SCHANNEL не повлияет на них.

У самого SalesForce есть очень хорошая документация из вышеперечисленного, в которой я мог бы привести гораздо больше деталей. Так что вам тоже стоит это проверить (см. Вот). Кроме того, они предлагают несколько способов тестирования конфигурации TLS, которые вы затем можете выполнить.

Ответ на мой вопрос ужасно прост, достаточно посетить https://www.howsmyssl.com/. Кроме того, трассировка Wireshark показывает, что мой сервер использует TLS 1.2 для обмена рукопожатиями с сайтом Salesforce во время тестирования соединения.

Узким местом в моем случае является версия Cozyroc SSIS + - в настоящее время это 1.6.103, и вам нужно как минимум 1.6.104 для использования TLS 1.1 или выше, поэтому обязательно проверьте это.

Шаги: Проверено также на Windows server 2010

  • Шаг 1: откройте командную строку и введите "regedit" без кавычек
  • Шаг 2: Если будет запрошено разрешение администратора, позвольте ему сказать «да».
  • Шаг 3: Просмотрите путь, который я показал на изображении здесь ->

Если он включен, он покажет вам, что он включен, как показано на рисунке. Надеюсь, вы уже поняли, или оставьте комментарий здесь