雲原生安全:攻防實踐與體系構建

劉文懋//江國龍//浦明//阮博男//葉曉虎

  • 出版商: 機械工業
  • 出版日期: 2021-10-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 330
  • 裝訂: 平裝
  • ISBN: 7111691830
  • ISBN-13: 9787111691839
  • 相關分類: DevOpsKubernetes雲端運算
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書介紹了雲原生的容器基礎設施、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 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