乐趣区

关于devops:周纪海从-DevOps-到-DevSecOps-的落地实践

2020 年 9 月 25、26 日,GOPS 寰球运维大会(深圳站)举办圆满成功。在本届大会上,来自腾讯、阿里、京东、安全的行业内顶尖专家面向互联网及传统行业、宽广运维技术人员,流传先进技术思维和理念,分享业内最佳实际。作为腾讯云旗下 DevOps 一站式研发治理平台提供商,CODING 受邀参加了本届大会。在两天工夫里,CODING 与 1000 多位现场来宾进行了深刻交换;CODING CEO 张海龙承受了媒体专访,简要介绍 CODING 产品和分享 CODING 的愿景;CODING 资深技术专家周纪海也在腾讯专场中分享了 DevSecOps 工具与实际议题。

以下为周纪海在腾讯专场分享的演讲内容——

CODING:从 DevOps 到 DevSecOps 的落地实际

DevOps 简介,工具和平台

个别谈起 DevOps 自动化,都是先从工具来实现。工具横跨了开发周期,项目管理、CI/CD 等环节。在每一个环节外面都有比拟经典的工具,很多工具大家也都用过。

而近几年,业界衰亡了一站式平台,从端到端打造一整套工具,囊括项目管理、代码托管、自动化部署、自动化测试等,在其中某一环节能够退出品质卡点和品质门禁去保证质量。无论是华为、腾讯还是阿里近年来都陆续呈现了一些产品,腾讯云旗下的 一站式 DevOps 平台,更集中在开发侧,涵盖了从项目管理始终到最初代码交付上线等环节。腾讯的这套自动化工具平台,通过对外输入帮忙客户解决痛点,能够在整个环节,例如构建、标准制订等环节解决客户的问题。腾讯有相干的私有云和公有云方面的产品,帮忙客户在整个研发流程上进行实现。

DevSecOps 简介,挑战和工具

DevSecOps 的概念很早之前就有,以前被称为 DevOpsSec,16 年有一本书名叫“DataOPsSec”,为什么会从 DataOPsSec 变成 DevSecOps 呢?有两种说法,一种说法是 DataOPsSec 的缩写是 DOS,这就有了重名,为了防止单词的反复就改了名字;另外一种说法是 DataOPsSec 还是传统模式的程序,开发、测试、运维,最初在上线之前做信息安全。然而信息安全应该横跨整个流程,嵌入到每一个环节当中,因而变成了 DevSecOps。

那么为什么须要 DevSecOps?DevOps 曾经做好了,速度很快,品质很好,信息安全的作用是什么?下图就阐明了为什么须要 DevSecOps。传统模式下,从需要开始到整个开发测试须要 3 周的工夫,上线之前,信息安全部门染指进行平安评估,这可能须要 1 周工夫。而通过 DevOps,咱们把后面进行压缩,比如说通过自动化、微服务、麻利等伎俩把合作做得更好,效率进步,变成了 1 周。然而因为传统的 DevOps 没有思考信息安全,在上线之前还是要进行平安的评估扫描,这个工夫并没有缩短。DevSecOps 通过在 DevOps 流程的每个阶段或检查点构建安全性来打消 DevOps 和信息安全之间的阻碍,从而更快、更平安地生成高质量的代码。

DevSecOps 的益处有很多,以下概括 3 点:

  • 更快公布。通过压缩工夫达到更快公布的目标。
  • 管制危险。在过来开发团队或者测试团队依赖于信息安全团队来进行评分扫描,保障没有安全漏洞,通过 DevSecOps 把平安进行左移,能够让程序员本人来管制平安问题。
  • 节省成本。如果在上线之前进行平安扫描,尤其是发现高危破绽,必定是打回去让程序员修破绽,修好当前再走整个流程,如果呈现问题还要再返回和再修,这是十分浪费时间和节约人力老本的一个过程。如果在开发和测试阶段就把平安问题进行发现和解决,老本就会大幅度缩小。

目前有一个 DevSecOps 社区每年都会公布 DevSecOps 报告,报告显示很多人都感觉信息安全很重要,然而间断三年依然有靠近一半的开发者抵赖他们没有工夫去解决平安问题。再次验证了少数人对于平安层面依然是常识口头层面的器重。同时,社区也给了参考,100 个开发人员对应了 10 个运维人员,对应 1 个信息安全的人员,信息安全方面的人才仍旧很稀缺。

实现 DevSecOps 的挑战,咱们在推动的过程中发现有多方面的阻力。

  • 技术上的阻力。DevSecOps 是一个新的概念,在市面上能抉择的工具不是特地多。腾讯外部很多是自研产品,咱们感觉在市面上已有的工具多少都有问题,不是特地的成熟。
  • 人和文化。大家感觉信息安全不重要,包含咱们过后推广的时候,很多程序员只在乎写代码,不违心思考信息安全。就算无意识的同学感觉要做信息安全,当扫描出破绽的时候,也发现没有能力解决这个问题。
  • 流程。并不是所有的高层都反对 DevSecOps,在推 DevOps 的过程中这个问题时常呈现。在 2012 年刚刚开始推广 DevOps 的时候,晓得 DevOps 的人不是特地多,从下而上推动 DevOps 是很苦楚的。更无效的是让老板从上而下推动,执行效率会更高一些。

