直截了当地问:有没有什么好的资源可以详细了解 IE6 和 IE7 之间的变化,特别是这可能使 IE6 无法连接到基于 IIS7(Windows 2008)的 Web 服务器上的 HTTPS 资源?我们的假设是服务器只接受比 IE6 无法处理的更新的协议版本/变体,但我们找不到可以配置的位置。
长话短说:
我们遇到了几个运行客户端应用程序的 Web 服务器的问题。由于客户端让渗透测试人员检查配置,导致大量本地策略更改和其他注册表设置发生更改,Internet Explorer 6 拒绝通过 HTTPS 连接到站点(报告的错误是默认的“找不到服务器或DNS 错误”消息)。IE7 和 IE8 都很好,我们尝试过的其他浏览器也很好(Windows 上的 FireFox,Ubuntu 上的 FF,链接,...)虽然这是一个有争议的问题,因为许多用户或多或少地只使用 IE6。IE6 很乐意通过 HTTP 访问相同 IIS 安装上的相同资源。
通过记录在案的更改,我们没有发现任何明显的原因,即使将所有更改应用于我们的一个测试服务器也不会产生问题,其中一项更改是关于拉入非当地政策,所以我怀疑这就是问题所在。
我无法通过搜索找到任何有用的信息(许多网站记录了如何在 Web 服务器上执行最基本的 SSL 配置并获得客户端应用程序信任的证书等,但没有明显与此问题相关的消息),在浏览 Microsoft 的 Web 服务器的本地策略文档时,我也没有任何明显的问题。
不幸的是,告诉客户从 IE6 升级是不可行的。我不愿意告诉他们简单地重建 Web 服务器并更加小心他们下次单击哪些复选框,但现在可能不得不成为我们的建议...
你嗅探过 IE6 和 IIS 机器之间的客户端到服务器握手吗?(http://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake_in_detail)我怀疑这会给你关于出了什么问题的第一个信息,特别是如果你将握手与基于 IE7 的工作客户端进行比较 -服务器对话。不兼容的握手是我对正在发生的事情的猜测。
这是微软的“官方”“IE 7 中对 HTTPS 的更改”文档:http: //msdn.microsoft.com/en-us/library/bb250503 (VS.85).aspx
我想知道 IE6 客户端的“高级”设置中的“使用 TLS 1.0”复选框。IE7 默认启用 TLS 1.0,IE6 禁用它。目前尚不清楚您的客户的渗透测试人员是否使用了服务器、客户端或两者上的设置。我可以想象,假设他们在玩服务器,他们在服务器上禁用了 SSL v2(参见http://support.microsoft.com/kb/187498)但没有告诉任何人在 IE6 上启用 TLS 1.0客户。
在服务器上,假设他们确实禁用了 SSL v2,他们将在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server”下更改/创建“启用”DWORD 值并将其设置为 0。
作为追踪错误来源的测试:通过 webbrowser 控件的连接是否有效?例如,您可以使用 iMacros Browser 30 天试用版进行此测试。它使用与 IE 相同的引擎,但使用不同的包装器。