来週、SalesForceがTLS 1.0をドロップするため、API呼び出しでTLS 1.1または1.2を使用せざるを得なくなります。API呼び出しは、SSISカスタムCozyRocコンポーネントを使用してWindows Server 2008R2からDWHのデータを抽出するために使用します。 this の記事に記載されているように、パッチをインストールし、レジストリに必要なエントリがあることを確認しました。 SCHANNELにはキーを追加していませんが、SSL 2.0のみがリストされています。
次に、もちろん再起動した後、Wiresharkでトレースを記録して、SSISパッケージのCozyRocコンポーネントがTLS 1.0を使用していることを確認しました。ServerHelloメッセージでは、ハンドシェイクプロトコルセクションでTLS 1.0が取得されています。呼び出しを構成するCozyRocコンポーネントはTLS 1.2をサポートします。
私の質問は、サーバーがTLS 1.2を使用してSalesForceと通信できるかどうかをテストするにはどうすればよいですか? TLS 1.0を無効にすると他の接続が台無しになる可能性があることを知っているので、それを行いたくありません。理想的には、私のSSISパッケージがTLS 1.2を使用していることを知りたいです。
更新:TLS 1.0が無効になっているテストSalesforceサイトに接続しようとしました。接続しようとすると、次のエラーが表示されます
"UNSUPPORTED_CLIENT:この組織ではTLS 1.0が無効になっています。https(System.Web.Services)を使用してSalesforceに接続する場合は、TLS 1.1以降を使用してください。" |
責任があるのがサーバーセットアップなのかCozyRocコンポーネントなのかはまだわからないので、SSISセットアップとは関係なく、TLS 1.2がサーバーで機能することを確認する方法を探しています。何か案は?
私の質問への答えは非常に簡単です、それは https://www.howsmyssl.com/ にアクセスするだけで十分です。また、Wiresharkトレースは、私のサーバーがTLS 1.2を使用して、接続のテスト中にSalesforceサイトとハンドシェイクを交換することを示しています。
私の場合のボトルネックはCozyroc SSIS +バージョンです-現在は1.6.103であり、TLS 1.1以降を使用するには少なくとも1.6.104が必要なので、必ず確認してください。
Windows 2008ではTLS 1.2がデフォルトで無効になっていることに注意してください( こちら を参照)。したがって、レジストリの変更ごとにそれを有効にする必要があります(以下を参照)。また、クライアント構成とサーバー構成があることを理解する必要があります。したがって、たとえばクライアントレベルでTLS 1.2を有効にし、サーバーレベルでは有効にしない場合、ポート443に対するnMAPは、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セッションを使用する場合、これはサーバー側の構成になります。ただし、サードパーティのサーバーに対して接続を実行するサービスとして実行されているサードパーティのプラグインがある場合、これはクライアント構成です。
さらに、WinSocketを使用してSecure Sockets Layer(SSL)接続で作成されたアプリケーションとサービスが、インストールする必要があるTLS 1.1またはTLS 1.2プロトコルを使用できるようにする修正プログラムがあります(これは古い修正なので、まだ完了していません。 ここ )。
さらに、サードパーティのコンポーネントがMicrosoft SCHANNEL実装を利用していない場合、レジストリ側の変更は機能しません。サードパーティコンポーネントがOpenSSLのような別のSSL実装を使用している可能性があるためです。その場合、ここでTLS 1.2を有効にする方法を確認するためにベンダーに連絡する必要があります。たとえば、Javaコンポーネント(Tomcatなど)を使用している場合も同様です。MicrosoftSCHANNELの実装を調整しても影響はありません。
SalesForce自体には、上記の非常に優れたドキュメントがあり、詳細についてはここで説明します。そのため、それも確認する必要があります( ここ を参照)。さらに、TLS構成をテストするための複数の「テスト方法」を提供します。これにより、実行できます。