是否建议在IIS层面配置Public Key Pinning Extension for HTTP?
公钥固定(HPKP/PKP)部署建议
核心结论
当前生产环境完全不建议部署HPKP,该机制没有实际价值,风险远高于可能的收益。
具体原因
- 浏览器支持几乎完全消失:Chrome 2017年就正式移除了HPKP支持,Firefox、Edge、Safari等主流浏览器后续也全部跟进了废弃计划,现在全球活跃的浏览器版本里99%以上都不会响应HPKP头,配置了也不会产生任何防护效果,纯做无用功。
- 误配置后果不可承受:就算还有极少量存量旧版本浏览器支持HPKP,一旦你固定的证书到期、更换CA、更新密钥时忘记同步更新HPKP的头配置,所有之前访问过你站点的用户,在HPKP设置的
max-age有效期内完全打不开你的网站,普通用户清缓存、换浏览器都没用,只能等规则过期,故障影响范围和损失不可控。 - 替代方案足够覆盖需求:原来HPKP想解决的伪造证书中间人攻击问题,现在已经有更成熟的无风险方案替代:配置CAA记录限制你的域名只能从指定CA签发证书、开启证书透明度(CT)强制验证、搭配最高级别的HSTS配置,完全可以实现同等甚至更好的防护效果,完全没有HPKP的锁站风险。
针对渗透测试建议的处理方案
如果是渗透测试报告里把HPKP配置列为风险项,可以直接向测试方说明HPKP已被全行业废弃的共识,用上述的替代方案完成整改即可,不需要强行配置HPKP。
内容的提问来源于stack exchange,提问作者nomad
相关产品推荐
相关产品推荐

