HPKP 子域固定是相对的吗?
Is HPKP subdomain pinning relative?
我在 sub.domain.tld
有一个 HPKP 固定域,有效期为 2 个月,并且存在 includeSubdomains
标志。
我现在注意到 sub2.domain.tld
,使用未固定的不同证书仍然有效。
这是否意味着 includeSubdomains
与发送 header 的域 相关,并且不涵盖 domain.tld
的所有子域?
即我假设 subsub.sub.domain.tld
使用具有上述配置的不同证书无法通过 HPKP 验证,但 sub2.domain.tld
可以工作。
这是正确的吗?
是的,完全正确。不应假设那些有权访问子域的人就可以访问顶级域 - 尽管可以假设相反。
如果它像您最初想象的那样工作,那么 user1.example.com 上的任何人都可以直接破坏 user2.example.com 站点。
如果您想固定所有子域,那么您应该在顶级域和子域中设置 HPKP 策略。由于大多数用户通常不访问顶级域,他们不会选择此策略,因此要解决此问题,您最好从子域中的顶级域加载资源,以便他们有效地访问您的顶级域.我认为即使该资源被重定向到您的子域,这仍然有效。
例如,如果访问 https://www.example.com you should load something like https://example.com/icon.jpg to pick up this policy from top level, even if that attempting to load that causes a redirect to https://www.example.com/icon.jpg。
我在 sub.domain.tld
有一个 HPKP 固定域,有效期为 2 个月,并且存在 includeSubdomains
标志。
我现在注意到 sub2.domain.tld
,使用未固定的不同证书仍然有效。
这是否意味着 includeSubdomains
与发送 header 的域 相关,并且不涵盖 domain.tld
的所有子域?
即我假设 subsub.sub.domain.tld
使用具有上述配置的不同证书无法通过 HPKP 验证,但 sub2.domain.tld
可以工作。
这是正确的吗?
是的,完全正确。不应假设那些有权访问子域的人就可以访问顶级域 - 尽管可以假设相反。
如果它像您最初想象的那样工作,那么 user1.example.com 上的任何人都可以直接破坏 user2.example.com 站点。
如果您想固定所有子域,那么您应该在顶级域和子域中设置 HPKP 策略。由于大多数用户通常不访问顶级域,他们不会选择此策略,因此要解决此问题,您最好从子域中的顶级域加载资源,以便他们有效地访问您的顶级域.我认为即使该资源被重定向到您的子域,这仍然有效。
例如,如果访问 https://www.example.com you should load something like https://example.com/icon.jpg to pick up this policy from top level, even if that attempting to load that causes a redirect to https://www.example.com/icon.jpg。