当前位置: 首页 > news >正文

【新书速递】国内首本!系统全面介绍DevSecOps落地实践

feadece68cd4876fe5f6a06cfa7a17e0.gif

12年前,DevOps(研发运维一体化)作为精益和敏捷之后的另一个全新的方法论被提出,并且走进了软件开发的世界。作为DevOps的核心理念,持续交付帮助企业通过自动化和更好的团队协作实现了快速交付。之后出现的微服务让DevOps摆脱了单一架构模式下各个模块的依赖关系,从而使得交付速度更上一层楼。而云原生的出现不仅降低了基础设施的成本,也使得系统的运维和运营更加稳定。经过过去10多年的发展,企业的DevOps已经逐渐成熟。大家突然发现,除了速度和质量外,安全对于企业来说也同等重要。而且传统应用安全保护模式已经不适应DevOps模式下的快速交付了,甚至逐渐成为快速交付继续进阶的瓶颈。为了解决这个问题,2012年就被提出来的DevSecOps于2017年开始在世界范围内逐渐流行起来。

然而,DevSecOps横跨研发效能和安全两个领域,过去这种复合型人才几乎不存在。从事研发效能的专家将安全引入开发流程的各个阶段,以及从事应用安全的专家将安全在开发团队进行落地,都需要额外的技能和大胆的尝试。由于实践DevSecOps的挑战巨大和难度极高,虽然经历了三四年的发展,不仅国外DevSecOps相关的书籍甚少,国内至今仍无一本全面并且系统地介绍DevSecOps落地实践的书籍。《DevSecOps实战》应运而生。

ccf1fb8c770ebeeedc18f4d1a60f0ff2.png


本书特色

本书采取了与大部分技术书不同的编写方式。书中杜撰了一个简单的故事,讲述了两位发小,作为研发效能和安全专家在比较有代表性的互联网公司(灰石网络)和金融企业(德富银行)落地DevSecOps的经历。通过故事里实践DevSecOps过程中抛出的问题和痛点,引出各章的相关内容和解决方案,让读者更有实际工作场景的代入感。

本书的作者都是拥有DevSecOps相关工具开发或者落地实践经验的资深专家和高级管理者,却又来自不同的领域(DevOps和应用安全)和不同的行业(互联网和金融)。由于DevSecOps本身是跨越软件开发、研发效能和应用安全等不同领域的全新方法论,并且在不同行业的落地目标和方式也有所不同,因此本书的作者群体正好可以从不同角度对DevSecOps的实践和落地进行全方位覆盖。其目标是不仅使来自不同行业的开发和DevOps背景的读者了解DevSecOps相关安全理念和实践,也使来自不同行业信息安全背景的读者了解如何进行安全前置,最终将安全意识和能力落地开发团队。


读者对象

  • 研发效能工程师

  • 研发效能架构师

  • 研发效能管理人员

  • 敏捷和研发效能教练

  • 应用安全工程师

  • 应用安全架构师

  • 应用安全管理人员

  • 开发、测试和运维人员

  • 对研发效能和应用安全感兴趣的其他人员


作者介绍


周纪海  

英国伦敦帝国理工学院博士,拥有10年以上多家国际大型银行(巴克莱银行、 汇丰银行等)和腾讯的DevOps/DevSecOps转型和落地的工作经验。从2018-2021年,在国内外30多个技术峰会、论坛和社区上分享过DevOps和DevSecOps经验。

周一帆  

汇丰科技中国高级信息安全分析师、注册信息安全工程师、云安全工程师。在中国和新加坡拥有多年的金融科技与信息安全行业工作经验。目前主要从事应用系统架构安全审查、安全风险评估和DevSecOps的实施与落地工作。

马松松  

腾讯安全专家,拥有13年基础安全领域的工作经验。目前团队主要负责研发漏洞管控相关的规范、流程以及自动化系统的建设和运营工作。自2019年开始关注和推动DevSecOps在腾讯内部的探索和落地。

陶 芬 

武汉大学信息安全专业硕士,在国内大型互联网公司百度工作十余年,负责企业内DevSecOps落地和数据安全能力建设以及运营实践。

伟强  

汇丰科技中国信息安全部门总负责人,在大型跨国金融信息安全领域工作15年,主要研究方向包括安全开发、安全架构以及威胁建模等。


内容鲜读

安全工具在CICD自动化流水线上的集成

7393a93a8c7303286514037e7d5bc36d.png

图3-7 

架构安全风险评估体系建设

09cddaf154f8078f7a048bb5ea870a15.png

图6-10 

DevSecOps度量平台建设

95e3e136161b4941d03309bd1c24c772.png

图8-2

 目 录

前言

第1章 DevSecOps的演进与落地思考1

1.1DevOps简介4

1.1.1DevOps发展简史5

1.1.2DevOps理念6

1.2DevSecOps简介7

1.2.1 从DevOps到DevSecOps7

1.2.2 从SDL到DevSecOps11

1.2.3DevSecOps的指导原则14

1.2.4DevSecOps实践17

1.3 互联网行业推动DevSecOps的动机与目标 21

1.4 金融行业推动DevSecOps的动机与目标 22

