本书是集理论、协议细节、漏洞分析、部署建议于一体的详尽 Web 应用安全指南。书中具体内容包括 :密码学基础,TLS 协议,PKI 体系及其安全性,HTTP 和浏览器问题,协议漏洞 ;最新的攻击形式,如 BEAST、CRIME、BREACH、Lucky 13 等;详尽的部署建议;如何使用 OpenSSL 生成密钥和确认信息;如何使用 Apache httpd、IIS、Nginx 等进行安全配置。本书适合 Web 开发人员、系统管理员和所有对 Web 应用安全感兴趣的读者。
本书的存在是为了记录在实际的日常工作中需要了解的关于SSL/TLS和PKI的一切。我着眼于正确地结合理论、协议细节、漏洞和弱点信息以及部署建议,以帮助读者完成工作。在撰写本书时,我想象有以下三个群体的代表密切注视着我,希望我回答他们提出的问题。 系统管理员系统管理员一贯时间有限而被迫处理系统上日益增加的安全问题,因此他们需要有关TLS 的可靠指导,从而可以快速有效地配置他们的服务器。盲目相信从网络上找到的信息往往适得其反,因为有非常多不正确和过时的信息。 开发人员虽然SSL从诞生之初就承诺为基于TCP的协议提供透明的安全保障,但现实情况却是开发人员在确保应用安全的任务中扮演着十分重要的角色。对Web应用而言尤其如此,因为 Web应用一边围绕着SSL和TLS构建安全,一边整合着各种会破坏安全性的特性。理论上 “仅仅启用加密”即可,而实践中不仅需要启用加密,同时也需要关注许多破坏安全性的问题,不论它们是大是小。在本书中,我尽力不遗漏这类读者可能会遇到的每一个问题。 管理人员最后是管理人员,虽然他们不必关心实施细节,但仍然需要理解发生了什么并做出决策。安全领域变得越来越复杂,理解攻击和威胁往往就是其工作的一部分。解决问题的方法经常不止一种,最好的方法往往是依情况而定。总之,本书内容全面覆盖了HTTP和Web应用,但几乎没有提及其他协议。这主要是因为浏览器。浏览器已经成为最流行的应用分发平台,而HTTP在浏览器上运用加密的方法非常特殊,带来了很多问题。因此本书才花了非常多的篇幅讲HTTP。事实上,除了有关HTTP的章节,全书仍有三分之二的内容提供了可以应用到任何使用TLS 协议的一般性指导。关于OpenSSL、Java和Microsoft的几章分别为相应的平台提供了协议的一般信息。也就是说,如果各位读者正在寻找Web服务器以外的其他产品的配置示例,那么将无法在本书中找到。因为Web服务器主要由几大平台占据,其他类型的应用则有大量的产品。只提供Web 服务器相关的最新指导已经是相当大的挑战了,毕竟Web服务器一直在不断发展。我无法在更大的范围跟进,因此有意将其他配置示例发布在网上,并希望能够在社区中起到抛砖引玉的作用,从而保持这些指导及时更新。
本书主要内容共16章,分为若干部分。这些部分彼此依托,构成一幅完整的蓝图,始于理论介绍,最后给出实践建议。第一部分包括第1~3章,是全书的基础,讨论了密码学、SSL、TLS和PKI。 第1章 SSL、TLS和密码学这一章首先介绍了SSL和TLS,讨论这些安全协议从哪里融入互联网基础设施;其余部分介绍密码学,并讨论了主动网络攻击者的经典威胁模型。 第2章 协议这一章讨论TLS协议的各种细节,内容覆盖了最新的TLS 1.2,并酌情提供了早期版本的信息。这一章最后包括了从SSL 3起协议演变的概述以供参考。 第3章 公钥基础设施这一章介绍互联网PKI。PKI是当今互联网上使用的主要信任模型。这一章着重介绍其标准、组织、管理、生态系统的弱点以及未来可能的改进。第二部分包括第4~7章,详细列举各种问题。这些问题与信任基础设施、安全协议以及实现它们的库和程序有关。 第4章 攻击PKI 这一章内容涉及对信任体系的攻击,涵盖了所有主要的CA事故,详细列举了种种弱点、攻击和效果。这一章以纯粹的历史视角来回顾PKI体系的安全性,这对于理解其发展非常重要。 第5章 HTTP和浏览器问题这一章讲述HTTP和TLS之间的关系,在Web出现根本性增长后产生的问题,以及不同的网络体系之间杂乱的相互作用。 第6章 实现问题这一章内容包括随机数生成、证书验证以及其他核心TLS和PKI功能的设计和编码错误。此外,还讨论了自愿协议降级和截断攻击,涵盖心脏出血、FREAK和Logjam等备受瞩目的攻击。 第7章 协议攻击这是本书中篇幅最长的一章,涵盖了近年来发现的所有主要的协议缺陷:不安全的重新协商、BEAST、CRIME、Lucky 13、POODLE和POODLE TLS、RC4、TIME和BREACH,以及三次握手攻击。这一章还简单讨论了Bull Run项目及其对于TLS安全性的影响。第三部分包括第8~10章,为以安全且高效的方式部署TLS提供了综合指导。 第8章 部署这一章是整本书的地图,提供了如何一步一步地部署安全且工作良好的TLS服务器和Web 应用的操作指南。 第9章 性能优化这一章着眼于TLS的速度,为那些希望从服务器中榨取每一点速度的读者详述了各种提升性能的技术。 第10章 HTTP严格传输安全、内容安全策略和钉扎这一章涉及加强Web应用的一些高级主题,比如HTTP严格传输安全和内容安全策略。这一章也涉及钉扎,它是减少由当前PKI模型带来的庞大攻击面的有效方法。第四部分是最后一部分,由第11~16章组成,为在主流部署平台和Web服务器上使用和配置 TLS以及如何使用OpenSSL探测服务器配置提供可行的指导。 第11章 OpenSSL 这一章描述了OpenSSL最常用的功能,主要介绍其安装、配置、私钥和证书管理。最后的11.4节给出如何构建和管理一个私有证书颁发机构的操作指南。 第12章 使用OpenSSL进行测试这一章继续介绍OpenSSL,解释如何使用它的命令行工具测试服务器配置。尽管使用自动化工具测试经常更加简单,但当读者想确定当前具体的情况时,仍然可以使用OpenSSL 工具。 第13章 配置Apache 这一章讨论流行的Web服务器Apache httpd的TLS配置。从这一章开始,将有一系列章节提供实践指导,与前面章节的理论相配合。每一章都专注于一个主要的技术层面。 第14章 配置Java和Tomcat 这一章涉及Java(第7版和第8版)和Tomcat服务器。除了配置信息,这章也包含Web应用安全的指导。 第15章 配置Microsoft Windows和IIS 这一章讨论在Microsoft Windows平台和Internet Information Server上部署TLS的问题,也为在ASP.NET下运行的Web应用上使用TLS提供指导。 第16章 配置Nginx 这一章讨论Nginx服务器,除了阐述最新稳定版的特性,也会对开发分支中的一些改进一探究竟。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !