澳门新葡萄京官网注册 1

现在各大厂商都在推行HTTPS,比如谷歌要求多个顶级域名要用HTTPS来加密,苹果要求开发者全部采用HTTPS等等。那什么是HTTPS呢?其实HTTPS只是HTTP的一个拓展,是在HTTP的基础上利用SSL/TLS来加密数据包的。工作流程如下:

由 Web 浏览器制造商、软件开发人员和安全证书颁发机构组成的行业团体
CA/Browser Forum,正在考虑将 HTTPS 证书的有效期从 27 个月缩短到 13
个月。

澳门新葡萄京官网注册 2An
overview of the SSL or TLS handshake

关于这样的提案,已经不是第一次提出。在 2017 年时,CA/Browser Forum
就否决了一项将证书有效期从 39 个月缩短至 13 个月的提案。

图片来自IBM Knowledge Center: An overview of the SSL or TLS handshake

而早在一年前,证书的最长有效期已经从 39 个月降至 27 个月。

注意第步Server给Client发送了一个Server
certificates,这个里面包含有Server的一些信息,如域名、公司信息、序列号和签名信息组成等,这个证书可以个人生成,也可以由权威机构签发,当然个人的就不受大众信任,而权威机构签发的证书则会被信任。

我们都知道,HTTPS
证书用于加密浏览器和站点之间的连接,帮助软件确定没有人篡改或窃听这些连接。

具体的可以参考:细说 CA 和证书

如果减少 TLS/SSL
证书有效的时间,网站必须更频繁地更新其证书。理论上,这样的证书有效期也有助于减少欺诈活动,如果是偷来的证书则很快会失效,被遗弃的网站也会更快地过期。这将迫使他们使用最新和最推荐的加密和散列证书,而不是使用不安全算法的老化证书。

CA的证书提供商有许多个,有收费的有免费的,而Let’s
Encrypt就是其中之一的免费提供商。

不过,本周一时,DigiCert 的 Timothy Hollebeek 却反对将证书有效期缩短至
13
个月,他认为,缩短证书寿命确实带来的好处,但意味着要有更好的方法来确保证书是最新的和安全的,同时也存在一些麻烦,企业不得不每年续签一次付费证书,并且增加其成本。

2.1 如何获取Let’s Encript的证书呢?

要从Let’s
Encript获取某个域名的证书,需要证明那你对该域名拥有控制权,对于该证明你可以使用某个使用ACME协议的软件来实现,而Certbot就是官方出的一个ACME客户端。

先介绍一些Certbot相关概念。

换句话说,减少有效期可能会促使企业免费使用 Let’s Encrypt
TLS/SSL,就不会向 Digicert 这样的机构支付费用。Let’s Encrypt
可以免费发放 90 天的 HTTPS
证书,使用提供的软件客户端来自动更新和部署证书,而由于几乎所有浏览器和操作系统都支持
Let’s Encrypt TLS/SSL 证书,导致该服务正给向 HTTPS
证书收费的证书颁发机构带来巨大压力。

3.1 Authenticators和Installers

Certbot支持两种类型的plugin,一种是用来获取证书的,称为Authenticators澳门新葡萄京官网注册 ,;另外一种是用来安装证书的,称为Installers。有的plugin支持一种,有的两种都支持,如nginx。

安装证书:自动修改配置文件,如修改nginx的某个.conf文件

Authenticators plugin使用certonly命令来获取证书,而Installers
plugin使用install命令来安装证书。

Hollebeek 称:

3.2 plugin说明

下面列举几个常用的plugin作简要说明:

  1. Webroot:本地有运行webserver并且有能力修改其配置,就可以用该种方式(创建隐藏文件.well-known),获取证书时无需暂停webserver的运行。
  2. Standalone:服务器未运行webserver可以使用该方式,要保持80或443端口开放。
  3. Nginx:自动获取和安装证书。

将证书寿命迅速缩短到一年,甚至更少,对于许多依赖数字证书保护系统的公司来说,这将带来巨大的成本。这些费用不会换来更加安全的改进,并且这项提案对从事非法活动或冒充合法公司的非法分子不会有任何影响。最主要的一点是,减少证书寿命的任何好处都是属于理论性的,在短期内要付诸实际的话,产生的风险和成本也将难以预测。

3.3 Certbot使用流程

Certbot的使用包含以下几个部分:

  1. 安装Certbot
  2. 生成证书
  3. 配置Web Server
  4. 更新证书

安装Certbot参考:Certbot,直接选择软件和操作系统即可。

使用certbot certonly命令然后根据提示操作即可。

[root@efd140d6210b /]# certbot certonlySaving debug log to /var/log/letsencrypt/letsencrypt.logHow would you like to authenticate with the ACME CA?-------------------------------------------------------------------------------1: Spin up a temporary webserver (standalone)2: Place files in webroot directory -------------------------------------------------------------------------------Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 

对于nginx可以使用certbot --nginx来获取和安装证书。

获取完之后可以通过certbot certificates命令查看证书:

root@node01:~# certbot certificatesSaving debug log to /var/log/letsencrypt/letsencrypt.log-------------------------------------------------------------------------------Found the following certs: Certificate Name: www.youdomain.com Domains: www.youdomain.com Expiry Date: 2018-09-03 02:08:54+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/www.youdomain.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/www.youdomain.com/privkey.pem-------------------------------------------------------------------------------

不同Web
Server的配置方式不同,这里以Nginx为例,在配置文件youdomain.conf中添加:

server { listen [::]:80; root /var/www/youdomain; index index.html index.htm; server_name www.yourdomain.com; charset utf-8; #................. listen 443 ssl; ssl_certificate /etc/letsencrypt/live/www.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.yourdomain.com/privkey.pem; }

需要了解Nginx的使用

配置完之后更新配置即可(nginx -s reload),到这里证书配置就完成了,正常情况下该域名HTTPS就可以访问了。

由于Let’s Encrypt颁发的证书的有效期只有90天,这就需要更新证书。

Renewing certificates

certbot renew

如果使用了nginx
plugin,则更新时需要使用certbot renew --quiet --installer node,否则会自动安装证书导致错误。

该提案于今年早些时候在谷歌员工 Ryan Sleevi
的一次会议上提出,目前仍处于草案阶段,还没有关于何时进行表决的消息。

3.4 Certbot常用命令

// perform a test runcertbot certonly --dry-runcertbot renew --dry-run// 显示证书信息certbot certificates// 撤销证书certbot revoke --cert-path /etc/letsencrypt/live/CERTNAME/cert.pem// 删除证书certbot delete --cert-name example.com

如果证书是测试的如--staging,撤销时也要加上。

来源:Theregister

3.5 Certbort其他功能

可以使用DNS Plugins来实现。

Let’s Encrypt泛域名证书

  1. An overview of the SSL or TLS handshake
  2. Let’s Encript Getting Started
  3. Certbot documentation
  4. HTTPS 简介及使用官方工具 Certbot 配置 Let’s Encrypt SSL
    安全证书详细教程