1.5 总结23

第2章 DevSecOps的实施解决方案和体系建设24

2.1DevSecOps现状调研26

2.1.1DevSecOps的行业调研26

2.1.2 企业现状调研29

2.2 流程和方法论:敏捷开发与CI/CD34

2.2.1 敏捷开发34

2.2.2 持续集成、持续交付和持续部署40

2.3 技术:工具与自动化41

2.3.1 项目管理工具41

2.3.2 源代码管理工具42

2.3.3 静态代码扫描工具42

2.3.4 静态应用安全测试工具43

2.3.5 持续集成工具44

2.3.6 构建工具44

2.3.7 制品管理工具45

2.3.8 第三方安全扫描工具45

2.3.9 自动化测试工具45

2.3.10 动态安全测试工具46

2.3.11 交互式安全测试工具46

2.3.12 自动化配置/发布工具46

2.3.13 日志分析工具47

2.3.14 监控工具47

2.3.15DevSecOps工具链48

2.4 文化与组织结构50

2.4.1DevSecOps的文化和挑战50

2.4.2DevSecOps的组织结构和角色50

2.5DevSecOps框架与模型的建立52

2.5.1DevSecOps的运营模型 52

2.5.2DevSecOps的实现模型54

2.5.3DevSecOps的成熟度模型54

2.6 总结56

第3章 DevSecOps转型—从研发入手57

3.1 安全意识和能力提升60

3.1.1 安全意识61

3.1.2 安全能力61

3.1.3 隐私合规63

3.2 安全编码64

3.2.1 默认安全64

3.2.2 安全编码规范64

3.2.3 安全函数库和安全组件65

3.2.4 框架安全65

3.3 源代码管理和安全66

3.3.1 源代码安全管理67

3.3.2 分支策略67

3.3.3 代码评审74

3.4 持续集成75

3.4.1 编译构建和开发环境安全76

3.4.2 持续集成流水线76

3.4.3 安全能力在流水线上的融入78

3.5 代码质量和安全分析79

3.5.1 静态代码质量分析79

3.5.2 静态应用安全测试81

3.5.3 软件成分分析83

3.6 制品管理及安全85

3.7 总结87

第4章 持续测试和安全88

4.1 持续测试—DevOps时代的高效测试之钥90

4.1.1 测试效率面临着巨大挑战91

4.1.2 什么是持续测试92

4.1.3 如何实现持续测试92

4.2 测试执行提效之自动化测试93

4.2.1 分层的自动化测试策略93

4.2.2 单元测试95

4.2.3 接口测试98

4.2.4UI测试100

4.2.5 其他自动化测试101

4.3 测试执行提效之精准测试101

4.4 测试流程提效:迭代内测试102

4.4.1 持续测试带来流程上的变革要求102

4.4.2 如何实践迭代内测试103

4.5 持续测试下的“左移”和“右移”104

4.5.1 测试左移104

4.5.2 测试右移106

4.5.3 “左移”“右移”不等于“去测试化”107

4.6 应用安全测试左移108

4.6.1 动态应用安全测试108

4.6.2 交互式应用安全测试112

4.7DevSecOps影响着测试的方方面面116

4.7.1 测试分类116

4.7.2 质量度量118

4.7.3 组织架构120

4.7.4 团队文化121

4.8 总结122

第5章 业务与安全需求管理123

5.1 业务功能需求管理125

5.1.1 需求的收集与筛选126

5.1.2 需求的分析127

5.1.3 需求排期130

5.1.4 需求描述和文档130

5.1.5 需求拆分132

5.1.6 需求评审132

5.1.7 需求状态管理133

5.1.8 需求管理工具134

5.1.9 临时/紧急需求134

5.2 安全需求管理135

5.2.1 需求的安全分类136

5.2.2 需求的安全评审138

5.3 总结143

第6章 进一步左移—设计与架构144

6.1 为什么需要微服务架构147

6.1.1 单体架构的局限性148

6.1.2 微服务架构的优势149

6.1.3 微服务与DevOps的关系149

6.1.4 微服务化的实施路线151

6.2 微服务拆分与设计151

6.2.1 微服务拆分原则151

6.2.2 微服务设计原则152

6.2.3 微服务拆分方法152

6.3 微服务开发与组合:微服务开发框架154

6.3.1Spring Cloud微服务架构154

6.3.2Service Mesh微服务架构157

6.4 微服务改造:单体系统重构160

6.4.1 改造策略160

6.4.2 微服务改造的关键要素161

6.4.3 微服务改造的实施步骤161

6.5 安全设计与架构安全162

6.5.1 安全风险评估体系的建立162

6.5.2 项目的分类定义164

6.6 快速检查表的使用166

6.7 完整风险评估—威胁建模169

6.7.1 识别资产170

6.7.2 创建架构设计概览171

6.7.3 分析应用系统171

6.7.4 识别威胁172

6.7.5 记录威胁175

6.7.6 威胁评级176

6.7.7 威胁建模的工具与自动化180

6.8 合规性检查184

6.9 总结186

第7章 DevSecOps运维和线上运营187

