求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Kubernetes安全指南查看源代码讨论查看历史

跳转至: 导航搜索

来自 孔夫子网 的图片

Kubernetes安全指南》,[英] 安德鲁,马丁(Andrew Martin),[奥地利] 迈克尔,豪森布拉斯(Michael Hausenblas) 著,刘吉安,常峥,成海霞 译,出版社: 中国电力出版社。

书,是历史的见证、文化的赋形、知识的宝库、智慧[1]的结晶,是一个民族一个国家显示其文明的标志。读书,是时代的呼唤、历史的昭示、职责的要求,是一个民族一个国家走向伟大复兴的证明[2]

内容简介

本书从具有内置默认设置的Vanilla Kubernetes开始,你将检查运行任意工作负载的分布式系统的抽象威胁模型,然后对安全Kubernetes系统的每个组件进行详细评估。本书的主要内容有:通过威胁建模来了解Kubernetes系统的漏洞。聚焦pod,从配置到攻防。保护你的集群和工作负载流量。使用RBAC、OPA和Kyverno定义和实施策略。深入研究沙箱和隔离技术。了解如何检测和减轻供应链攻击。探索静态文件系统、卷和敏感信息。发现在集群中运行多租户工作负载时可能出现的问题。了解即使你已采取控制措施,如果有攻击者闯入,你可以做什么。

目录

前言 1

目录

第1 章 概述 9

1.1 场景介绍10

1.2 威胁模型12

1.2.1 威胁主体 .13

1.2.2 第一个威胁模型 16

1.3 关于攻击树 19

1.4 攻击树案例 20

1.5 现有的技术 23

1.6 小结 .24

第2 章 pod 资源详情 25

2.1 默认配置25

2.2 威胁模型27

2.3 对攻击的剖析 .28

2.3.1 远程代码执行 28

2.3.2 网络攻击面 29

2.4 Kubernetes 工作负载:pod 中的应用程序 31

2.5 什么是pod ? .33

2.6 了解容器37

2.6.1 共享网络和存储 39

2.6.2 最坏的情况可能会是什么? .40

2.6.3 容器逃逸 .44

2.7 pod 配置和威胁 .47

2.7.1 pod 头部 48

2.7.2 反向正常运行时间 .49

2.7.3 标签 50

2.7.4 托管字段 .50

2.7.5 pod 命名空间和所有者 .51

2.7.6 环境变量 .51

2.7.7 容器镜像 .52

2.7.8 pod 探针 55

2.7.9 CPU 和内存限制和请求 55

2.7.10 DNS .56

2.7.11 pod securityContext .59

2.7.12 pod Sevice Accounts 61

2.7.13 调度器和容忍度 61

2.7.14 pod 卷定义 62

2.7.15 pod 网络状态 63

2.8 正确使用securityContext .63

2.8.1 使用Kubesec 增强securityContext 65

2.8.2 强化的securityContext .66

2.9 进入风暴中心 .72

2.10 小结 72

第3 章 容器运行时隔离 .75

3.1 默认配置76

3.2 威胁模型76

3.3 容器,虚拟机和沙盒 79

3.3.1 虚拟机是如何工作的.81

3.3.2 虚拟化的好处 84

3.3.3 容器有哪些问题? .85

3.3.4 用户命名空间缺陷 .86

3.4 沙盒化(sandboxing) 91

3.4.1 gVisor 94

3.4.2 Firecracker 102

3.4.3 Kata Container 103

3.4.4 rust-vmm 105

3.5 沙盒化的风险 107

3.6 Kubernetes 运行时类 107

3.7 本章小结. 108

第4 章 应用程序和供应链 111

4.1 默认配置. 112

4.2 威胁模型. 112

4.3 供应链 . 113

4.3.1 软件 . 117

4.3.2 扫描CVE . 118

4.3.3 采用开源软件 . 119

4.3.4 我们应该相信哪些生产商? 120

4.4 CNCF 安全技术咨询组 122

4.4.1 架构容器化应用以提高弹性 122

4.4.2 检测木马 123

4.5 攻击供应链 124

4.5.1 攻击的持续性 . 126

4.5.2 系统面临的风险 127

4.6 容器镜像构建供应链 128

4.6.1 软件工厂 128

4.6.2 神圣的镜像工厂 129

4.6.3 基础镜像 130

4.7 容器供应链的状态 . 132

4.7.1 来自第三方代码的风险 . 133

4.7.2 软件材料清单 . 134

4.7.3 人类身份和GPG 136

4.8 对构建和元数据签名 137

4.8.1 Notary v1 137

4.8.2 sigstore 137

4.8.3 in-toto 和TUF 139

4.8.4 GCP 二进制授权 140

4.8.5 Grafeas 140

4.9 基础设施供应链 . 140

4.9.1 Operator 权限 .140

4.9.2 攻击上游供应链 141

4.10 供应链攻击的类型 142

