1
anjunecha 2014-11-01 09:33:45 +08:00 via Android
你这一说我倒是想起来以前也出现过这一情况,在控制台中看到有一个资源死活307,一直不清楚原因…
|
2
msg7086 2014-11-01 09:33:55 +08:00 via iPhone
结论就是根本没必要跟着照做。又不是啥金融敏感站点…
|
4
Quaintjade 2014-11-01 09:39:49 +08:00 via Android
HSTS本来就是为全HTTPS站设计的,非强制https不应该设这个。
火狐要去掉的话,可以试试在历史里找到这个站,右键-忘掉这个站点,然后重启浏览器。错误301也可以用类似方法重置(另一个方法就像你这样,301回来形成刷新)。 没必要追求ssllabs的分数。我可以达到全100分,但没几个浏览器能兼容。 |
5
wzxjohn OP @Quaintjade 确实如此,我只是告诉那些跟我一样不明真相的群众跟着它的指示做弄出了这个问题的话应该如何查因。。。
|
6
sanddudu 2014-11-01 09:58:21 +08:00
@Quaintjade 的确,cipher 设置的少一点弄挂一堆设备
更不要说只开 TLS1.2 之后满江红的样子了 |
7
msg7086 2014-11-01 09:59:21 +08:00 via iPad
@wzxjohn 不是。安全性并不是我的首要目标。安全性会牺牲很多东西,比如解密影响加载速度,协议限制会影响许多平台的兼容性。
|
9
aliuwr 2014-11-01 10:15:23 +08:00
关于你说的第1点,不知道你说的安全模式是不是指 HTTPS 链接。会出现这样的误解是因为你没有弄清楚 HSTS 的应用场景。他原本是为了解决 HTTPS 链接在初次访问 HTTP 时就被劫持的情况。
关于第3点,Chrome 可以直接在 chrome://net-internals/#hsts 进行相关设置,除了 preload 的规则不能修改。 其它更多 Chrome 请求的信息可以在 chrome://net-internals/#events 查看。 |
10
TrustyWolf 2014-11-01 10:45:15 +08:00
前几天刚刚设置了HSTS...拿到了A+...关闭了TLS1.0...
不过我准备全站HTTPS啦,个人的小站点对搜索引擎也没什么要求。 |
11
wzxjohn OP @aliuwr 我说错了。。。手抖打错了。。。是隐私模式。还有HSTS似乎并不是为了解决初次HTTP就被劫持,而是保证HTTPS不被降回HTTP,保证访问期间一直使用HTTPS。
|
12
aliuwr 2014-11-01 13:02:14 +08:00
@wzxjohn 简短介绍,http://www.chromium.org/sts。我应该没有理解错吧。
@TrustyWolf 可以考虑提交你的域名到这里,https://hstspreload.appspot.com/。 |
13
wzxjohn OP @aliuwr 你理解的基本正确,但是忽略了一点,HSTS头必须在HTTPS下设置,也就是说如果我的博客没有做任何修改还保留原来的样子,尽管我自己访问被强制https了,但是你来访问则并不会。所以说HSTS并不是防止第一次访问时HTTP就被中间人,而是用来防止访问中回落回HTTP。这个访问中的时间段指的是头中设置的时间,而并不一定是连续的时间。
也就是说,如果我在你从来没访问过某个站点的时候直接劫持了你,那么就算这个站点设置了HSTS头也没有任何作用,因为你根本就从来没有真正的访问到过这台服务器,一直访问的都是我劫持的那台假的。 |
14
wzxjohn OP @aliuwr 如果你仔细看看的话就会发现谷歌也发现了我所说的问题,所以弄出了一个Preload List。
|
16
aarwwefdds 2014-11-01 14:11:05 +08:00
@wzxjohn 没有规定HSTS只能在HTTPS下发送吧。我看到的配置范例都是HTTP和HTTPS都发送HSTS
这样HTTP接收到HSTS也会跳到HTTPS。不过攻击者倒是可以很轻易就把这个头去掉 有了HSTS,只要客户端接收到一次HSTS,很长时间内就会强制HTTPS,这样就不给HTTPS前端劫持多少机会了。毕竟此类(HTTPS前端劫持)中间人攻击多数情况下只发生在一些公共WiFi等计算机不会长时间停留的网络接入上(长城除外,HSTS不是用来防长城的),多数计算机在接入此类网络前都已经访问过“易被攻击站点”获得过HSTS头了。(就例如支付宝,难道你新买一台电脑 二话不说先到公共WiFi上去登录支付宝么。多数情况下都应该在较安全的网络环境里登录过了) 为了完全杜绝攻击可能就有了Preload List。 说到底还是因为楼主没提前弄明白HSTS就按照教程上HSTS导致的杯具,其实现在全HTTPS也未尝不可,在国外早已经推荐全HTTPS了,只是百度这种蛋疼搜索引擎可能会不收录比较恶心。如果不在乎百度完全可以全HTTPS。 |
17
aliuwr 2014-11-01 14:41:43 +08:00
@wzxjohn 如楼上所说, HSTS 是为了避免中间人攻击,preload 则是为了完全杜绝这种情况。
@aarwwefdds https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security#Enabling_Strict_Transport_Security 注意 Note 部分,浏览器会忽略 HTTP 里指定的 HSTS。 奇怪的是 https://hstspreload.appspot.com/ 却强制要求 HTTP 页面里也包含 HSTS 头。 |
18
wzxjohn OP @msg7086 明白了,我们对链接一词的理解不同,导致了这个分歧。
@aarwwefdds 你说的基本没错,我也承认了是我没有了解清楚就配置了导致了这个问题。写这个只是告诉跟我一样没搞清楚就配置结果悲剧的人。。。 @aliuwr 我已经发现了我理解错了你的链接一词的意思,之前你说的没有问题。 |
19
xierch 2014-11-01 20:37:41 +08:00 via Android
只能为为后台单独指定一个域名,然后启用 HSTS 了吧。
|