腾讯安全平台部研发安全团队 腾讯安全平台部研发安全团队 harite mp.weixin.qq.com /s 多年来,软件开发以及其引发的信息安全领域总是相生相伴地持续发展。安全领域一直在适应软件研发的流程和模式,为研发出更加安全的系统 保驾护航。最近几年,国内越来越多的人开始提及以及实践 DevOps 的研发模式。腾讯内部以腾讯 CI 、 k8s 等为代表的 DevOps 平台不断发展和完 善,也有越来越多的业务开始尝试使用这种研发模式。伴随着 DevOps 在公司内的快速发展,研发安全保障的思维和技术也需要不断演化发展,其 中一个重要的思想就是 DevSecOps ,它 完全遵循 完全遵循 DevOps 的思想,将安全无缝集成到其中,使之升级成为 的思想,将安全无缝集成到其中,使之升级成为 DevSecOps 。亚马逊首席技术官、副总 裁 Werner Vogels 也在腾讯公司主办的第五届互联网安全领袖峰会( CyberSecurity Summit2019 ,简称 CSS2019 )上重点讲了 DevSecOps 的议题, 指出 “ 不仅仅是安全团队,所有人都应该加入到其中,我们要有将安全纳入战略思考的思维 不仅仅是安全团队,所有人都应该加入到其中,我们要有将安全纳入战略思考的思维 ” 。 本文向你介绍业界有关 DevSecOps 的思考以及我们的实践(第三章因涉及内部信息内容有所删减,如需查阅完整版本 请投简历)。 若已 了解 DevOps 可直接阅读 “ 二、 DevSecOps 理念 ” ,若只关心腾讯内部实践可直接阅读 “ 三、 DevSecOps 试水 ” 。 { 全文内容较长 全文内容较长 2 万字 万字 + ,阅读时长 ,阅读时长 20 分钟 分钟 } 修订 修订 “ 安全需要每个工程师的参与 ”-DevSecOps 理念及思考 引子 修订 一、 DevOps 拾遗 1.1 、什么是 DevOps 1.2 、瀑布模式 vs 敏捷模式 vs DevOps 1.3 、 DevOps 工具链 二、 DevSecOps 理念 2.1 、传统安全 SDL 2.2 、 DevOps 对 SDL 的挑战 2.3 、安全领域更深的思考 2.4 、 DevSecOps 诞生 2.5 、 DevSecOps 原则 安全左移( ShiftSecurity Left ) 默认安全( Secureby Default ) 运行时安全( RuntimeSecurity ) 安全服务自动化 / 自助化( Securityas Code/Pipeline ) 利用基础设施即代码( IaC ) 利用持续集成和交付 需要组织和文化建设 2.6 、 DevSecOps 实践 Plan (需求和设计) Create (编码 / 编译) Verify (测试 / 验证) Preprod (预发布) Release (发布) Prevent (预防) Detect (检测) Respond (响应) Predict (预测) Adapt (适应) 三、 DevSecOps 试水 3.1 、 DevSecOps 工具链 Plan (需求和设计) Create (编码 / 编译) Verify (测试 / 验证) Preprod (预发布) Release (发布) Prevent (预防) Detect (检测) Respond (响应) 1/17 Predict (预测) Adapt (适应) 四、未来的思考 附录:更多参考资料 1.1 、什么是 、什么是 DevOps 早在 2008 年,在软件研发领域敏捷开发的国际会议上,已经有人开始反思研发流程中 Development 和 Operations 等角色之间的合作和效能问 题。 2009 年 年 ,在 O'Reilly 集团举办的 “VelocityConference” 会议上,两名 Flickr 员工(技术运营高级副总裁 John Allspaw 和工程总监 Paul Hammond )做了题为 “ 10+ Deploys per Day: Dev and Ops Cooperationat Flickr ” 的演讲,从考古的角度来说这次演讲非常有价值和纪念意义, 可以看做 开创了我们现在所说的 开创了我们现在所说的 “DevOps” 概念 概念 。其后,这个概念不断地被美国硅谷等地的一些大小互联网公司所采用和发展,创造出了一种新 的软件研发思维模式和行动指南。 维基百科上, DevOps ( Development 和 Operations 的组合词)是一种重视 “ 软件开发人员( Dev ) ” 和 “IT 运维技术人员( Ops ) ” 之间沟通合作的文 化、运动或惯例。透过自动化 “ 软件交付 ” 和 “ 架构变更 ” 的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 现在,即使对 DevOps 有过了解甚至是已经在使用这种研发模式的人来说,也非常难以定义到底什么是 DevOps 。有些观点认为, DevOps 是区别 于传统的 瀑布模式 瀑布模式 ,基于 敏捷模式 敏捷模式 ,并将敏捷思想和实践从开发扩展到运维(也有激进的观点认为它完全不同于这两种研发模式), 是一种新的 是一种新的 思维模式和行动方法 思维模式和行动方法 。它的 目的是为了提升整个研发效能,进行更便捷、更快速、更可靠的交付,从而提高产品竞争优势 目的是为了提升整个研发效能,进行更便捷、更快速、更可靠的交付,从而提高产品竞争优势 。 DevOps 模糊了以往研 发模式中开发、测试、运维等岗位和角色的界限, 加强了他们之间的协作,通过流水线和一系列的自动化机制、成熟可伸缩的基础设施(如云) 加强了他们之间的协作,通过流水线和一系列的自动化机制、成熟可伸缩的基础设施(如云) 等,使开发人员获得更高的效能,可以更加频繁且快速的将代码变为产品,并从这种快速中获得持续不断的反馈和验证,也获得更高的可靠性 等,使开发人员获得更高的效能,可以更加频繁且快速的将代码变为产品,并从这种快速中获得持续不断的反馈和验证,也获得更高的可靠性 。 如下图示经常会被用于对 DevOps 的示意。 图: DevOps 理念示意 1.2 、瀑布模式 、瀑布模式 VS 敏捷模式 敏捷模式 VSDevOps 让我们对比下瀑布模式、敏捷模式、 DevOps 三种方式,可能更利于理解他们 在表面上的变化 在表面上的变化 。 2/17图:从代码角度的对比 图:从流程角度的对比 实际上,上述对比 只能说明表面上的变化 只能说明表面上的变化 。为了能够达到 DevOps 的目标:更便捷更频繁地进行更可靠的交付,除了思维模式以外, DevOps 需要 需要 一些技术和工具来支撑 一些技术和工具来支撑 ,也是得益于一些基础设施和工具等的发展和成熟,越来越多的公司才得以来践行 DevOps 。 1.3 、 、 DevOps 工具链 工具链 从目前业界的最佳实践来看,这其中主要包括几个关键的东西: 持续集成 持续集成 ( Continuous Integration ,俗称 “CI” )、 持续交付 持续交付 ( Continuous Delivery ,俗称 “CD” )、 微服务 微服务 ( Microservices )、 自动化测试 自动化测试 、 基础设施即代码 基础设施即代码 ( Infrastructureas Code ,俗称 “IaC” ,又隐含包括了 虚拟 虚拟 化 化 、 容器 容器 、 自动编排 自动编排 、 配置即代码 配置即代码 等技术

pdf文档 “安全需要每个工程师的参与”-DevSecOps理念及思考

文档预览
中文文档 17 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
“安全需要每个工程师的参与”-DevSecOps理念及思考 第 1 页 “安全需要每个工程师的参与”-DevSecOps理念及思考 第 2 页 “安全需要每个工程师的参与”-DevSecOps理念及思考 第 3 页
下载文档到电脑,方便使用
本文档由 思安2023-01-15 17:30:34上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言