4.10.1 摄取开源代码 144

4.10.2 贯穿SDLC 的应用程序漏洞 146

4.11 防御SUNBURST .147

4.12 小结 150

第5 章 网络 . 151

5.1 默认配置. 152

5.1.1 pod 内网络 154

5.1.2 pod 间通信 155

5.1.3 pod 与工作节点间的流量 . 155

5.1.4 集群外部流量 . 156

5.1.5 ARP 的状态 .157

5.1.6 无securityContext 158

5.1.7 无工作负载身份 159

5.1.8 无网络传输加密 159

5.2 威胁模型. 160

5.3 流量流向控制 161

5.3.1 安装 . 161

5.3.2 网络策略前来救援! 165

5.4 服务网格. 168

5.4.1 概念 . 168

5.4.2 选项和采用 . 168

5.4.3 案例研究:使用Linkerd 的mTLS 170

5.5 eBPF . 173

5.5.1 概念 . 173

5.5.2 选项和采用 . 174

5.5.3 案例研究:将探针附加到Go 程序 . 175

5.6 小结 177

第6 章 存储 . 179

6.1 默认配置. 180

6.2 威胁模型. 180

6.3 卷和数据存储 183

6.3.1 一切皆是字节流 183

6.3.2 何为文件系统? 184

6.3.3 容器中的卷和挂载 186

6.3.4 OverlayFS 186

6.3.5 tmpfs 188

6.3.6 挂载卷打破了容器隔离 . 190

6.3.7 基于/proc/self/exe 的漏洞 193

6.4 静态的敏感信息 . 195

6.4.1 Secret 挂载 195

6.4.2 攻击挂载的Secret 196

6.5 Kubernetes 存储 197

6.5.1 容器存储接口 . 197

6.5.2 投射卷 198

6.5.3 攻击卷 200

6.5.4 主机目录挂载的风险 202

6.5.5 从数据存储中泄露的其他Secret 203

6.6 小结 203

第7 章 硬性多租户 205

7.1 默认配置. 206

7.2 威胁模型. 206

7.3 命名空间资源 207

7.3.1 节点池 208

7.3.2 节点污点 210

7.4 软性多租户 212

7.5 硬性多租户 213

7.5.1 敌对租户 213

7.5.2 沙盒和策略 . 214

7.5.3 公有云多租户 . 215

7.6 控制平面. 216

7.6.1 API server 和etcd .218

7.6.2 调度器和控制器管理器 . 220

7.7 数据平面. 223

7.8 集群隔离架构 225

7.9 集群支持服务和工具环境 . 227

7.10 安全监控和可见性 227

7.11 小结 228

第8 章 策略 . 229

8.1 策略的类型 230

8.2 云服务提供商 230

8.2.1 网络流量 232

8.2.2 限制资源分配 . 232

8.2.3 资源配额 232

8.2.4 运行时策略 . 233

8.2.5 访问控制策略 . 234

8.3 威胁模型. 234

8.4 普遍预期. 235

8.4.1 碎玻璃场景 . 235

8.4.2 审计 . 236

8.5 认证和授权 236

8.5.1 人类用户 238

8.5.2 工作负载身份 . 238

8.6 基于角色的访问控制(RBAC) 242

8.6.1 RBAC 回顾 . 242

8.6.2 一个简单的RBAC 例子 243

8.6.3 创建RBAC . 245

8.6.4 分析和可视化RBAC 248

8.6.5 RBAC 相关的攻击 250

8.7 通用策略引擎 251

8.7.1 开放策略代理(OPA) .251

8.7.2 Kyverno . 258

8.7.3 其他策略方案 . 260

8.8 小结 261

第9 章 入侵检测 . 263

9.1 默认配置. 264

9.2 威胁模型. 264

9.3 传统的IDS 265

9.4 基于eBPF 的IDS 267

9.4.1 Kubernetes 和容器入侵检测 268

9.4.2 Falco 268

9.5 基于机器学习方法的IDS 271

9.6 容器取证. 271

9.7 蜜罐技术. 274

9.8 审计 276

9.9 检测规避. 277

9.10 安全运营中心 279

9.11 小结 279

第10 章 组织 281

10.1 最薄弱的连接点 282

10.2 云服务提供商 284

10.2.1 责任共担 285

10.2.2 账户卫生 286

10.2.3 对人员和资源进行分组 287

10.2.4 其他注意事项 289

10.3 本地环境 290

10.4 常见注意事项 292

10.4.1 威胁模型爆炸 292

10.4.2 SLO 如何给你带来额外的压力 295

10.4.3 社会工程 295

10.4.4 隐私和监管问题 . 298

10.5 小结 298

附录A pod 级攻击 . 299

附录B 资源 315

参考文献

  1. 关于智慧的名言,人生屋,2013-07-15
  2. 书籍是文化的载体,豆丁网,2013-01-14