HSTS:当我没有子域时使用 includeSubdomains
HSTS: Using includeSubdomains when I have no subdomains
问题几乎就在标题本身。如果我有一个应用程序并使用 includeSubdomains
作为 HSTS header 但根本没有子域,这是好还是坏?
很好
如果您计划将您的站点提交到 Google's HSTS Preload list,即使您没有子域,也需要使用 includeSubdomains
指令。
如果您曾计划拥有一个子域,则意味着您需要从第一天起就将其设置为支持 HTTPS。我认为这是一件好事,因为它确实如此安全加分。
很好。
假设您有 https://example.com,这就是您使用的全部内容。 HSTS 确保您可以仅在此域上使用 HTTPS。这可以防止降级攻击。
如果没有 includeSubDomain,攻击者可以设置和使用伪造的子域,例如 http://www.example.com 或 http://secure.example.com 或 http://anyotherlegitimatssounsingsubdomain.example.com 并通过 http 转向它们,让人们以某种方式去那里而不是 https://example.com。当然,这需要访问权限来操纵受害者的 DNS,但这可以通过某些技术实现。
因为它是您主域的子域,所以它看起来是合法的(尽管没有 https)并且还可能泄漏或覆盖主域的 cookie。
仅仅因为您不使用子域并不意味着您的用户知道这一点。
对于应用程序,这可能不太重要,因为 URL 将在应用程序上设置并且更难更改,而且它们通常不使用 cookie,但仍被认为是使用 includeSubDomain 的最佳做法.
问题几乎就在标题本身。如果我有一个应用程序并使用 includeSubdomains
作为 HSTS header 但根本没有子域,这是好还是坏?
很好
如果您计划将您的站点提交到 Google's HSTS Preload list,即使您没有子域,也需要使用
includeSubdomains
指令。如果您曾计划拥有一个子域,则意味着您需要从第一天起就将其设置为支持 HTTPS。我认为这是一件好事,因为它确实如此安全加分。
很好。
假设您有 https://example.com,这就是您使用的全部内容。 HSTS 确保您可以仅在此域上使用 HTTPS。这可以防止降级攻击。
如果没有 includeSubDomain,攻击者可以设置和使用伪造的子域,例如 http://www.example.com 或 http://secure.example.com 或 http://anyotherlegitimatssounsingsubdomain.example.com 并通过 http 转向它们,让人们以某种方式去那里而不是 https://example.com。当然,这需要访问权限来操纵受害者的 DNS,但这可以通过某些技术实现。
因为它是您主域的子域,所以它看起来是合法的(尽管没有 https)并且还可能泄漏或覆盖主域的 cookie。
仅仅因为您不使用子域并不意味着您的用户知道这一点。
对于应用程序,这可能不太重要,因为 URL 将在应用程序上设置并且更难更改,而且它们通常不使用 cookie,但仍被认为是使用 includeSubDomain 的最佳做法.