MS Server 2012 TLS 连接问题

MS Server 2012 TLS 连接问题

我们使用知名的支付系统,今天从我们的 RDS 服务器(MS Server 2012)的访问已完全停止。

我不禁认为它与密码和/或 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

但我并没有感到太多快乐,任何帮助都将不胜感激。

答案1

事实证明我需要的是“使用 TLS 1.1”和“使用 TLS 1.2”。我没有使用浏览器,但我假设应用程序使用这些设置进行 Web 请求,并且正如其他答案中提到的那样,TLS 1.0 作为 PCI-DSS 3.1 的一部分被关闭

Internet Explorer > Internet Options > Advanced > Settings

Internet Explorer 选项

答案2

错误代码 70 是 protocol_version 错误。简而言之,客户端尝试使用的协议版本被识别但不受支持。

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

这可能不是最好的答案,但我会尝试使用加密在 7、10 和 2008 上查看正在使用哪些协议、密码、哈希和密钥交换,并将它们与 2012 上使用的内容进行比较。

请注意,有一些设置可以启用客户端和服务器端的协议/密码。因此,您可以在服务器端启用 2012 的协议/密码,但忽略在客户端上设置 2012 的协议/密码。这就是 ISSCrypto 派上用场的地方,因为它为您提供了服务器端和客户端的协议/密码设置的图形视图。

由于您提到了支付系统,我怀疑这涉及到 PCI-DSS 合规性,并且在 PCI-DSS 3.1 要求中,您不能再使用 TLS 1.0 协议。您的 2012 上的 TLS 1.1 和 TLS 1.2 可能在服务器端启用,但在客户端未启用(而您的 2012 在这方面充当客户端)。错误代码 70 适合这种情况。

相关内容