首页>参考读物>计算机科学与技术>安全

云原生安全:攻防实践与体系构建
作者 : 刘文懋 江国龙 浦明 阮博男 叶晓虎 著
出版日期 : 2021-10-11
ISBN : 978-7-111-69183-9
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 343
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书介绍了云原生的容器基础设施、K8S编排系统和常见云原生应用体系;在介绍安全体系前先深入分析了前述架构各个层面的安全风险,并给出攻击实践,后续计划开放靶场环境,有很好的可操作性和说服力;在介绍安全体系时,首先从高层分析新型基础设施防护的思路切换,然后分为两个维度介绍相关的安全机制,清晰地拆解了复杂的安全技术栈,让读者很容易理解DevOps安全和云原生安全两者如何融合。

图书特色

国内研究云计算安全十年的团队,分析了云原生的架构、风险,以实战还原真实威胁,揭开云安全下半场的序幕。
以攻思防,构建面向容器、编排系统和微服务的全栈云原生安全防护体系,并将其扩展到5G、边缘计算等场景。

方滨兴院士作序推荐

图书前言

近十年云计算技术处于高速发展的过程中,借助开源项目和社区的力量,很多项目更新和迭代非常快。如知名的开源IaaS组织方OpenStack基金会改名为OpenInfra,目标是将云计算系统从IaaS扩展到容器、编排等层面,除了通用云计算外,还覆盖如边缘计算、5G和物联网等场景;而Google发起的Kubernetes已经在众多云原生项目中脱颖而出,成为事实上的编排标准,最终可能统一云原生体系。虚拟化技术、容器技术和编排技术最后很可能会融合成一套标准云计算框架,在各个行业出现最佳实践。
与此同时,安全技术也在快速演进。2013年左右出现了高级持续威胁,攻击者利用各种复杂的手段不断突破防守方的边界,此起彼伏的失陷事件让疲于奔命的安全团队沮丧。而近几年,安全厂商研制了利用虚拟化技术的蜜罐、沙箱和网络空间靶场等机制,让防守方转被动挨打为主动反制和常态化对抗,让我们看到了最终获胜的曙光。
笔者团队为绿盟科技星云实验室,一直从事云计算安全和网络安全前沿的研究和产品孵化,希望通过本书能将工作中的得失与广大读者分享。
在2015年之前,随着虚拟化技术的成熟,以SDN和NFV为支撑技术的设施虚拟化IaaS成为主流。笔者在2016年出版了《软件定义安全:SDN/NFV新型网络的安全揭秘》,这本书详细介绍了新型网络中的安全风险和威胁,并进一步提出了软件定义的安全体系。事实上,这个体系在绿盟科技的云计算安全解决方案,以及其他安全解决方案中得到了应用。
而从2016年开始,整个行业因为开发运营一体化(DevOps)和新型基础设施的快速推进,以容器、编排和微服务为代表的云原生技术变得流行。从技术上看,虽然容器技术也是一种虚拟化形态,但对应的防护思路和安全体系截然不同。笔者认为有必要详细阐述和解析云原生技术栈,并分析其中存在的脆弱性和威胁,让初探云原生安全的读者少走错路、弯路,在最短时间内聚焦关键技术问题,构建适合自己的云原生安全体系。笔者团队分别于2018年和2020年发布了《容器安全技术报告》[1]和《云原生安全技术报告》[2],但限于篇幅,很多细节无法展开,本书首次较为详细地展示了一些技术上的思考和细节,读者可按照书中的介绍进行验证,从而得到更深刻的理解。
需要说明的是,云原生社区非常活跃,各类技术层出不穷,也许当你阅读本书时,书中具体的软件版本、命令参数已经不适用,但云原生安全的本质和防护思路是不会变的。当然,如果遇到任何问题,也欢迎你联系笔者团队。
本书实践部分涉及的源代码位于随书附带的GitHub仓库,我们也在仓库中提供了丰富的补充阅读资料,以供大家进一步了解。仓库地址为https://github.com/brant-ruan/cloud-native-security-book。
关于书中涉及的云原生环境、云原生攻防工具,我们也有开源的计划,请关注微信公众号“绿盟科技研究通讯”。各位有志于从事云原生安全的读者,或许可以从中获益。如有兴趣,欢迎贡献你的代码,为云原生安全添砖加瓦。
最后,本书难免有疏漏,敬请读者批评指正。

刘文懋

上架指导

计算机\安全

封底文字

