免费享用Let's Encrypt来保护你的网站

译文
安全 数据安全
早在过去,借助证书机构安装基本的HTTPS每年要花数百美元,而且这个过程很困难,安装起来容易出错。现在我们有了Let's Encrypt可以免费享用,而且整个过程只需要几分钟。

【51CTO.com快译】早在过去,借助证书机构安装基本的HTTPS每年要花数百美元,而且这个过程很困难,安装起来容易出错。现在我们有了Let's Encrypt可以免费享用,而且整个过程只需要几分钟。

[[224862]]

为什么要加密?

为什么要加密你的网站?因为未加密的HTTP会话面临多种滥用现象:

  • 窃听你的用户
  • 获取用户登录信息
  • 注入广告和“重要”信息
  • 注入间谍软件
  • 注入SEO垃圾邮件和链接
  • 注入加密货币矿工

如何挫败不法分子的邪恶欲望?最有效的防御机制是HTTPS。不妨先看一下HTTPS的工作原理。

信任链

你可以在网站与允许访问的所有人之间建立非对称加密。这是一种很有效的保护:GPG和OpenSSH是用于非对称加密的常见工具。这些工具依赖公钥/私钥密钥对。你可以随意共享公钥,而私钥必须受到保护,永远不得共享。公钥负责加密,私钥负责解密。

然而,这个涉及多步骤的过程却无法扩展以支持随机的上网冲浪,因为它需要在建立会话之前交换公钥,你还得生成和管理密钥对。HTTPS会话使公钥分配实现了自动化,购物和银行等敏感网站由第三方证书机构(CA)来验证,比如Comodo、Verisign或Thawte。

你在访问HTTPS网站时,它会向你的Web浏览器提供数字证书。该证书验证你的会话已经过强加密,并提供网站的信息,比如组织名称、颁发证书的组织以及证书机构的名称。你只要点击Web浏览器地址栏中的小挂锁,即可查看所有这些信息和数字证书(见图1)。

击Web浏览器地址栏中的挂锁,即可查看相关信息

图1:点击Web浏览器地址栏中的挂锁,即可查看相关信息

各大Web浏览器(包括Opera、Firefox、Chromium和Chrome)都依赖证书机构来验证网站数字证书的真实性。小挂锁让安全状态一目了然:绿色代表SSL强加密和已验证的身份。Web浏览器还会警告你防范恶意网站和SSL证书配置不正确的网站,并将这些自签名证书视作不可信的证书。

那么Web浏览器怎么知道该信任谁呢?浏览器包含一个根存储区(root store),这其实是一批根证书,存储在/usr/share/ca-certificates/mozilla/中。网站证书针对根存储区加以验证。你的根存储区由软件包管理器来维护,就像Linux系统上的任何其他软件那样。在Ubuntu上,它们由ca-certificates软件包提供。根存储区本身由Mozilla for Linux来维护。

正如你所见,需要一套复杂的基础设施来完成所有这些工作。如果你执行任何敏感的在线交易(例如购物或银行业务),其实是信任大批未知的人来保护自己。

无处不在的加密

Let's Encrypt是一家全球证书机构,类似商业证书机构。Let's Encrypt由非营利性互联网安全研究组织(ISRG)创建,目的是为了更容易保护网站。我认为用它来保护购物和银行网站不够安全,但适用于保护没有金融交易的博客、新闻及信息网站。

至少有三种方法可使用Let's Encrypt。最好的方法是使用电子边界基金会(EFF)维护的Certbot客户软件(https://certbot.eff.org/)。这需要通过shell访问你的网站。

如果你在共享主机上,那么可能没有shell访问权限。在这种情况下,最容易的方法是使用支持Let's Encrypt的主机。

如果你的主机不支持Let's Encrypt,但支持自定义证书,那么你可以使用Certbot手动创建并上传证书。这是个复杂的过程,所以你需要吃透说明文档。

安装好了证书后,可使用SSL Server Test(https://www.ssllabs.com/ssltest/)来测试你的网站。

Let's Encrypt数字证书有效期90天。你安装Certbot时,它还会安装计划任务(cron job),以便自动续期,它还包含一个命令来测试这种自动续期是否有效。你可以使用现有的私钥或证书签名请求(CSR),它支持通配符证书。

局限性

Let's Encrypt存在一些限制:它只执行域名验证,即它向控制域名的任何人颁发证书。这是基本的SSL。它不支持组织验证(OV)或扩展验证(EV),原因是无法使身份验证实现自动化。我不会信任使用Let's Encrypt的银行或购物网站,它们应该花大量的钱来购置包括身份验证的整套软件包。

作为由非营利组织维护的一项免费服务,它没有商业支持,只有说明文档和社区支持,不过两者都很好。

互联网充满了邪恶。一切都应该加密。不妨用Let's Encrypt(https://letsencrypt.org/)来保护访问你网站的那些人。

原文标题:Protect Your Websites with Let's Encrypt,作者:Carla Schroder

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:赵宁宁 来源: 51CTO.com
相关推荐

2015-12-31 10:35:53

HTTPS 证书HTTPS网络协议

2021-12-20 10:00:41

Let's EncryNginxLinux

2015-10-22 13:17:27

Let's EncryHTTPS浏览器

2015-12-10 15:53:06

2021-08-25 23:03:58

区块链数据安全

2021-07-28 10:55:26

接口服务https:

2020-03-04 11:17:32

漏洞网络安全网络攻击

2013-12-10 10:16:39

2020-07-06 11:32:50

HTTPHTTP Header开发者

2021-06-08 10:10:25

SQLMyBatisFluent MyBa

2018-04-11 09:00:00

2010-08-18 09:07:26

数据泄密防护DLP公司数据

2021-01-26 00:30:05

HTTPSWordPress网站网站安全

2017-04-13 11:20:56

机器学习代码

2012-03-01 11:20:45

2022-01-24 11:16:13

PHP服务器恶意

2022-10-17 09:15:37

2012-05-11 14:39:07

2014-05-14 15:09:06

2015-01-12 10:42:02

程序员
点赞
收藏

51CTO技术栈公众号