web-dev-qa-db-ja.com

MS Server 2012 TLS接続の問題

私たちはよく知られた支払いシステムを使用しており、RDSサーバー(MS Server 2012)からのアクセスは今日完全に停止しています。

私は仕方がありませんが、それはCihpersやTLS/SSLバージョンに関連していると思います。

アプリケーションは(一般的なWinエラーのように見えます)をスローします。

HttpSendRequestFailed with error 12029.

次に、イベントログをドライブすると、これを示す複数のログが見つかります。

A fatal alert was received from the remote endpoint. The TLS protocol defined fatal alert code is 70.

しかし、奇妙なことに、Server 2008 R2マシン、Win 7 Clientマシン、およびWin 10マシンでこの支払いプロバイダーに完全に接続できます。

ここにいくつかの修正プログラムを見つけました

https://support.Microsoft.com/en-gb/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-プロトコル入力

しかし、私はあまり喜びがありませんでした、どんな助けも大いに感謝されます。

2
Matt The Ninja

私が必要としたのは「use TLS 1.1」と「Use TLS 1.2」でした。私はブラウザを使用していませんでしたが、アプリケーションがこれらの設定をWebリクエストに使用し、他の回答で述べたように、PCI-DSS 3.1の一部としてTLS 1.0がオフになっていると想定しています

見る Internet Explorer > Internet Options > Advanced > Settings

Internet Explorer Options

1
Matt The Ninja

エラーコード70はprotocol_versionエラーです。簡単に言うと、クライアントが使用しようとしたプロトコルバージョンは認識されますが、サポートされていません。

https://tools.ietf.org/html/rfc5246#appendix-A.

これは最善の答えではないかもしれませんが、7、10、および2008で IISCrypto を使用して、どのプロトコル、暗号、ハッシュ、および鍵交換が使用されているかを確認し、それらを2012年に使用中。

クライアント側とサーバー側でプロトコル/暗号を有効にする設定があることに注意してください。したがって、サーバー側で2012のプロトコル/暗号を有効にできますが、クライアントとしての2012でのプロトコル/暗号の設定を見落とす可能性があります。 ISSCryptoは、サーバー側とクライアント側の両方のプロトコル/暗号設定をグラフィカルに表示できるので便利です。

支払いシステムについて言及されたので、PCI-DSSコンプライアンスが関係しており、PCI-DSS 3.1要件ではTLS 1.0プロトコルを使用できなくなっていると思います。 2012のTLS 1.1およびTLS 1.2がサーバー側で有効になっているが、クライアント側では有効になっていない可能性があります(この点で、2012はクライアントとして機能しています)。エラーコード70はこのシナリオに適合します。

2
raetrace