7.1 配置和环境管理189

7.1.1 基础设施即代码190

7.1.2 配置的安全管理原则191

7.1.3 安全的计算环境192

7.2 发布部署策略193

7.3 持续监控和安全195

7.3.1 业务和应用层级的持续监控196

7.3.2 安全监控197

7.3.3 统一监控平台的建立198

7.4 日志分析198

7.4.1 日志管理的挑战199

7.4.2 日志平台建设199

7.4.3 日志的安全200

7.5 事件响应与业务的连续性202

7.5.1 信息安全应急响应机制202

7.5.2 业务的连续性206

7.6 身份认证和访问控制208

7.6.1 身份认证与访问控制的方式及对应问题208

7.6.2 统一的身份认证与访问管理214

7.7 数据管理和安全216

7.7.1 数据本身的安全216

7.7.2 数据的安全防护218

7.7.3 大数据安全220

7.7.4 数据治理与合规222

7.8 安全众测225

7.9 红蓝对抗227

7.10DevOps平台的安全229

7.11RASP230

7.11.1RASP和WAF231

7.11.2RASP的工作原理和特点232

7.11.3RASP技术面临的挑战233

7.12 总结234

第8章 DevSecOps度量体系建设236

8.1 持续反馈和度量驱动238

8.2 度量指标的定义与成熟度模型240

8.2.1 度量的指标241

8.2.2 成熟度模型245

8.3 度量平台的建立、安全管控和可视化248

8.4 度量实践常见的问题和误区250

8.5 实践中如何正确使用度量251

8.6 研发效能度量实践254

8.7 总结257

第9章 云原生场景下的DevSecOps应用258

9.1 云原生带来的新变化260

9.1.1 云原生的DevOps新变化260

9.1.2 云原生面临的新安全风险262

9.1.3 云原生带来的新安全需求265

9.2 云原生DevSecOps实施流程266

9.2.1 开发阶段的安全266

9.2.2 分发阶段的安全267

9.2.3 部署阶段的安全270

9.2.4 运行时阶段的安全271

9.3 云原生DevSecOps相关安全工具274

9.3.1 云原生安全开源工具274

9.3.2 云原生安全商业产品276

9.3.3 云原生DevSecOps实践框架277

9.4 云原生DevSecOps的落地应用和演进趋势278

9.5 总结281

后记282

参考文献285

c71954236b1e7fe931d95eec08c1658d.gif

听听作者怎么说👇

8b84be3bf6922d6ae7390edef25993e3.gif

更多精彩回顾

书讯 | 12月书讯(上) | 冬夜寒冷,读书暖心,华章科技上新啦!

书讯 | 12月书讯(下) | 冬夜寒冷,读书暖心,华章科技上新啦!

资讯 | 科普两个著名人工智能思想实验:图灵测试和中文房间

书单 | 为什么 Rust 是编程的未来?

干货 | 详解数据治理相关的7个术语和名词

收藏 | 解决卡脖子问题:盘点中国工业软件产业细分领域市场格局

上新 | 【新书速递】金融商业数据分析入门、实战、进阶,一本书全掌握

赠书 | 【第85期】业务架构将引我们走向何方

71ce16e32eb583966b5c52dd063f1551.gif

61f8e21d94f8b886040b81a29830b668.gif

点击阅读全文购买

相关文章:

  • 【新书速递】高效使用Greenplum
  • 2022年六大值得关注的边缘计算趋势
  • 机器人的「三体问题」
  • 原来报表与统计图要这么做!
  • Excel摸鱼技巧:快速实现分列转到行
  • Hi~您的圣诞礼物已到达,请查收
  • 【第86期】CPU 空闲时在干嘛?
  • 机器学习的挑战:黑盒模型正面临这3个问题
  • 数据治理项目失败,90%都是被这样搞垮的!
  • 6本书,读懂2022年最火的边缘计算
  • 详解数据分析体系构成框架
  • 【新书速递】金融领域可解释机器学习模型与实践
  • 说大话还是真实力,Rust 是被炒“火”的吗?
  • 用Python写了一个图像文字识别OCR工具
  • 解读数据工程、数据科学和机器学习都有什么区别?
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Fabric架构演变之路
  • golang 发送GET和POST示例
  • Linux快速复制或删除大量小文件
  • Markdown 语法简单说明
  • Mithril.js 入门介绍
  • mockjs让前端开发独立于后端
  • Python进阶细节
  • redis学习笔记(三):列表、集合、有序集合
  • Yii源码解读-服务定位器(Service Locator)
  • 电商搜索引擎的架构设计和性能优化
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 关于使用markdown的方法(引自CSDN教程)
  • 前端相关框架总和
  • 深入 Nginx 之配置篇
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 最近的计划
  • 函数计算新功能-----支持C#函数
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​ssh免密码登录设置及问题总结
  • # Apache SeaTunnel 究竟是什么?
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (二)pulsar安装在独立的docker中,python测试
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)linux下的时间函数使用
  • (转)大道至简,职场上做人做事做管理
  • ./configure、make、make install 命令
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Micro Framework 4.2 beta 源码探析
  • .net 发送邮件