这个问题几乎就在标题本身。如果我有一个应用程序并includeSubdomains
用于 HSTS 标头但根本没有子域,这被认为是好还是坏?
2 回答
这很好。
如果您计划将您的网站提交到Google 的 HSTS 预加载列表
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 仍然被认为是最佳实践。