使用 Let's Encrypt 保护你的网站 | Linux 中国

2018 年 4 月 24 日 Linux中国 译者:Andy Song
未加密的 HTTP 会话暴露于滥用之中,用 Let's Encrypt 把它们保护起来。
-- Carla Schroder

致谢
编译自 | https://www.linux.com/learn/intro-to-linux/2018/3/protect-your-websites-lets-encrypt 
 作者 | Carla Schroder
 译者 | Andy Song (pinewall) 🌟 🌟 共计翻译:4 篇 贡献时间:26 天

未加密的 HTTP 会话暴露于滥用之中,用 Let's Encrypt 把它们保护起来。

曾几何时,通过证书授权机构搭建基本的 HTTPS 网站需要每年花费数百美元,而且搭建的过程复杂且容易出错。现在我们免费使用 Let's Encrypt[1],而且搭建过程也只需要几分钟。

为何进行加密?

为什么要加密网站呢?这是因为未经加密的 HTTP 会话可以被多种方式滥用:

◈ 窃听用户数据包
◈ 捕捉用户登录
◈ 注入 广告 [2]“重要”消息 [3]
◈ 注入 木马 [4]
◈ 注入  SEO 垃圾邮件和链接 [5]
◈ 注入 挖矿脚本 [6]

网络服务提供商就是最大的代码注入者。那么如何挫败它们的非法行径呢?你最好的防御手段就是 HTTPS。让我们回顾一下 HTTPS 的工作原理。

信任链

你可以在你的网站和每个授权访问用户之间建立非对称加密。这是一种非常强的保护:GPG(GNU Privacy Guard, 参考如何在 Linux 中加密邮件[7])和 OpenSSH 就是非对称加密的通用工具。它们依赖于公钥-私钥对,其中公钥可以任意分享,但私钥必须受到保护且不能分享。公钥用于加密,私钥用于解密。

但上述方法无法适用于随机的网页浏览,因为建立会话之前需要交换公钥,你需要生成并管理密钥对。HTTPS 会话可以自动完成公钥分发,而且购物或银行之类的敏感网站还会使用第三方证书颁发机构(CA)验证证书,例如 Comodo、 Verisign 和 Thawte。

当你访问一个 HTTPS 网站时,网站给你的网页浏览器返回了一个数字证书。这个证书说明你的会话被强加密,而且提供了该网站信息,包括组织名称、颁发证书的组织和证书颁发机构名称等。你可以点击网页浏览器地址栏的小锁头来查看这些信息(图 1),也包括了证书本身。

图1: 点击网页浏览器地址栏上的锁头标记查看信息

包括 Opera、 Chromium 和 Chrome 在内的主流浏览器,验证网站数字证书的合法性都依赖于证书颁发机构。小锁头标记可以让你一眼看出证书状态;绿色意味着使用强 SSL 加密且运营实体经过验证。网页浏览器还会对恶意网站、SSL 证书配置有误的网站和不被信任的自签名证书网站给出警告。

那么网页浏览器如何判断网站是否可信呢?浏览器自带根证书库,包含了一系列根证书,存储在 /usr/share/ca-certificates/mozilla/ 之类的地方。网站证书是否可信可以通过根证书库进行检查。就像你 Linux 系统上其它软件那样,根证书库也由包管理器维护。对于 Ubuntu,对应的包是 ca-certificates,这个 Linux 根证书库本身是由 Mozilla 维护[8]的。

可见,整个工作流程需要复杂的基础设施才能完成。在你进行购物或金融等敏感在线操作时,你信任了无数陌生人对你的保护。

无处不加密

Let's Encrypt 是一家全球证书颁发机构,类似于其它商业根证书颁发机构。Let's Encrpt 由非营利性组织因特网安全研究小组Internet Security Research Group(ISRG)创立,目标是简化网站的安全加密。在我看来,出于后面我会提到的原因,该证书不足以胜任购物及银行网站的安全加密,但很适合加密博客、新闻和信息门户这类不涉及金融操作的网站。

使用 Let's Encrypt 有三种方式。推荐使用电子前沿基金会Electronic Frontier Foundation(EFF)开发的 Cerbot 客户端[9]。使用该客户端需要在网站服务器上执行 shell 操作。

如果你使用的是共享托管主机,你很可能无法执行 shell 操作。这种情况下,最简单的方法是使用支持 Let's Encrpt 的托管主机[10]

如果你的托管主机不支持 Let's Encrypt,但支持自定义证书,那么你可以使用 Certbot 手动创建并上传你的证书[10]。这是一个复杂的过程,你需要彻底地研究文档。

安装证书后,使用 SSL 服务器测试[11]来测试你的服务器。

Let's Encrypt 的电子证书有效期为 90 天。Certbot 安装过程中添加了一个证书自动续期的计划任务,也提供了测试证书自动续期是否成功的命令。允许使用已有的私钥或证书签名请求certificate signing request(CSR),允许创建通配符证书。

限制

Let's Encrypt 有如下限制:它只执行域名验证,即只要有域名控制权就可以获得证书。这是比较基础的 SSL。它不支持组织验证Organization Validation(OV)或扩展验证Extended Validation(EV),因为运营实体验证无法自动完成。我不会信任使用 Let's Encrypt 证书的购物或银行网站,它们应该购买支持运营实体验证的完整版本。

作为非营利性组织提供的免费服务,不提供商业支持,只提供不错的文档和社区支持。

因特网中恶意无处不在,一切数据都应该加密。从使用 Let's Encrypt[12] 保护你的网站用户开始吧。

想要学习更多 Linux 知识,请参考 Linux 基金会和 edX 提供的免费课程 “Linux 入门”[13]


via: https://www.linux.com/learn/intro-to-linux/2018/3/protect-your-websites-lets-encrypt

作者:CARLA SCHRODER[15] 选题:lujun9972 译者:pinewall 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


登录查看更多
0

相关内容

Let’s Encrypt is a free, automated, and open certificate authority brought to you by the non-profit Internet Security Research Group (ISRG).
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
24+阅读 · 2020年4月20日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
广东疾控中心《新型冠状病毒感染防护》,65页pdf
专知会员服务
18+阅读 · 2020年1月26日
最新版本开源情报工具和资源手册(一)
黑白之道
9+阅读 · 2019年6月23日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
20个安全可靠的免费数据源,各领域数据任你挑
机器学习算法与Python学习
12+阅读 · 2019年5月9日
防代码泄漏的监控系统架构与实践
FreeBuf
5+阅读 · 2019年4月30日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
13+阅读 · 2018年4月6日
Arxiv
6+阅读 · 2018年1月14日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
24+阅读 · 2020年4月20日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
广东疾控中心《新型冠状病毒感染防护》,65页pdf
专知会员服务
18+阅读 · 2020年1月26日
相关资讯
最新版本开源情报工具和资源手册(一)
黑白之道
9+阅读 · 2019年6月23日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
20个安全可靠的免费数据源,各领域数据任你挑
机器学习算法与Python学习
12+阅读 · 2019年5月9日
防代码泄漏的监控系统架构与实践
FreeBuf
5+阅读 · 2019年4月30日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
相关论文
Arxiv
11+阅读 · 2018年5月13日
Arxiv
13+阅读 · 2018年4月6日
Arxiv
6+阅读 · 2018年1月14日
Top
微信扫码咨询专知VIP会员