我们将关闭仅支持 TLS1.0 的浏览器的支持
当我们关闭 Web 服务器上对 TLS 1.0 的支持时,我们可以将不支持 TLS 1.1 或更高版本的浏览器重定向到 http 页面,解释为什么他们无法访问以及他们可以采取哪些措施吗?
许多用户已经将我们的 https:// 添加到收藏夹中,因此我们不能假设他们会访问 http 网站第一的我们可以向不受支持的浏览器显示消息或将受支持的浏览器转发到安全站点。
答案1
当我们关闭 Web 服务器上对 TLS 1.0 的支持时,我们可以将不支持 TLS 1.1 或更高版本的浏览器重定向到 http 页面,解释为什么他们无法访问以及他们可以采取哪些措施吗?
不可以。一旦您在 Web 服务器上关闭对 TLS 1.0 的支持,使用旧版浏览器的访问者将无法再连接,因此您无法重定向他们。
另外:如果你使用高速传输系统你可能无法重定向到你自己域名下的纯 HTTP 页面。(尽管如果他们的浏览器不支持 TLS 1.1 或更新版本,他们可能不会遵守高速传输系统所以这不是问题。
相反:之前关闭 TLS 1.0 支持,你可以开始日志有多少客户仍在使用旧密码,并做出明智的影响分析,如下所示:
CustomLog logs/ssl_cipher_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%{User-agent}i\""
另外/此外,您还可以使用SSL 环境变量 SSL_PROTOCOL
(SSLv3、TLSv1、TLSv1.1、TLSv1.2)创建 mod_rewrite 规则来检测旧密码并例如重定向这些请求(未经测试):
RewriteCond %{SSL:SSL_PROTOCOL} =SSLv3 [OR]
RewriteCond %{SSL:SSL_PROTOCOL} =TLSv1
RewriteRule (.*) http://%{SERVER_NAME}/unsupported_tls_version.html [L,R=302]
答案2
这不可能。
HTTPS 首先创建安全连接,然后然后它使用该安全连接在该安全连接上发送和接收 HTTP 消息(包括重定向)。
没有通用密码/TLS 版本意味着没有连接,因此也没有 HTTP 消息。
HTTPS 确实不是当无法建立安全连接时提供后备方案,因为它将成为阻止安全 HTTPS 连接的攻击媒介。
抛开这个理由,@Hbruijn 还就如何衡量并尽量减少影响给出了很好的建议。
随着 TLSv1 移除越来越普遍(这是 PCI 合规性要求),越来越多的网站将关闭此功能,用户可能会经常收到此消息,因此应该注意。因此受影响的用户群应该很小而且很明显。
作为主要影响(至少对于浏览而言)我可能是 IE10在删除 TLSv1 支持之前,您还可以在页面顶部添加类似以下内容。
<!--[if lt IE 11]>
<p class=“old-ie”>
We notice you are using an old version of Internet Explorer that is shortly due to be unsupported on this site. Please upgrade to be able to continue to use this site.
</p>
<![endif]-->
这使用了特殊的 IE 特定的 if 标签,然后您可以根据需要设置样式,使其成为一个明显的红色警告。
旧版 Android 是另一个可能的候选者(上述内容对此没有帮助),但自 4.4 以来,Chrome Webview(确实支持 TLSv1.2)是默认设置,因此希望大多数 Android 用户不会受到影响。
除此之外,对于大多数西方网站来说,通常都是机器人、扫描仪和其他此类工具,而不是真实流量。