是否需要通配符SSL证书才能包含在HSTS预加载列表中?


9

我想将个人网站提交到Chrome HSTS预加载列表中

那里的网站说:

为了包含在HSTS预载列表中,您的网站必须:

  • 拥有有效的证书。
  • 将所有HTTP通信重定向到HTTPS-即仅HTTPS。
  • 通过HTTPS服务所有子域。
  • 在基本域上提供HSTS标头:
    • 有效期限必须至少十八周(10886400秒)。必须指定includeSubdomains令牌。必须指定预加载令牌。如果要提供重定向,则该重定向必须具有HSTS标头,而不是重定向到的页面。

这是否意味着我的证书必须对所有子域都有效,或者仅通过HTTPS可用/提供它们?(我有的证书sub.example.com,但没有根证书。)

我可以向带有子域的HSTS预加载列表申请sub.example.com吗?

Answers:


5

所有子域都需要使用HTTPS吗?

从技术上讲,要包括在内,仅根域需要使用HTTPS,但是一旦被包括在内,根域下的任何站点都需要使用HTTPS,否则连接将失败,因此实际上,您将希望所有子域都使用HTTPS。

我可以使用sub.example.com之类的子域向HSTS预加载列表提出申请吗?

否,如果您尝试测试子域,则会收到以下警告

example.jrtapsell.co.uk是一个子域。请jrtapsell.co.uk改为预加载。(由于预加载列表的大小以及跨子域的cookie行为,我们仅接受整个注册域的自动预加载列表提交。)

检查此方法的方式是通过一个公共后缀列表,例如:https : //publicsuffix.org/list/

我需要使用通配符证书来申请预载列表吗?

否,只要SSL配置有效,就可以申请,证书类型无关紧要。


3

虽然我还没有亲自尝试过,但是通读了HSTS标准(RFC 6797),我会解释/理解以下内容:

  • 如果父域符合HSTS,则可以通过在STS HTTP标头中发出includeSubDomains指令来强制子域也符合HSTS的策略。

  • 如果父域符合HSTS,则它不会阻止子域符合HSTS。子域应该能够与HSTS完全兼容,前提是它可以发出适当的HTTP标头并且可以在https://subdomain.example.com/上正常运行。


3

在HSTS预加载列表中包含通配符SSL证书不是强制性的。

如果您只有一个域,则可以使用任何域验证的SSL证书将其包含在HSTS预加载列表中,而不是使用通配符SSL证书。


1
我认为这是事实,您是否有任何支持的参考?
Andrew Lott 2014年

1

必须将所有子域都包含为SSL才能进入预加载列表,如https://hstspreload.appspot.com/所示。

  1. 拥有有效的证书。
  2. 将所有HTTP通信重定向到HTTPS-即仅HTTPS。
  3. 通过HTTPS服务所有子域。
  4. 在基本域上提供HSTS标头:
    • 有效期限必须至少十八周(10886400秒)。
    • 必须指定includeSubdomains令牌。
    • 必须指定预加载令牌。
    • 如果要提供重定向,则该重定向必须具有HSTS标头,而不是重定向到的页面。

这是否意味着您需要通配符?不。您可以为每个子域获取单独的SSL证书。这可能是最便宜的路线。您可以选择通配符,但是在拥有5个以上值得保护的子域之前,在经济上并不值得。无论哪种方式,如果要预加载,所有子域都必须为HTTPS模式。

使用这种思想,如果将子域用作根,则必须以相同的方式来保护子域的子域:)或当然,当然也向后,如果不保护TLD,就不能在子域上声明HSTS。根。


因此,要明确一点,如果example.com未使用SSL验证,我将无法提交sub.example.com
凯文·伯克

@KevinBurke那是正确的兄弟姐妹。就像父母与子女的关系从TLD冒出来一样。我不确定sub.sub.example是否需要TLD SSL(我从不需要在子目录上HSTS一个子目录)。我假设它是基于“根”域权限/范围的策略。
dhaupin 2014年

@KevinBurke注意:另外,还要确保您的HSTS缓存通过180天以上才能通过Quelys / PCI,并且您购买的任何SSL都是RSA2(56)。如果您决定不预加载潜艇,请在删除预加载标志之前将缓存0设置为一周或2以清除客户端。
dhaupin 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.