> For the complete documentation index, see [llms.txt](https://freebsd-journal-cn.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://freebsd-journal-cn.bsdcn.org/20141112-shi-pin-qu-dong-cheng-xu/book-review.md).

# 书评：《HTTPS 权威指南：在服务器和 Web 应用上部署 SSL-TLS 和 PKI》

* 原文标题：Book Review — Bulletproof SSL and TLS
* 作者：**Steven Kreuzer**

《HTTPS 权威指南：在服务器和 Web 应用上部署 SSL-TLS 和 PKI》Ivan Ristic 著

对大多数开发者和系统管理员来说，以合理且安全的方式部署 SSL 是个巨大挑战。Ivan Ristic 自 2009 年起专注 SSL，投入两年时间写作，其中包括六个月的改写和章节扩充，于 2014 年 8 月推出了他的第二本书《HTTPS 权威指南：在服务器和 Web 应用上部署 SSL-TLS 和 PKI》——构建安全服务器和 Web 应用的权威参考。他详尽的研究和专注有了回报。Ivan Ristic 实现并超越了他“为你节省时间”的目标。

《HTTPS 权威指南》全面而通俗地介绍了加密安全、SSL/TLS 和 PKI，涵盖常见攻击方法，并设有专门章节介绍如何安全配置 Apache、Java、Nginx 等主流平台。

随着互联网演进、应用越来越复杂，理解安全、性能和向后兼容之间的权衡也越发重要。Ristic 不可能为每位读者的具体基础设施提供蓝图，但他在解释众多可选方案方面做得极好。凭借他在应用安全研究和软件工程方面的背景，他列出了各种方案的好处和你可能需要牺牲什么，帮你根据自身需求确定最佳实现方案。Ristic 还通过承认主题快速演进、承诺章节会更新并立即提供给数字版购买者，满足了读者需求并贯彻了自己的目标。毕竟 TLS 是 Ristic 的主要关注点，他慷慨分享自己渊博的知识，确保风险被识别并尽可能缓解。

在《HTTPS 权威指南》的前半部分，Ristic 对各项相关主题给出了详尽的背景介绍，并给出直截了当的建议。基于此，我建议如果你正在使用 TLS 保护通信，就买一本，并立刻翻到第 8 章关于部署的内容。引用 Ristic 的话：“在许多方面，本章是全书的地图。”读完这一章后，在审计现有部署时把它放在手边，它一定能在查找常见实现问题时提供帮助——这些问题可能导致使用弱加密算法，给攻击者留下危及系统的潜在路径。

撰写本评论时，SSLv3 中发现了一种新的协议降级攻击。通常我需要手忙脚乱地核实我负责的所有系统是否易受攻击，并修复那些有问题的——这次对我来说有些不同。因为我听从了 Ristic 的建议，已在所有内部 Web 服务器上禁用了 SSLv2 和 SSLv3，我只需告知经理：由于之前审计中所做的更改，我们不受影响，业务照常进行。

审计完成后，建议你继续读第 9 章，该章专门讲性能优化。设计系统时需要认识到安全从来不是免费的，也没人说过希望自己的应用更慢。研究表明页面加载时间变慢会增加页面放弃率。既然如此，花大量时间剖析服务器和应用栈以消除尽可能多的瓶颈，结果却要启用加密，似乎有悖常理。随着处理器变快，加密不再像过去那样昂贵，但加密总会增加开销，进而增加延迟。本章提供实用建议，教你如何调优系统以降低通常因在应用栈中引入任何形式的加密而需付出的性能代价。尽管该话题超出本书范围，它还是提供了优化 TCP 的实用建议。遗憾的是，所示示例是 Linux 专用的，但稍加研究就能轻松找到 FreeBSD 上的等效设置。

Ristic 善于剖析加密操作和公钥基础设施等复杂主题——这些对构建安全系统至关重要。他把范围庞大、往往难以理解的内容拆解开来，以易于消化的方式呈现。这种理解对设计安全系统至关重要，尽管有时看似繁杂，Ristic 以不让人畏惧的方式向读者提供了相关信息。

《HTTPS 权威指南》为新手和正在复习技能或学习新知识的老手都提供了丰富内容。我个人觉得关于 OpenSSL 的信息最有帮助。OpenSSL 很可能是互联网上部署最广的软件之一，不仅保护 Web 服务器，还保护电子邮件、聊天、虚拟专用网络和无数其他网络设备。尽管它是让互联网运转的关键组件，许多人却批评它文档糟糕、极难使用。此外，在多数环境中，只要它看起来工作正常，往往就被束之高阁。

幸运的是，大多数人不必每天与 OpenSSL 打交道。以我的经验，当某人需要生成新私钥或创建证书签名请求时，他们会快速搜索自己想做的事，找到第一篇记录某人命令的、没标日期的博客文章，然后逐字运行那些命令，却对结果一知半解。第 11 章和第 12 章提供了极为详尽的文档，概述如何用 OpenSSL 管理密钥和证书、讨论配置与部署，并提供用 OpenSSL 测试 SSL 服务的说明。哪怕你只是在命令行上适度使用 OpenSSL，这两章都能为你节省无数小时网上搜索答案的时间。

简而言之，Ivan Ristic 既不否认当前安全协议和标准存在缺陷，也不试图忽视它们。相反他直面问题，接受这些缺陷并在此基础上工作，为你的基础设施找到最安全的方案——这一目标他以精准、全面且可读的形式清晰地实现了。我向所有系统管理员、开发者和管理者强烈推荐《HTTPS 权威指南》，无论你是否已经在使用 SSL/TLS 和 PKI，还是刚刚起步。

***

**《HTTPS 权威指南：在服务器和 Web 应用上部署 SSL-TLS 和 PKI》**

* 作者：Ivan Ristic
* 发布日期：2014 年 8 月 1 日
* 语言：英语（528 页）
* ISBN：978-1907117046
* 格式：平装、PDF、EPUB、Kindle、在线（无 DRM）
* 出版社：Feisty Duck <contact@feistyduck.com>

***

**Steven Kreuzer** 是 FreeBSD 开发者和 Unix 系统管理员，对复古计算和风冷大众汽车感兴趣。他与妻子和狗住在纽约皇后区。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://freebsd-journal-cn.bsdcn.org/20141112-shi-pin-qu-dong-cheng-xu/book-review.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
