情况:我们管理的一个网站迁移到了一个新的托管解决方案,并且将拥有一个新域名。客户希望保留旧域名,并将其重定向到托管解决方案中的新域名(我们基本上无法控制)。
我在 AWS 应用程序负载均衡器级别添加了 301 重定向。它可以很好地将流量从旧 URL 分流到新 URL。但问题是,安全人员要求旧 URL(如果要继续)需要使用 HSTS 标头进行响应。这有点超出我的能力范围,我还没有想出很好的解决方案。
我能想到的唯一可行的解决方案(尚未测试,因为我希望有更好的解决方案)是在后端维护服务器,让其在提供重定向之前提供 HSTS 标头。这似乎有点过分 - 维护服务器只是为了添加标头。
阅读此处的文档和其他线程,听起来我不能将 HSTS 标头直接添加到 ALB 响应中。
我想现在看到的选择是:
- 说服客户放弃旧域名
- 让安全人员相信旧域名没有 HSTS 是可以接受的
- 保持服务器运行以提供 HSTS(如果可行的话)
- 还有别的吗?
这很有趣,我上个月也遇到过同样的事情。TL;DR:与他们抗争,在仅进行 301 重定向的域名上,你不会存在安全漏洞。
实际上,默认安全手册涵盖了为网站提供服务的 Web 服务器的 HSTS 要求。由于旧域名不提供网站服务,而只是作为重定向,因此大多数安全手册都不需要 HSTS。HSTS 只对实际网页有帮助。这里没有网页。没有安全问题。安全人员通常使用复选框,而不了解任何技术或原因,因此他们可能需要向他们说明。
此外:您的旧域名根本不提供 HTTP 网站服务,因此在这里使用 HSTS 也是毫无意义的。
总而言之,他们应该在电子表格上的复选框上授予例外,因为对于 301 重定向(或任何其他 3xx)而言,缺少 HSTS 根本不是一个安全问题,而且您不会提供任何其他流量。而且您也只在旧域上通过 HTTP 本身提供网站。这两种情况都使 HSTS 变得毫无意义。