本书不仅详解云原生安全这种新兴的安全理念,并且给出了部署与应用的技术实践,相信广大云服务商、上云企业、开发与教育机构的读者一定会从中受益。
李雨航 CSA大中华区主席
云原生作为时下新兴的趋势,在带来应用开发和运维部署模式创新的同时,也带来了新的风险场景。本书以云原生技术拉开序幕,阐述风险并结合案例进行分析,介绍云原生安全的防护思路、应对方案和实现要点,可以很好地帮助传统安全人员快速理解和切入云原生安全技术领域。作为云厂商安全架构和安全运营人员,我们很早就关注到腾讯内外对云原生应用的攻击威胁趋势和企业防护需求的不断增长,并落地安全左移和容器基础设施安全实践。本书理论与实践相结合,可以帮助行业内越来越多的从业者提升对云原生安全的认知,吸引更多人才加入云安全领域。我们也期待行业秉持云原生开源生态理念,共建云原生时代新的安全生态。
董志强 腾讯云鼎实验室负责人
从Google十多年前采用Borg,后来开源Kubernetes,到目前CNCF的众多云原生项目,短短的时间内国内外各个行业势如破竹地大量采用云原生技术来提升自身基础设施的效率和降低成本,云原生将会是未来5~10年最重要的基础设施架构的发展趋势。目前业界缺少系统化介绍云原生安全的书籍,本书从云原生的前世今生、云原生的技术风险、云原生安全防护体系等,由浅入深地层层展开,技术覆盖面广,深度足,最佳安全实践全。此书会给国内处在云原生转型过程中的关键基础设施改造提供有益参考,从而提升“关基”安全水位。
鸟哥 某国内TOP云厂商云安全架构师
云原生理念和技术已经深刻影响当前基础设施、应用托管等领域,并且被越来越多的企业所应用。本书对云原生技术及其安全风险和安全防护进行了全面的阐述,以逆向思维的安全视角审视云原生技术,能够帮助大家更深入地理解云原生技术及其对应的安全体系,其中对一些云原生技术安全漏洞的分析剥丝抽茧,甚为精彩,推荐大家一起阅读!
王耀 百度杰出研发架构师,百度智能云IaaS技术负责人
本书是作者基于多年在云原生安全领域的工作经验所编撰的一部作品。这几年,随着各行业数字化转型的加速,云原生正在凭借其快速部署、弹性、可扩展等特性,在越来越多的领域落地应用,已从概念普及期走入快速发展期。这本书对于信息安全从业人员和安全负责人都有很好的指导价值,可以作为常备的工具书之一!
张福 青藤云安全创始人&CEO

图书目录


