在未开发的区域(.NET Core)上启用预加载的HSTS是否有任何实际风险?

时间:2019-01-12 09:24:07

标签: .net asp.net-mvc asp.net-core hsts

引用此:https://hstspreload.org/

在确保它们可以预加载之前,有很多方法可以确保它们一切正常:

  • 第一次测试时,max-age为5分钟,然后增加到1周零1个月。
  • 他们说如果您要创建框架或库,请让preload加入。

我认为这主要是关于人们将预装的HSTS改造为现有系统,然后发现系统的某些旧部分不支持HTTPS?

我正在.NET Core(托管在Azure中)中创建一个未开发的网站。我认为我应该能够以支持HTTPS的方式开发网站中的所有内容。

是否存在不支持HTTPS的功能或.NET /.NETCore库的任何常见位,因此如果我预先配置了预加载,可能会导致我遇到问题?


非常类似的问题,在InformationSecurity Exchange中发布了更多以SecurityTheory为目标的角度:https://security.stackexchange.com/questions/201328/is-there-any-conceptual-downside-to-enabling-preloaded-hsts-on-greenfield

1 个答案:

答案 0 :(得分:0)

仅您可以根据您的站点进行回答。请记住,HSTS可以在整个域中工作,并且预加载基本上也需要所有子域。

因此,如果www.example.com都是HTTPS,但blog.example.com或intranet.example.com仍未迁移到HTTPS,则预加载会突然中断此操作,并需要不可估量的HTTPS实施。

另一个问题是,直到它生效并且为时已晚,您可能不会注意到这一点。特别是如果您使用www变体,因此浏览器在您预先加载HSTS之前不会在顶级域上设置HSTS。要解决此问题,建议从您网站的顶级域中加载至少一项资产(例如https://example.com/logo.png),并设置一个较长的最大使用期限,并在预加载之前检查一段时间不会导致问题。

添加到预加载列表基本上是不可逆的,并且完全不受您的控制,这就是为什么即使我完全支持仅HTTPS网站并同意预加载是安全地执行该操作的唯一真正方法,我还是不喜欢它一个域。 This Chrome bug到处都是人们,因为发现他们还没有准备好要从预加载列表中删除他们。

有关我的博客文章的更多想法:https://www.tunetheweb.com/blog/dangerous-web-security-features/