在推动层面,个别会先推工具,因为工具会很快看到成果。平安工具大体分为以下 4 类:

  • 动态利用平安工具(SAST)

SAST 是从代码层面进行扫描安全漏洞。它的益处是能够精准定位,发现具体某一行代码有破绽,同时容易被程序员所承受。然而这种工具的毛病是误报率十分高。腾讯 PCG 已经引入过市面上比拟支流的动态扫描工具 Checkmarx,最高误报率达到了 70%。在这种状况下,势必会耗费大量的人力去验证。

  • 动静利用平安工具(DAST)

DAST 更多的是通过模仿黑客对端口和站点进行攻打,尝试获取信息。这类工具的长处是扫描范畴十分广,误报率不是特地高;毛病也非常明显,就像测试一样,须要人力去写相干代码去模仿黑客攻击,对运维同学的平安常识要求比拟高,因为须要把场景模仿进去。同时,也容易产生一些脏数据。

  • 交互式利用平安工具(IAST)

在利用外面插入 IAST,或者是通过代理截取流量,能够剖析零碎在经营过程中是不是有安全漏洞。长处是扫描精准、误报率低。毛病是在更新工具的同时,服务器须要重启。

  • 开源软件平安工具(FOSS)

前 3 种平安工具更多的是对本人写的代码的保障,从端口层面保障本人开发的产品是平安的。然而不可避免的是在开发过程中会引入第三方的插件工具,FOSS 工具是为了保障他人写的代码的安全性。

从 DevOps 到 DevSecOps 的实际

接下来的内容是总结腾讯外部有哪些实际,或者帮忙客户解决了哪些问题。

DevOps 工具都强调自动化,不能给开发运维同学有任何的累赘;而做信息安全,不能因为做信息安全须要花更多的精力,而是心愿通过自动化,扫描当前产生报告通知你后果就能够。DevOps 模式下,平安和业务相互不了解,平安同学对业务不是特地的相熟,业务感觉平安不是特地重要。如果不出事的话,大家会感觉信息安全离本人十分远,对安全意识也没有那么强。所以在工作当中,更多时候都要思考如何进步大家的安全意识。

以下是在银行做 DevSecOps 的模型,其实也是业界通用的:

第一阶段:信息安全工具。将 DevSecOps 工具嵌入到 CI/CD 流水线中实现自动化安全漏洞扫描,生成并公开信息安全破绽报表;

第二阶段:信念平安培训。很多同学要么没有这方面的意识,要么没有这方面的能力,更多须要通过培训把意识和能力进步起来。

第三阶段:信息安全意识和“专家”。团队须要建设信息安全意识和文化,造就开发团队中的“信息安全专家”。

目前腾讯外部自研了一些 DevSecOps 工具。SAST 层面,有代码层面的安全漏洞扫描工具 Xcheck,用于敏感信息扫描的啄木鸟;DAST/IAST 层面,自研的洞犀可能通过收集 CGI 和参数,模仿黑客行为对端口进行平安扫描;还有 FOSS 层面,荷鲁斯次要针对第三方开源的平安扫描,CODING 的制品 / 镜像平安扫描性能次要是针对第三方开源的平安扫描。

上图能够看到,针对于 CODING 这个产品,各类平安工具和标准在 DevOps 流程里的集成。

方才说的是工具层面,具体解决问题还是要落地到人的层面。所以咱们外部也会提供相干的平安培训,帮忙同学们进步安全意识。腾讯外部常常有平安课程和流动;为客户提供 DevOps 解决方案时,对方在 DevSecOps 上也须要领导。比方,开发人员须要熟练掌握平安工具,即在扫描出安全漏洞后可能解决问题;高危安全漏洞必须要在上线前进行解决,中危破绽能够协商在 1 个月内解决,低危安全漏洞作为一个技术负债,有空的时候再进行解决等等。

对 DevSecOps 将来的瞻望,基于我集体的了解和业界的探讨,次要分为两个方面。首先我集体认为平安会进一步的左移。比方在架构设计时就思考平安。英国有一款工具,在工具外面设计架构图,通过制订一些平安规定来正告哪些架构图可能存在危险。第二点基于网上的探讨,认为 DevSecOps 离不开目前热门的 AI,是否能通过 AI 来解决 DevSecOps 的问题?是不是能够通过机器学习缩小误报率?大家能够一起期待。

大会精彩霎时


CODING CEO 张海龙承受专访


CODING 展位工作人员合影


其余精彩霎时

以上便是本次大会分享内容,点击报名上海站流动,咱们 11 月 20 – 21 日 GOPS 寰球运维大会(上海站)不见不散!

退出移动版