TLS协商失败是否证明连接存在?

时间:2016-11-14 19:33:11

标签: ssl iis networking

我们正在尝试允许客户访问我们的QA环境之一。他们在IE中看到以下错误:

无法显示此页面 在高级设置中启用TLS 1.0,TLS 1.1和TLS 1.2,然后再次尝试连接到https://oursite.com。如果此错误仍然存​​在,则此站点可能使用不受支持的协议或密码套件(如RC4(详细信息链接)),这不被认为是安全的。 Pelase与您的网站管理员联系。

我不是要求stackoverflow用户解决这个问题。

我问的是以下非常具体的问题:

因为我们看到了这个错误,这是否证明连接存在,即我们的防火墙让他们通过?我在想,如果他们在防火墙被阻止,他们只会暂停或者403或500错误。因为他们到目前为止能够看到Web服务器支持哪些TLS协议,我推断他们必须能够在OSI级别1-4上与它通信。我对么? (我需要知道是否要参与运行防火墙的网络团队,或者参与设置TLS配置的应用程序支持团队。)

请注意,SSL终止于我们的IIS Web服务器上(我们没有SSL卸载)。

不幸的是我们阻塞了端口80,所以我们只能测试443;否则我建议使用http访问来帮助隔离问题。

1 个答案:

答案 0 :(得分:0)

  

...如果他们在防火墙被阻止,他们只会得到超时或者403或500错误。

为了发回403或500错误,防火墙必须已成功完成与客户端的SSL握手,因为HTTP响应(包括状态代码,即403,500 ...)将仅在加密内部发送连接。无法在SSL握手内返回403或500.

中间有防火墙的典型行为是超时(防火墙丢弃数据包)或更可能是连接重置或关闭(防火墙重置或关闭连接)。使用简单的数据包过滤防火墙,它通常会阻止TCP连接,导致连接被拒绝。但是使用DPI的防火墙实际上可能会建立TCP连接,并且只有在根据此有效负载的内容(即应用程序检测)获取实际数据后才会阻塞。

最后一种情况可能会导致您看到的错误。但是,如果服务器端出现问题,服务器只是关闭或重置连接,则可以看到完全相同的行为。当某些TLS堆栈无法找到共享协议版本或密码时,会显示此类行为(而不是发回TLS警报)。在此错误消息中,您既不能断定防火墙阻止连接,也不能断定服务器是否导致错误。