前言
第一部分 云原生安全概述
第1章 云原生安全 2
1.1 云原生:云计算下半场 2
1.2 什么是云原生安全 4
1.2.1 面向云原生环境的安全 4
1.2.2 具有云原生特征的安全 5
1.2.3 原生安全:融合的云原生安全 5
1.3 面向云原生环境的安全体系 7
1.3.1 容器安全 7
1.3.2 编排系统安全 8
1.3.3 云原生应用安全 9
1.4 云原生安全的关键问题 9
1.4.1 如何防护短生命周期的容器 9
1.4.2 如何降低安全运营成本 10
1.4.3 DevSecOps 11
1.4.4 如何实现安全的云原生化 12
1.5 云原生安全现状 13
1.5.1 云原生新范式:Docker + Kubernetes 13
1.5.2 镜像安全问题仍然很突出 14
1.5.3 安全配置规范执行和密钥凭证管理不理想 15
1.5.4 运行时安全关注度上升,但依然很难 17
1.5.5 合规性要求依然迫切,但业界苦于无规可循 18
1.6 本章小结 19
第2章 云原生技术 20
2.1 容器技术 20
2.1.1 容器与虚拟化 20
2.1.2 容器镜像 20
2.1.3 容器存储 21
2.1.4 容器网络 22
2.1.5 容器运行时 22
2.2 容器编排 23
2.3 微服务 23
2.4 服务网格 24
2.5 Serverless 25
2.6 DevOps 26
2.7 本章小结 27
第二部分 云原生技术的风险分析
第3章 容器基础设施的风险分析 30
3.1 容器基础设施面临的风险 30
3.1.1 容器镜像存在的风险 31
3.1.2 活动容器存在的风险 32
3.1.3 容器网络存在的风险 33
3.1.4 容器管理程序接口存在的风险 33
3.1.5 宿主机操作系统存在的风险 34
3.1.6 无法根治的软件漏洞 34
3.2 针对容器化开发测试过程的攻击案例 34
3.2.1 背景知识 35
3.2.2 CVE-2018-15664:符号链接替换漏洞 35
3.2.3 CVE-2019-14271:加载不受信任的动态链接库 39
3.3 针对容器软件供应链的攻击案例 43
3.3.1 镜像漏洞利用 44
3.3.2 镜像投毒 45
3.4 针对运行时容器的攻击案例 48
3.4.1 容器逃逸 48
3.4.2 安全容器逃逸 58
3.4.3 资源耗尽型攻击 73
3.5 本章小结 79
第4章 容器编排平台的风险分析 80
4.1 容器编排平台面临的风险 80
4.1.1 容器基础设施存在的风险 81
4.1.2 Kubernetes组件接口存在的风险 82
4.1.3 集群网络存在的风险 84
4.1.4 访问控制机制存在的风险 84
4.1.5 无法根治的软件漏洞 85
4.2 针对Kubernetes组件不安全配置的攻击案例 85
4.2.1 Kubernetes API Server未授权访问 85
4.2.2 Kubernetes Dashboard未授权访问 86
4.2.3 Kubelet未授权访问 87
4.3 针对Kubernetes权限提升的攻击案例 88
4.3.1 背景知识 88
4.3.2 漏洞分析 90
4.3.3 漏洞复现 94
4.3.4 漏洞修复 101
4.4 针对Kubernetes的拒绝服务攻击案例 102
4.4.1 CVE-2019-11253:YAML炸弹 102
4.4.2 CVE-2019-9512/9514:HTTP/2协议实现存在问题 105
4.5 针对Kubernetes网络的中间人攻击案例 110
4.5.1 背景知识 112
4.5.2 原理描述 115
4.5.3 场景复现 117
4.5.4 防御策略 123
4.6 本章小结 124
第5章 云原生应用的风险分析 125
5.1 云原生应用风险概述 125
5.2 传统应用的风险分析 125
5.3 云原生应用的新风险分析 126
5.3.1 数据泄露的风险 126
5.3.2 未授权访问的风险 128
5.3.3 拒绝服务的风险 129
5.4 云原生应用业务的新风险分析 130
5.4.1 未授权访问的风险 130
5.4.2 API滥用的风险 131
5.5 Serverless的风险分析 131
5.5.1 Serverless特征带来的风险 131
5.5.2 Serverless应用风险 132
5.5.3 Serverless平台风险 132
5.5.4 Serverless被滥用的风险 154
5.6 本章小结 155
第6章 典型云原生安全事件 156
6.1 特斯拉Kubernetes挖矿事件 156
6.1.1 事件分析 156
6.1.2 总结与思考 158
6.2 微软监测到大规模Kubernetes挖矿事件 160
6.2.1 事件分析 160
6.2.2 总结与思考 162
6.3 Graboid蠕虫挖矿传播事件 164
6.3.1 事件分析 164
6.3.2 总结与思考 166
6.4 本章小结 167
第三部分 云原生安全防护思路和体系
第7章 云原生防护思路转变 170
7.1 变化:容器生命周期 170
7.2 安全左移 171
7.3 聚焦不变 171
7.4 关注业务 173
7.5 本章小结 174
第8章 云原生安全体系 175
8.1 体系框架 175
8.2 安全组件简介 176
第9章 左移的安全机制 178
9.1 开发安全 178
9.2 软件供应链安全 178
9.3 容器镜像安全 179
9.3.1 容器镜像安全现状 179
9.3.2 容器镜像安全防护 180
9.4 本章小结 182
第四部分 云原生可观测性
第10章 可观测性概述 184
10.1 为什么需要实现云原生可观测性 184
10.2 需要观测什么 185
10.3 实现手段 186
10.4 本章小结 187
第11章 日志审计 188
11.1 日志审计的需求与挑战 188
11.1.1 需求分析 188
11.1.2 面临的挑战 189
11.2 Docker日志审计 189
11.3 Kubernetes日志审计 192
11.3.1 应用程序日志 192
11.3.2 系统组件日志 193
11.3.3 日志工具 194
11.4 本章小结 195
第12章 监控 196
12.1 云原生架构的监控挑战 196
12.2 监控指标 197
12.3 监控工具 198
12.3.1 cAdvisor和Heapster 199
12.3.2 Prometheus 199
12.4 本章小结 200
第13章 追踪 201
13.1 动态追踪 201
13.2 eBPF 203
13.2.1 eBPF原理与架构 204
13.2.2 eBPF验证器 206
13.2.3 eBPF程序类型 207
13.2.4 eBPF工具 208
13.2.5 小结 210
13.3 基于BPFTrace实现动态追踪 211
13.3.1 探针类型 212
13.3.2 如何使用BPFTrace进行追踪 214
13.4 微服务追踪 219
13.4.1 微服务追踪概述 219
13.4.2 分布式追踪 220
13.4.3 微服务追踪实现示例 220
13.5 本章小结 222
第五部分 容器基础设施安全
第14章 Linux内核安全机制 224
14.1 隔离与资源管理技术 224
14.1.1 内核命名空间 224
14.1.2 控制组 224
14.2 内核安全机制 225
14.2.1 Capabilities 225
14.2.2 Seccomp 225
14.2.3 AppArmor 226
14.2.4 SELinux 226
14.3 本章小结 227
第15章 容器安全加固 228
15.1 概述 228
15.2 容器安全配置 228
15.3 本章小结 229
第16章 容器环境的行为异常检测 230
16.1 基于规则的已知威胁检测 230
16.1.1 检测系统设计 231
16.1.2 基于规则的检测实战:CVE-2019-5736 232
16.1.3 小结 234
16.2 基于行为模型的未知威胁检测 234
16.2.1 检测系统架构 235
16.2.2 学习与检测流程 237
16.2.3 基线设计 238
16.2.4 小结 240
16.3 本章小结 240
第六部分 容器编排平台安全
第17章 Kubernetes安全加固 242
17.1 API Server认证 242
17.1.1 静态令牌文件 242
17.1.2 X.509 客户端证书 243
17.1.3 服务账号令牌 243
17.1.4 OpenID Connect令牌 245
17.1.5 身份认证代理 246
17.1.6 Webhook令牌身份认证 247
17.1.7 小结 248
17.2 API Server授权 249
17.3 准入控制器 252
17.4 Secret对象 256
17.5 网络策略 257
17.6 本章小结 259
第18章 云原生网络安全 260
18.1 云原生网络架构 260
18.1.1 基于端口映射的容器主机网络 260
18.1.2 基于CNI的Kubernetes集群网络 260
18.1.3 服务网格 261
18.2 基于零信任的云原生网络微隔离 261
18.2.1 什么是微隔离 262
18.2.2 云原生为什么需要微隔离 262
18.2.3 云原生网络的微隔离实现技术 263
18.2.4 云原生网络入侵检测 265
18.3 基于Cilium的网络安全方案示例 266
18.3.1 Cilium架构 266
18.3.2 Cilium组网模式 268
18.3.3 Cilium在Overlay组网下的通信示例 268
18.3.4 API感知的安全性 272
18.4 本章小结 277
第七部分 云原生应用安全
第19章 面向云原生应用的零信任安全 280
19.1 什么是信任 280
19.2 真的有零信任吗 282
19.3 零信任的技术路线 282
19.4 云化基础设施与零信任 284
19.5 云原生环境零信任架构 286
19.6 本章小结 287
第20章 传统应用安全 289
20.1 应用程序代码漏洞缓解 289
20.1.1 安全编码 290
20.1.2 使用代码检测工具 290
20.2 应用程序依赖库漏洞防护 290
20.2.1 使用受信任的源 290
20.2.2 使用软件组成分析工具 290
20.3 应用程序访问控制 291
20.4 应用程序数据安全防护 291
20.4.1 安全编码 291
20.4.2 使用密钥管理系统 292
20.4.3 使用安全协议 292
20.5 本章小结 292
第21章 API安全 293
21.1 传统API防护 293
21.2 API脆弱性检测 293
21.3 云原生API网关 294
21.4 本章小结 295
第22章 微服务架构下的应用安全 296
22.1 认证服务 297
22.1.1 基于JWT的认证 297
22.1.2 基于Istio的认证 298
22.2 访问控制 306
22.2.1 基于角色的访问控制 306
22.2.2 基于Istio的访问控制 306
22.3 数据安全 310
22.4 其他防护机制 310
22.4.1 Istio和API网关协同的全面防护 311
22.4.2 Istio与WAF结合的深度防护 312
22.5 本章小结 314
第23章 云原生应用业务和Serverless安全 315
23.1 云原生应用业务安全 315
23.2 Serverless应用安全防护 316
23.3 Serverless平台安全防护 317
23.3.1 使用云厂商提供的存储最佳实践 318
23.3.2 使用云厂商的监控资源 318
23.3.3 使用云厂商的账单告警机制 318
23.4 Serverless被滥用的防护措施 318
23.5 其他防护机制 319
23.5.1 Serverless资产业务梳理 319
23.5.2 定期清理非必要的Serverless实例 319
23.5.3 限制函数策略 319
23.6 本章小结 319
第24章 云原生应用场景安全 320
24.1 5G安全 320
24.2 边缘计算安全 323
24.3 工业互联网安全 327
24.4 本章小结 327
后记 云原生安全实践与未来展望 328
参考文献 331

教学资源推荐
作者: 【英】基思 M.马丁(Keith M. Martin)著
作者: [美] 查克·伊斯特姆 (Chuck Easttom)著
作者: 林璟锵 郑昉昱 王伟 刘哲 王琼霄 著
作者: [美] 威廉·斯托林斯(William Stallings)[澳] 劳里·布朗(Lawrie Brown) 著
参考读物推荐
作者: (美)John Viega Gary McGraw著
作者: (美) Robert Hillard 著
作者: 沙梓社 吴航 著