• 维护主题插件开发者利益,本站取消所有破解模版获取方式!
  • 最美的贴图库,分享最美的那一刻我要分享
  • 手把手教你申请QQ公众帐号,公众空间
  • 简单的PHP域名授权函数
  • 免插件实现Adblock检测,全网通用
  • Phuong My 2015时尚独特女性魅力
  •  9个月前 (03-13)  技术分享  技术宅 隐藏边栏 评论关闭  346 
    文章评分 1 次,平均分 5.0

    技术宅在2015年12月份就实现了全站SSL,一开始都是技术人员配置的,后来发现在SSL方面本站有很大的折腾空间,于是,就将本站加入了HSTS,还有就是实现Certificate Transparency策略,具体Certificate Transparency策略是什么,表急,下面会给出介绍!效果可以看如下的图!

    Certificate Transparency效果图!

    Nginx启用 Certificate Transparency策略

    Certificate Transparency介绍

    HTTPS 网站的身份认证是通过证书信任链完成的,浏览器从站点证书开始递归校验父证书,直至出现信任的根证书(根证书列表一般内置于操作系统,Firefox 则自己维护)。然而,受信任的 CA(证书颁发机构)有好几百个,他们成为整个网站身份认证过程中一个较大的攻击面。实际上,目前由于 CA 失误导致错误签发证书;以及个别 CA 出于某些目的(如监控加密流量)故意向第三方随意签发证书这两种情况时有发生。

    无论是 CA 无意或有意签发出来的「非法证书」,都能通过目前的证书链校验机制的验证。这些 CA 签发的「非法证书」相比自签名的「无效证书」,更难被发现,即使被发现依靠现有机制也很难快速消除影响。

    另外,域名所有者的管理不善也可能导致域名配置被第三方控制,从而第三方能够向 CA 申请你网站的证书(特别是 DV 类型的证书)。这种情况,发现和处理同样很麻烦。

    Certificate Transparency 就是为了解决这些问题诞生的,它可以直译为证书透明度,由 Google 主导,并由 IETF 标准化为 RFC6962。Certificate Transparency 的目标是提供一个开放的审计和监控系统,可以让任何域名所有者或者 CA 确定证书是否被错误签发或者被恶意使用,从而提高 HTTPS 网站的安全性。

    Certificate Transparency 整套系统由三部分组成:1)Certificate Logs;2)Certificate Monitors;3)Certificate Auditors。完整的工作原理可以看官方文档:How Certificate Transparency Works

    简单说来,证书所有者或者 CA 都可以主动向 Certificate Logs 服务器提交证书,所有证书记录都会接受审计和监控。支持 CT 的浏览器(目前只有 Chrome)会根据 Certificate Logs 中证书状态,作出不同的反应。CT 不是要替换现有的 CA 设施,而是做为补充,使之更透明、更实时。

    Certificate Logs 服务器由 Google 或 CA 部署,这个页面列举了目前已知的服务器。合法的证书提交到 CT Logs 服务器之后,服务器会返回 signed certificate timestamp(SCT),要启用 CT 就必须用到 SCT 信息。

    Nginx如何启用 Certificate Transparency

    本教程基于自有VPS以及Centos7.*的大环境下进行,其他环境请自行测试!
    首先,是提交证书,这里需要声明下!提交证书有两种方法,①通过 ct-submit 这个模块,可以方便地将证书提交给 CT Logs 服务器并得到 SCT 响应。这个模块需要 go 语言的支持:

    编译成功后,当前目录会出现名为 ct-submit-1.0.0 的可执行文件。接着就可以提交了:

    记得再新建一个目录 /usr/local/nginx/conf/vhost/sct/ ,用来存放接下来提交后所获取的SCT文件

    chained.pem可以更换为您的证书文件,以CRT结尾!~/www/ssl/chained.pem这可以更换为您的证书绝对地址!

    以上代码分别向 Google 和 Digicert 的服务器提交了证书,但Google是提交不了,因为我的VPS是内地的屏蔽了Google,需要自己弄一台国外的vps再提交在获取后放到你自己的服务器上。

    所以②就是以上的方法您全部忽略,直接前往https://ct-status.org/submit即可提交,提交过程为:

    1、用editplus或者其他代码编辑软件打开您的证书crt文件,全部复制了然后填到提交的框里!

    Nginx启用 Certificate Transparency策略然后点击submit

    2、大约过了几秒后显示如下的页面!

    Nginx启用 Certificate Transparency策略点击如题的链接将文件下载到本地,解压后,你会看到大概如下图所示的内容,可能有误差,但是按照教程操作即可!

    Nginx启用 Certificate Transparency策略将这些文件上传到/usr/local/nginx/conf/vhost/sct/ 即可。

    下面的教程很重要,请仔细按部就班操作!

    编译Nginx,加入CT模块

    首先:加入CT模块需要OpenSSL 1.0.2+的支持,请自行执行openssl version查看版本!

    下载Nginx1.9.12

    查看自己的Nginx的configure arguments有哪些,下一步的安装编译需要用到!

    复制configure arguments的内容,在./configure后面带上你复制的内容,然后别忘了加上--add-module=/usr/src/nginx-ct-1.2.0,然后执行

    修改网站对应的nginx conf文件!

    假设配置文件是在 /usr/local/nginx/conf/vhost 的目录

    在server{}的括号内加入

    注意:/usr/local/nginx/conf/vhost/sct 替换为你的sct文件的存放目录就可以了

    配置完后请记得重启Nginx!

    好了,以上就是HTTPS证书启用Certificate Transparency策略教程,有问题欢迎留言!

    微信公众账号:技术宅
    分享互联网科技新闻轶事,各种数码使用小技巧。
    760人已关注
    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册

    文章目录