我在sub.domain.tld
有一个HPKP固定域名,其中包含2个月的到期日期和includeSubdomains
标记。
我现在注意到sub2.domain.tld
使用不固定的其他证书仍然有效。
这是否意味着includeSubdomains
相对发送标头的域名,并不涵盖domain.tld
的所有子域名?
即。我假设subsub.sub.domain.tld
使用具有上述配置的不同证书使HPKP验证失败,但sub2.domain.tld
可以正常工作。
这是对的吗?
答案 0 :(得分:2)
是的,这一切都是正确的。不应该假设有权访问子域的人可以访问顶级域 - 尽管可以假设相反。
如果它按照您最初的想法运行,那么user1.example.com上的任何人都可以直接破坏user2.example.com网站。
如果要固定所有子域,则应在顶级域和子域中设置HPKP策略。由于大多数用户通常不会访问顶级域名,因此他们不会选择此政策,因此要解决此问题,您最好从子域中的顶级域名加载资源,以便他们有效访问您的顶级域名。我认为即使该资源被重定向到您的子域也能正常工作。
例如,如果访问https://www.example.com,您应加载https://example.com/icon.jpg之类的内容以从顶级获取此政策,即使尝试加载该政策会导致重定向到https://www.example.com/icon.jpg。