在想一个问题: HSTS 为什么有意义?

2017-01-26 10:04:39 +08:00
 lslqtz
不谈预置列表,就谈强制 HTTPS ,如果只是首页要强制 HTTPS ,那么 301 我记得是缓存 100 年的。
如果是第一次请求就被中间人的情况 HSTS 也没用啊...,而且HSTS开启子域名后有一些没配证书的就会挂掉。
而且HSTS这种做法还会有一些兼容性问题,似乎也只在HTTPS下访问才会生效。
7266 次点击
所在节点    SSL
52 条回复
lslqtz
2017-01-26 22:03:43 +08:00
@otakustay 不是说不谈那个了么。。。
valkjsaaa
2017-01-27 03:56:26 +08:00
我怀疑 HSTS 有一个作用是如果你的子域名被劫持了,实际上还是可以盗取 Cookie 的,所以想要安全,最好全站 HSTS 。这个 301 就搞不定了吧?
lslqtz
2017-01-27 05:32:18 +08:00
@valkjsaaa Cookie 不一定是泛域的,子域名的确是需要 HSTS ,但是实际上除了裸域和 www ,对大部分人来说子域的需求不是那么大。
msg7086
2017-01-29 13:55:44 +08:00
考虑用 307 而不是 301 。
HPKP 必须包含一个备用密钥,否则 HPKP 直接不生效。
HSTS 就是在安全性和灵活性之间选择了安全性,而你说的跳转大法则是相反,在安全性和灵活性之间选择了灵活性。
这些东西就是些 trade off 而已,根据需要来选择就好了。
你问有没有意义,当然是有的,而且和你关系不大,因为你不需要这个级别的安全性,所以感受不到其意义。
lslqtz
2017-01-30 03:52:03 +08:00
@msg7086 我感觉如果只是在裸域的话, HPKP+301 能兼顾灵活+安全
msg7086
2017-01-31 01:37:36 +08:00
@lslqtz HPKP 和 HSTS 要解决的问题是不太一样的。
比如你打开 HPKP 以后,我仍然可以在任何一个公共 Wifi 上劫持你的 301 请求。
lslqtz
2017-01-31 08:55:18 +08:00
@msg7086 缓存了就无法劫持了...
第一次都能被劫持
msg7086
2017-02-01 10:27:35 +08:00
@lslqtz 301 缓存和 HSTS 缓存还不太一样。 301 的缓存应该很容易被清除……
Williamp
2017-03-07 14:58:17 +08:00
HSTS stands for HTTP Strict Transport Security which helps to stop HTTP downgrade attacks while transferring user's data from http to https.
lslqtz
2017-03-08 18:32:23 +08:00
@Williamp 如果是通过响应头发送的不能阻止降级攻击,而且缓存也能够实现相同的效果(强制缓存多久,然后就不会向服务器请求响应)
Williamp
2017-03-23 19:32:00 +08:00
@lslqtz Yes, HSTS header response only sent over secure transport layer and that's why attacker get a chance to complete targeted attack.
kcats
2020-01-18 14:56:41 +08:00
我在想为啥不是浏览器直接优先发起 https 请求呢? 如果 https 失败, 再请求 http

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/336979

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX