使用 Let's Encrypt 保护你的网站
创始人
2024-03-01 22:42:53
0

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

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

为何进行加密?

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

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

信任链

你可以在你的网站和每个授权访问用户之间建立非对称加密。这是一种非常强的保护:GPG(GNU Privacy Guard, 参考如何在 Linux 中加密邮件)和 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 维护的。

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

无处不加密

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

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

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

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

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

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 保护你的网站用户开始吧。

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


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

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

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

相关内容

画到哪,动到哪!字节跳动发...
Angtian Wang 是字节跳动的研究员,研究方向包括视频生成...
2025-07-03 13:13:17
原创 ...
多模态大模型正在从“看得见”走向“看得懂、想得通”。 智谱正式发布...
2025-07-02 15:40:54
9B“小”模型干了票“大”...
金磊 发自 凹非寺 量子位 | 公众号 QbitAI 如果一个视觉...
2025-07-02 13:41:42
等了30年,微软MS-DO...
曾经称“开源是毒瘤”时有多么嫌弃,现在“微软 ❤️ 开源”就有多么...
2025-06-26 09:11:25
最强Cursor开源替代方...
下载地址:https://github.com/voidedito...
2025-06-25 20:11:31
MiniMax深夜开源首个...
不知道还有多少人记得,AI行业的六小虎。 行业内都在说,他们已经寂...
2025-06-17 12:12:44

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...