2016-08-02 62 views
0

我的Apache HTTPS服务器返回下面的头作为用于请求https://lab20.example.com的响应:HPKP标题不被谷歌浏览器52尊敬?

公钥-销:销-SHA256 = “klO23nT2ehFDXCfx3eHTDRESMz3asj1muO + 4aIdjiuY =”;销-SHA256 = “633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q =”;最大年龄= 2592000; includeSubDomains

这些引脚目的无效 - 但仍然可以通过谷歌浏览器52连接到我的实验室。它看起来像HPKP不工作。我也测试过: chrome:// net-internals /#hsts - 在查询lab20.example.com之后,我确实看到了HSTS(确认工作正常),但没有HPKP - 我没有看到任何dynamic_spki_hashes。为什么?

我是否需要激活铬中的某些内容才能理解和处理HPKP标题?

感谢,

回答

0

,如果它是有效的头才会被接受,然后用于(内最大年龄时间)今后的访问。

这是指定in the spec

的UA必须注意,对主机的引脚当且仅当

...略...

○TLS连接与认证证书链 包含至少一个SPKI结构至少一个给定的SPKI指纹(见第2.6节),该SPKI结构由 指示。

这是为了阻止你不小心砖砌你的网站,并且是一个很棒的功能,以减少意外严重执行HPKP的危险。

但它确实使测试不良HPKP相当困难。您可以使用您引用的内部页面手动添加标题,为您的页面获取两个不同的证书,或者在顶级设置有效标题(使用includesubdomains),并使用不同的子域名证书进行测试。

+0

不幸的是仍然无法正常工作(经过测试的最新Chrome版本)。我创建了一个有效的sha256并应用于配置(按照文章:https://raymii.org/s/articles/HTTP_Public_Key_Pinning_Extension_HPKP.html)。然后用此值收到200响应。在那之后,chrome仍然没有从chrome:// net-internals /#hsts中显示出来 - 虽然它正确显示了hsts标题 - 我可以从文章中看到它也应该显示hpkp。为什么? – user2913139

0

OK,找到了一个理由,我用我的企业CA,而是:

Chrome不进行销验证时的证书链链到一个私人信任锚。该政策的一个关键结果是私人信任锚可以用于代理(或MITM)连接,甚至可以用于固定站点。 “数据丢失防护”设备,防火墙,内容过滤器和恶意软件可以使用此功能来打破关键固定的保护。

+0

啊是的。 HPKP的必要但很大的限制。会打破太多他们没有把这个,但在同一时间大量限制其使用代理或AV软件的MITMs连接(无论是有意或无意)的用处。 –

+0

我真的不是HPKP的忠实粉丝,因为这样,以及因为我在这里写博客而冒用砖砌你的网站:https://www.tunetheweb。com/blog/dangerous-web-security-features /除非你是一个拥有专业知识的非常高知名度的网站,否则与我的奖励相比,冒着错误的风险对我来说似乎很高(无论是在设置上,还是在将来,管理这个。 –