Lets Encrypt

概述

https://letsencrypt.org/

Let’s Encrypt 是国外一个公共的免费 SSL 项目,由 Linux 基金会托管,它的来头不小,由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被 Mozilla、Google、Microsoft 和 Apple 等主流的浏览器所信任,你只需要在 Web 服务器证书链中配置交叉签名,浏览器客户端会自动处理好其它的一切,Let’s Encrypt 安装简单,未来大规模采用可能性非常大。

Let’s Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。

在客户端-服务器数据传输中,公私钥加密使得公钥可以明文传输而依然保密数据,但公钥本身是否属于服务器,或公钥与服务器是否同属一个身份,是无法简单验证的。证书权威模型通过引入事先信任的第三方,由第三方去验证这一点,并通过在服务器公钥上签名的方式来认证服务器。第三方的公钥则在事先就约定并离线准备好,以备访问时验证签名之用。这个第三方就称为证书权威,简称 CA。相应的,CA 验证过的公钥被称为证书。

问题是,如果服务器私钥泄露,CA 无法离线使对应的证书无效化,只能另外发布无效记录供客户端查询。也就是说,在私钥泄露到CA发布无效记录的窗口内,中间人可以肆意监控服-客之间的传输。如果中间人设法屏蔽了客户端对无效记录的访问,那么直到证书过期,中间人都可以进行监控。而由于当前CA验证和签发证书大多手动,证书有效期往往在一年到三年。

Let’s Encrypt 签发的证书有效期只有 90 天,甚至希望缩短到 60 天。有效期越短,泄密后可供监控的窗口就越短。为了支撑这么短的有效期,就必须自动化验证和签发。因为自动化了,长远而言,维护反而比手动申请再安装要简单。

自动化的好处还有:
- 子域名可以各自申请证书,不一定需要星号证书,进一步限制泄密的后果
- 由客户端生成证书,私钥不会暴露在互联网上,降低泄密概率

总之,强烈推荐站长和服务器平台用 Let’s Encrypt 向访客提供加密连接。这是域名认证未来的发展方向。

Certbot

电子前哨基金会(EFF)为 Let’s Encrypt 推出了客户端 Certbot。通过 Certbot,你可以自动部署 Let’s Encrypt 证书,以便为网站加上 HTTPS 支持。

https://certbot.eff.org/#centos6-nginx

安装

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
 
 
  • 1
  • 2
  • 1
  • 2

NGINX 配置

    location /.well-known {
        default_type "text/plain";
        root /var/www/html;
    }
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

获得证书

./certbot-auto certonly --webroot -w /var/www/cert -d 域名 -m 邮箱 --agree-tos
 
 
  • 1
  • 1

自动续期

./certbot-auto renew --quiet
 
 
  • 1
  • 1

NGINX SSL 配置

server {
    listen 80 default_server;
    server_name 域名;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    #listen [::]:443 ssl ipv6only=on;
    server_name 域名;
    ssl on;
    ssl_certificate fullchain.pem;
    ssl_certificate_key privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5";
    #ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
    keepalive_timeout    70;
    ssl_session_cache    shared:SSL:10m;
    ssl_session_timeout  10m;
    ssl_dhparam dhparam.pem;
    add_header Strict-Transport-Security max-age=63072000;
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    ...
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

.eof.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是 Let's Encrypt SSL 证书申请及安装教程: 步骤1:安装 Certbot 工具 Certbot 是 Let’s Encrypt 官方推荐的一个 ACME 协议的客户端工具,可以帮助我们快速申请 SSL 证书。在使用 Certbot 申请 SSL 证书之前,我们需要先安装 Certbot 工具,可以使用以下命令: ``` sudo apt-get update sudo apt-get install certbot ``` 步骤2:申请 SSL 证书 申请 SSL 证书的命令如下: ``` sudo certbot certonly --webroot -w /var/www/html/ -d example.com -d www.example.com ``` 其中,`/var/www/html/` 是 Web 根目录所在的位置,而 `example.com` 和 `www.example.com` 分别是需要申请 SSL 证书的域名,可以根据实际情况修改。 执行该命令后,Certbot 将会自动验证您的域名,如果验证成功,将会生成 SSL 证书。证书文件存储在`/etc/letsencrypt/live/example.com/` 目录下。 步骤3:安装 SSL 证书 安装 SSL 证书的命令如下: ``` sudo a2enmod ssl sudo service apache2 restart sudo nano /etc/apache2/sites-available/default-ssl.conf ``` 在打开的 `default-ssl.conf` 文件中添加以下内容: ``` SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem ``` 其中,`example.com` 表示您的域名,可以根据实际情况修改。然后保存并关闭文件。 步骤4:启用 SSL 证书 启用 SSL 证书的命令如下: ``` sudo a2ensite default-ssl.conf sudo service apache2 reload ``` 现在,您的网站已经启用了 SSL 证书,可以通过 HTTPS 访问了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值