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