开启Public-Key-Pins(公钥固定)以获得额外的小绿标
本文最后更新于 135 天前,其中的信息可能已经有所发展或是发生改变。

说明

HPKP,即公钥固定,是很久很久以前推出的一项预防中间人攻击的消息头,现在已被证书透明度(CT)替代。

目前支援Public-Key-Pins的浏览器几乎没有。

兼容性

2017年10月,Google安全团队宣布:由于公钥固定(HTTP Public Key Pinning,简称HPKP)普及率低和存在技术挑战,计划解除对HPKP的支持。

至此,Public-Key-Pins几乎等于被宣告死亡。

但是,某不安全CA公司下属MySSL – SSL安全测试网站仍然提供HPKP的可选项,并且还用颜色特别高亮了…所以咱在伺服器端也增加了HPKP支援。

这应该是迄今为止最安全的千羽喵了(笑)

注意:不建议在生产环境启用HPKP,否则可能导致严重后果(?)。

获取证书指纹

目前网络上的各种教程都是借助openssl获取证书指纹…可惜咱在操作过程中碰到了无数error…

由于咱不懂技术qaq,只好想办法曲线救国,于是找到了MySSL的线上查看证书功能,只要上载证书就可以获得证书指纹,方便快捷~

根据最佳实践,推荐使用二级证书的指纹,所以咱使用的是GeoTrust EV RSA CA 2018(现在正在用的)主证书,以及SwissSign Server Gold CA 2014 – G22作为后备证书(至少有两张证书,其中一张存在于当前证书链,另一张则不可存在于当前证书链)。

二级证书

然后打开MySSL的链接,上载,找到“公钥PIN-SHA256”,复制就好啦~

图例

添加消息头

打开Nginx的conf配置文件,在server { }中添加一行~

将其中pin-sha256=“”内容更改成自己的就可以啦~

add_header Public-Key-Pins 'pin-sha256="yWulDX8E5Q0XG4+9jVDljmO2FvAVzIRhn2MppW4vyUM="; pin-sha256="skyozdmp140ljrHvjRijq3v2/yQ1nyfFyBiA9uOKuw8="; max-age=2592000; includeSubDomains';

公钥固定报告

在MySSL公钥固定项目的下方还有一个公钥固定报告项,在查阅文档后发现公钥固定事实上还有一个回报模块,即图一中添加的“report-uri=”https://qy.is/hpkp.html””,但是添加此项之后公钥报告仍然显示不支持…

所以咱也不确定此项到底是什么了…它也没有解释…

验证

配置完成之后建议先不要访问站点…否则万一配置错误就要等待两个月之后才能访问了(不过现在浏览器好像都不支援…?反正咱不敢尝试的说qaq)…

使用SSL Labs测试,然后找到Public Key Pinning (HPKP)项目,如果有一个pin-sha256使用的是粗体则代表配置没有问题的说。

图例

以上。

(碎碎念:为什么喜欢用以上做结尾…是因为如果没有总感觉后面空荡荡的很奇怪…但是又不知道写什么…只好用以上做结语了qaq…但是现在好像很多人都很讨厌这样子…唔,不管他们的说qwq)

若无特别声明,则本文为原创文章,并使用Creative Commons BY-NC-SA协议授权。
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