Twitter 的 HTTP 响应与 Google 的 HTTP 响应

信息安全 tls http hsts
2021-08-21 02:48:26

我正在查看https://twitter.comhttps://encrypted.google.com的 HTTP 响应。这两个响应在其安全定义方面具有有趣的相似之处和不同之处。

出于安全目的,Twitter 和 Google 都具有以下共同的标题元素:

X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Server: *custom*
Expires: *in the past*
Cache-Control: private***

但是,twitter 有更广泛的cache-control声明并使用 HSTS:

cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
strict-transport-security: max-age=631138519

问题:

  1. 有什么理由不使用 HSTS?谷歌是否依赖于 HSTS 预加载,并且“普通”网络应用程序应该启用 HSTS?
  2. 由于cache-control定义不同,Google 用户是否比 Twitter 用户更容易受到 Cache 相关信息泄露的影响

为了完整起见,我已经包含了两个站点的完整 HTTP 标头。

来自https://encrypted.google.com的 HTTP 响应

HTTP/1.1 200 OK
Date: Sun, 06 Oct 2013 19:27:33 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=REMOVED
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 443:quic
Content-Length: 100392

来自https://twitter.com的 HTTP 响应

HTTP/1.1 200 OK
cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Content-Length: 50221
content-type: text/html;charset=utf-8
date: Sun, 06 Oct 2013 19:33:08 GMT
expires: Tue, 31 Mar 1981 05:00:00 GMT
last-modified: Sun, 06 Oct 2013 19:33:08 GMT
ms: S
pragma: no-cache
server: tfe
set-cookie: _twitter_sess=REMOVED
status: 200 OK
strict-transport-security: max-age=631138519
x-frame-options: SAMEORIGIN
x-transaction: 699d2669d76b27f5
x-ua-compatible: IE=10,chrome=1
x-xss-protection: 1; mode=block
2个回答

Google 没有使用 HSTS 强制执行。无论是预加载还是标题。Chrome 中预加载的 HSTS 条目设置为“OPPORTUNISTIC”,这基本上意味着“未强制”,尽管它包含一组允许的证书哈希以防止 MITM。

Google 重定向到 https 取决于浏览器检测标准,例如用户代理。我不知道他们检查的确切标准,但例如使用链接浏览 google.com不会重定向到 https,并且仍然允许搜索未加密的频道,尽管从 Chrome 浏览会重定向(使用 302)到 https。此外,无论您使用什么浏览器,域上的许多 URL 都不会重定向到 https。例如:http ://www.google.com/services/

他们不需要 SSL 的原因在任何地方都没有明确记录,但这可能与这样做可能会“破坏事物”这一事实有关——尽管很可能是写得不好的东西。当前的轨迹似乎指向将所有 Google 迁移到 SSL,但他们一次只做一件事情。我最好的猜测是预计 HSTS 将在 5 年内实施。

缓存控制的差异反映了 Google 的主页是静态的,而 Twitter 的主页会不断更新新的推文。谷歌允许浏览器(私下)在有限的时间内缓存搜索框启动页面,但 twitter 需要重新加载才能从所有 Twitter 朋友那里获取最新一批的深刻哲学见解。

至于缓存相关的信息泄露;我不知道。Google 主页不包含任何个人信息,除非通过 HTTPS 提供(在这种情况下,您会看到顶部的栏),这限制了披露的可能性。

据我所知,如果您的站点已经使用其他方式强制执行 TLS,则没有理由不使用 HSTS。不合规的用户代理将简单地忽略标头,因此那里没有问题。HSTS 会减少主机的负载吗?当合规的用户代理直接导航到 https:// URI 时,它不再需要继续提供重定向服务。HSTS 预加载涵盖了很多用户,但并非如您所说的所有用户,他们不发布 HSTS 政策有点奇怪。

至于2号我不确定对不起。