查看: 6852|回复: 6

[教程说明] 万由u-nas系统用上Let’s Encrypt 免费Https安全证书

[复制链接]
发表于 2019-2-26 15:51:19 | 显示全部楼层 |阅读模式
本帖最后由 icarus 于 2019-2-26 16:06 编辑

万由u-nas系统用上Let’sEncrypt 免费Https安全证书
————by icarus

2019.2.25

前言:
万由的https证书是自签发的,你在外网访问的时候会显示不安全,就很烦,为了解决这个问题,我找到了Let’s Encrypt。
关于Let's Encrypt 免费SSL证书
Let'sEncrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。
Let'sEncrypt免费SSL证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let's Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。
Let'sEncrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(CertificateAuthority, CA)模型缺陷的一个起步。
在客户端-服务器数据传输中,公私钥加密使得公钥可以明文传输而依然保密数据,但公钥本身是否属于服务器,或公钥与服务器是否同属一个身份,是无法简单验证的。证书权威模型通过引入事先信任的第三方,由第三方去验证这一点,并通过在服务器公钥上签名的方式来认证服务器。第三方的公钥则在事先就约定并离线准备好,以备访问时验证签名之用。这个第三方就称为证书权威,简称CA。相应的,CA验证过的公钥被称为证书。
问题是,如果服务器私钥泄露,CA无法离线使对应的证书无效化,只能另外发布无效记录供客户端查询。也就是说,在私钥泄露到CA发布无效记录的窗口内,中间人可以肆意监控服-客之间的传输。如果中间人设法屏蔽了客户端对无效记录的访问,那么直到证书过期,中间人都可以进行监控。而由于当前CA验证和签发证书大多手动,证书有效期往往在一年到三年。
Let'sEncrypt 签发的证书有效期只有90天,甚至希望缩短到60天。有效期越短,泄密后可供监控的窗口就越短。为了支撑这么短的有效期,就必须自动化验证和签发。因为自动化了,长远而言,维护反而比手动申请再安装要简单。
证书的有效期,我坚持认为这是合理的。Let's Encrypt 的证书是自动签发的,对 Let's Encrypt 的目标用户(个人网站、小网站)来说,90天已经是一个很长的时间了。特别是个人网站,域名所有权的变动是非常快的。可能前几天域名还属于张三,后几天就属于李四了。因此自动签发一个长有效期的证书是很容易产生问题的。如果证书的有效期是两年,那么经常交易域名的人就可以长时间持有已经不属于他们的域名的证书。并且这种持有不受证书吊销列表的控制,因为签发的时候,所有权是没有问题的,即使后来所有权变更了,Let's Encrypt 也不会知道。所以设的有效期短一点,可以减少这个问题的影响。然后是易用性,现在已经有不少的 Let's Encrypt 自动续期脚本了,配好后就不用管了,非常方便。
总之,强烈推荐站长和服务器平台用 Let's Encrypt 向访客提供加密连接。这是域名认证未来的发展方向。
目前,申请获取Let's Encrypt证书有很多种方法,网上也有不少申请Let's Encrypt证书的教程,使用的工具可以说是五花八门。
但是,就经验来看 acme.sh 这个是最方便、最快捷、最省事儿的,因为使用的就是Let's Encrypt的ACME协议,所以兼容性绝对是最可靠的,Shell脚本式的对系统几乎没有任何依懒性,有很强的自由度。其实 acme.sh 的使用还是非常“傻瓜”的,只要照着指令参数做就可以轻松搞定的,上述的示例其实将域名修改为自己的域名就可以用了,其它的也是同样的道理,简单修改一下参数就可以拿来用的。
下面我就具体的讲述一下利用Let's Encrypt的ACME协议在服务器上运用acme.sh脚本来申请、管理SSL证书,这里要强调一下的是Let's Encrypt的SSL证书申请是必须要有服务器root权限
1.jpg 2.jpg 3.jpg
回复

使用道具 举报

发表于 2019-2-26 18:10:29 | 显示全部楼层
https://certbot.eff.org/
参考这个,貌似更方便了。
回复 支持 反对

使用道具 举报

发表于 2019-2-27 00:26:43 | 显示全部楼层
这个大赞啊! 人人都应该用证书
回复 支持 反对

使用道具 举报

发表于 2019-2-27 14:04:56 | 显示全部楼层
确实这样用上之后不会弹出说之前的不安全了
回复 支持 反对

使用道具 举报

发表于 2019-3-1 17:12:14 | 显示全部楼层
LZ,这样弄完后改host可以访问,https也是正常。
但是通过端口转发,外网访问 https://域名:端口   打不开页面
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-5 19:21:50 | 显示全部楼层
u_fiel 发表于 2019-3-1 17:12
LZ,这样弄完后改host可以访问,https也是正常。
但是通过端口转发,外网访问 https://域名:端口   打不开 ...

我测试过没有问题啊,你是不是在路由器上没有添加转发规则和端口号呢?
如果添加了端口转发,外网还是不能访问,可能是路由器的防火墙问题
一步步排查看看

万由u-nas web服务器
test2.jpg

手机外网测试456端口自建网站
Screenshot_2019-03-05-18-45-56-701_org.mozilla.fi.png

路由器设置端口转发
test.jpg



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|万由科技 ( 浙ICP备10004788号-13 )

GMT+8, 2024-5-15 22:23 , Processed in 0.088353 second(s), 42 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表