Windows

MS Server 2012 TLS 連接問題

  • June 22, 2018

我們使用眾所周知的支付系統,從我們的 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 客戶端機器和 Win 10 機器上完美地連接到這個支付提供商。

我在這裡找到了一些修補程序

https://support.microsoft.com/en-gb/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in

但我沒有太多的快樂,非常感謝任何幫助。

原來我需要的是“使用 TLS 1.1”和“使用 TLS 1.2”。我沒有使用瀏覽器,但我假設應用程序將這些設置用於 Web 請求,並且如其他答案中所述,TLS 1.0 作為 PCI-DSS 3.1 的一部分已關閉

Internet Explorer > Internet Options > Advanced > Settings

Internet Explorer 選項

錯誤程式碼 70 是協議版本錯誤。簡而言之,客戶端嘗試使用的協議版本被辨識但不受支持。

https://www.rfc-editor.org/rfc/rfc5246#appendix-A.3

這可能不是最好的答案,但我會嘗試在 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 適合這種情況。

引用自:https://serverfault.com/questions/917811