本書闡述企業(yè)實踐DevSecOps所需的理論、技術和方法,首先從軟件工程發(fā)展趨勢,尤其是敏捷、DevOps等領域的發(fā)展趨勢出發(fā),結合DevOps實踐、DevSecOps相關報告和標準,闡述DevSecOps理念;然后解讀DevSecOps最佳實踐,根據(jù)DevSecOps最佳實踐涉及的重點階段和相關技術講解平臺設計與工具應用,并結合開源、云原生等領域的流行工具介紹DevSecOps工具鏈及平臺建設方法;最后以作者的實戰(zhàn)經(jīng)驗和業(yè)界的實踐案例介紹DevSecOps的實施方法。
第 1章 DevOps 基礎 1
1.1 從瀑布到敏捷,從敏捷到DevOps 1
1.1.1 軟件的生產(chǎn)力 1
1.1.2 從瀑布到敏捷 1
1.1.3 DevOps 的源起 2
1.2 DevOps 的實踐方法論 3
1.2.1 DevOps 的 3 個原則 3
1.2.2 DevOps 的 5 個理念 3
1.3 DevOps 解決的問題 4
1.3.1 縮短市場響應時間 4
1.3.2 減少技術債務 4
1.3.3 消除系統(tǒng)脆弱性 5
1.4 DevOps 現(xiàn)狀及發(fā)展趨勢 5
1.4.1 中國 DevOps 現(xiàn)狀 5
1.4.2 DevOps 發(fā)展方向 10
1.5 DevOps 相關標準規(guī)范 11
1.5.1 DevOps 能力成熟度模型 11
1.5.2 DevOps 解決方案標準 13
1.5.3 信息技術服務開發(fā)運維技術要求 15
第 2章 從安全視角看 DevOps 18
2.1 從 SDL 到 DevSecOps 18
2.1.1 DevOps 對 SDL 的挑戰(zhàn) 19
2.1.2 SRE 與 DevOps 20
2.1.3 DevSecOps 支撐體系 20
2.1.4 DevSecOps 工作過程的六大要點 22
2.1.5 DevSecOps 的三層方法論 23
2.2 DevSecOps 現(xiàn)狀及發(fā)展趨勢 27
2.2.1 云安全與 DevSecOps 27
2.2.2 安全軟件開發(fā)框架 SSDF 29
2.2.3 《GitLab 第四次全球 DevSecOps年度調(diào)查》報告解讀 31
2.2.4 《研發(fā)運營安全白皮書》解讀 32
2.2.5 DevSecOps 技術發(fā)展趨勢預測 33
2.3 軟件供應鏈安全與 DevSecOps 34
2.3.1 軟件供應鏈安全問題 35
2.3.2 軟件供應鏈的生命周期 35
2.3.3 開源和云原生時代下的軟件供應鏈 36
2.3.4 國外軟件供應鏈安全發(fā)展現(xiàn)狀 36
2.3.5 國內(nèi)軟件供應鏈安全發(fā)展現(xiàn)狀 37
2.3.6 軟件供應鏈攻擊類型 37
2.3.7 軟件供應鏈風險分析 39
2.3.8 應用 DevSecOps 應對軟件供應鏈安全風險 40
2.3.9 軟件供應鏈安全最新發(fā)展趨勢 45
第3章 DevSecOps 最佳實踐 51
3.1 構建安全與安全左移 51
3.1.1 安全左移 51
3.1.2 安全意識與教育 51
3.1.3 常見漏洞列表 52
3.1.4 安全演練 53
3.1.5 結對編程和同行評審 53
3.1.6 Scrum 中的安全性 54
3.1.7 代碼審計 55
3.2 安全架構 56
3.2.1 自適應安全架構 56
3.2.2 零信任模型 58
3.2.3 ATT&CK 框架 59
3.2.4 CSMA 59
3.3 安全設計 60
3.3.1 核心安全設計原則 61
3.3.2 威脅建模 61
3.3.3 微服務安全 64
3.3.4 API 安全 66
3.3.5 容器安全 71
3.3.6 流水線安全 76
3.4 持續(xù)安全 79
3.4.1 測試驅動安全 79
3.4.2 攻擊監(jiān)控與應對 81
3.4.3 實現(xiàn)持續(xù)的安全性 84
3.5 安全自動化 84
3.5.1 實現(xiàn)自動化 84
3.5.2 應用安全測試 85
3.5.3 移動應用安全測試 85
3.5.4 基礎設施安全測試 86
3.6 云原生安全 87
3.6.1 云原生安全的定義 87
3.6.2 Gartner 的云安全體系 87
3.6.3 云原生應用的供應鏈安全 88
3.6.4 容器技術安全基準 88
3.6.5 混沌工程思想 89
3.6.6 云上安全部署 92
3.6.7 灰度發(fā)布 97
3.7 零信任網(wǎng)絡安全 98
3.7.1 零信任 99
3.7.2 微隔離 99
3.8 安全度量 102
3.8.1 軟件安全成熟度發(fā)展史 102
3.8.2 軟件安全構建成熟度模型 103
3.8.3 可信研發(fā)運營安全能力成熟度模型 106
第4章 DevSecOps 平臺設計與工具應用 118
4.1 DevSecOps 模型設計 118
4.1.1 概念模型 118
4.1.2 分層模型 118
4.1.3 架構模型 119
4.2 DevSecOps 工具鏈設計 120
4.2.1 計劃階段 121
4.2.2 創(chuàng)建階段 121
4.2.3 驗證階段 121
4.2.4 準生產(chǎn)階段 122
4.2.5 發(fā)布階段 123
4.2.6 配置階段 123
4.2.7 檢測階段 123
4.2.8 響應階段 124
4.2.9 預報階段 124
4.2.10 調(diào)整階段 124
4.3 代碼安全托管與代碼安全 125
4.3.1 高可用的 GitLab 125
4.3.2 代碼安全托管 130
4.3.3 SAST 134
4.4 開源組件管理與開源治理 137
4.4.1 SCA 工具選型 137
4.4.2 SCA 工具應用 141
4.4.3 開源治理體系與平臺建設 144
4.5 API 安全防護 145
4.5.1 API 安全防護措施 146
4.5.2 API 安全工具 146
4.6 制品庫管理 147
4.6.1 制品與制品庫 147
4.6.2 制品庫管理需要解決的問題 147
4.6.3 制品庫管理要求 148
4.7 原生安全防護 148
4.7.1 原生主機安全 148
4.7.2 原生容器安全 150
4.7.3 原生應急響應和取證 151
4.8 DAST 153
OWASP ZAP 154
4.9 IAST 154
4.9.1 IAST 的檢測方式 154
4.9.2 IAST 的漏洞發(fā)現(xiàn)能力 155
4.9.3 IAST 工具的基本能力要求 155
4.9.4 IAST 與 DevSecOps 流程的整合 156
4.9.5 IAST 與 SCA 工具的集成 156
4.10 RASP 157
4.10.1 RASP 技術原理 158
4.10.2 OpenRASP 158
4.10.3 RASP 與 DevSecOps 流程的整合 159
4.11 入侵與攻擊模擬 160
4.11.1 人工滲透測試的限制 160
4.11.2 云滲透測試 161
4.11.3 紫隊 161
4.11.4 自動化入侵與攻擊模擬 162
4.11.5 有效的入侵與攻擊模擬 163
4.11.6 XM Cyber 163
4.12 以安全為中心的流量分析 164
4.12.1 網(wǎng)絡安全監(jiān)控需求 164
4.12.2 DPI 164
4.12.3 基于 nDPI 的流量處理 165
4.12.4 應用場景 166
4.12.5 云原生安全網(wǎng)格平臺 166
4.13 混沌工程 169
4.13.1 生產(chǎn)環(huán)境中的問題 169
4.13.2 實施混沌工程的原則 169
4.13.3 混沌工程測試平臺能力 170
4.13.4 混沌工程工具 170
4.14 網(wǎng)絡安全演練 171
4.15 全鏈路壓測 172
4.15.1 性能測試的新挑戰(zhàn) 172
4.15.2 全鏈路壓測技術 172
4.15.3 監(jiān)控分析技術 173
4.15.4 開源全鏈路壓測平臺Takin 173
4.16 DevSecOps 平臺建設方法 174
4.16.1 “一站式”能力建設 174
4.16.2 “云平臺+開源軟件”的DevSecOps 框架構建 174
4.16.3 構建“黃金管道” 175
4.16.4 人工智能與 DevSecOps 176
4.17 基于 GitLab 集成工具鏈實現(xiàn) DevSecOps 176
4.17.1 GitLab 集成工具鏈實現(xiàn)安全的 DevOps 177
4.17.2 GitLab 集成工具鏈實現(xiàn) GitOps 模式 183
第5章 實踐案例 186
5.1 某企業(yè)持續(xù)集成項目 186
5.1.1 項目背景 186
5.1.2 解決方案 186
5.2 某電網(wǎng)公司 DevSecOps 體系建設 189
5.2.1 背景 189
5.2.2 體系設計方法 189
5.2.3 需求分析 190
5.2.4 總體設計目標 191
5.2.5 核心設計內(nèi)容 191
5.2.6 專題設計 193
5.3 某電信運營商公司 DevOps 平臺規(guī)劃 202
5.3.1 平臺建設目標 202
5.3.2 平臺建設范圍 203
5.3.3 平臺需求分析和規(guī)劃設計 203
5.3.4 平臺技術實現(xiàn)方案 209
5.4 雙模發(fā)布管理平臺的設計與應用 213
5.4.1 產(chǎn)生背景 213
5.4.2 雙模發(fā)布管理平臺設計 215
5.4.3 案例及功能說明 217