是否将Strict-Transport-Security标头添加到所有HTTPS响应?

时间:2018-10-02 05:41:15

标签: http https hsts

在通读https://hstspreload.org的过程中,我在“部署建议”部分中注意到,我应该“将Strict-Transport-Security标头添加到所有HTTPS响应中……”

>

由于在所有https响应中都包含HSTS策略,这听起来对我来说有些过头了,因此我检查了一些网站,以检查它们是否真的在所有https响应中都包含此标头字段。但即使Google也不这样做,例如https://www.google.com/doodles在响应中没有Strict-Transport-Security标头字段。

所以我的问题是服务器响应何时应包含HSTS策略?

我在这里看到的选项是:

  1. 在每个https响应中包括HSTS。
  2. 在每个与安全相关的https响应中包括HSTS。
  3. 仅包括HSTS,例如example.com,但不适用于example.com/mypath等任何路径
    • 我是说他们迟早会访问example.com,不是吗?
  4. 仅在请求具有“ upgrade-insecure-requests:1”字段的情况下才包括HSTS
    • 我注意到,如果未设置HSTS,Chrome会在与安全相关的内容中发送此请求标头字段。

1 个答案:

答案 0 :(得分:0)

我认为将其添加到所有资源中并不是太过分。它的标题很小,可以确保对HSTS政策的最佳更改。

许多人甚至从基本域中加载像素(例如www.example.com可以加载https://example.com/1pixel.png),以确保也可以加载基本域HSTS策略。如果将HSTS配置为仅在文档上传递,则不会被选择。

我确定不会仅在主页上包含它。不能说他们迟早要访问它。

您在这里担心什么?您有一个超级优化的网站,可以通过为每个资源提供此标头来杀死该网站?对于CSP,我想知道您来自哪里,因为标头可能很大,但对于HSTS,我真的认为您已经过分考虑这一点。同样,如果使用HTTP / 2,则头压缩也可以解决此问题。再加上只需要在一些资源上返回配置文件,就会增加复杂性,让您不必真正麻烦。