乐趣区

关于devops:提升漏洞修复率DevSecOps-真的很有一套丨HDCCloud2021

近些年来,随着云计算、微服务和容器技术的疾速遍及,不仅 IT 基础架构产生了微小的变动,政企组织的业务交付模式也迎来微小变迁,传统的开发模式向麻利开发和继续交付模式迁徙,在业务利用交付规模不断扩大、交付速度一直进步、开发经营场景一体化的大环境下,平安问题你真的器重么?

1“破绽”带来安全隐患

近年来,随着软件开源化趋势成为支流,开源软件曾经成为软件供应链的重要环节,是软件生态不可或缺的组成部分,可开源软件的平安问题却是很多组织所疏忽和不通晓的。

Gartner 的考察显示,99% 的组织在其信息系统中应用了开源软件。Sonatype 公司对 3000 家企业的开源软件应用状况开展过考察,结果表明每年每家企业均匀下载 5000 多个开源软件。随着开源技术疾速造成生态,企业用户引入开源软件已成大势所趋,无奈防止,不仅如此,随着大型软件开发过程中,开源组件的占比越来越高,加之软件开发人员往往只关注本人开发的那局部代码的安全性,漠视了采纳的开源组件的平安品质,最终导致成型软件产品的系统安全问题越来越多。

所以在这样的大时代背景下,开源软件和工具曾经影响到了整个软件行业,一旦具备大规模用户根底的开源软件存在安全漏洞,结果和影响是无奈设想的。

在非 100% 自研发的明天,开源软件的破绽未然成为了软件生态中安全漏洞的“罪魁祸首”!

2 安全检查,没那么简略

随着安全漏洞问题的一直爆出,越来越多的组织也开始意识到平安问题的重要性,可随着产品的开发生命周期越往后,其性能、接口、代码量、数据、外部关联等越发的宏大和简单,平安问题排查的难度、引发的修复老本也显著增高。统计数据表明,随着产品的开发,生命周期越往后,平安问题引发的修复老本也成倍数增长。如下图所示,如果到了公布阶段,再去修复平安问题,那么带来的老本将是毁灭性的。

那么问题来了,咱们该怎么办呢?

3 晋升破绽修复率 – DevSecOps 实际

在以上背景下,DevSecOps 应运而生。

DevSecOps 又是什么呢?

简略来说,DevSecOps 能够了解为在 DevOps 根底上嵌入了平安 Security,即 DevSecOps 是糅合了开发、平安及经营理念以创立解决方案的全新办法——一套由策略驱动的体系化方法论,一套流程与工具撑持,将平安能力嵌入到整个软件开发体系中,在保障业务疾速倒退的状况下实现平安保障,即快又平安的公布可运行的软件。

DevSecOps 这个概念最早是 2017 年美国 RSA 大会上提出的——DecSecOps 是一种全新的平安理念与模式,它从 DevOps 的概念延长和演变而来,其核心理念是:平安是 IT 团队中(包含开发、运维及平安团队)每个人的责任,须要贯通从开发到经营整个业务生命周期的每一个环节,只有这样能力提供无效的平安保障。DevSecOps 通过增强外部平安测试,被动搜查安全漏洞,及时修复破绽、管制危险,实现与业务流程的良好整合。

4 DevSecOps 的外围

DevSecOps 的平安实际次要集中于以下两个方面:

  • 平安工作前移

采纳平安在软件开发后期染指的形式,升高解决平安问题的老本,后期染指的内容包含对开发、保护人员的安全意识培训、平安开发标准的培训、平安需要(非性能需要)的导入、后期的代码审计工作、基于白盒的平安测试、浸透测试等内容。在经营阶段减少的内容与后期开发阶段相似,次要内容集中在对新平安需要实现状况的验证以及软件整体平安评估。

  • 平安工作与现有工作无缝对接

为了防止平安工作(例如:测试与评估、安全策略的部署等)成为开发瓶颈,使得利用零碎在最短周期内实现其应有的价值和平安属性。DevSecOps 采纳疾速迭代的开发方式,这就须要实现平安与开发工作实现无缝对接,将平安工作导入现有的开发工作流程和工具中,包含将平安需要导入至对立需要治理流程与工具、平安测试工作与继续集成 / 继续部署(CI/CD)对接、平安测试后果导入至缺点管理工具等诸多环节。

这实际上就是对自动化提出十分高的要求。

5 DevSecOps 实施方案

DevSecOps 通常是将平安嵌入到 DevOps 的流程阶段中,所以一般来说,DevSecOps 的工具通常也是基于编码、构建、测试、配置、部署、监控这六个阶段嵌入的,如果要自行搭建 DevSecOps 的流水线须要至多在以上环节中退出相应的工具并实现自动化,具体分析如下:

1)开发阶段

良好的编码习惯更易于代码自身的了解和更改。DevSecOps 通过增加用于编写良好和平安代码的安全检查来扩大这些实际。

传统的单元测试,代码审查,动态代码查看等实际能够扩大到该阶段的安全性查看。为了不影响开发人员的工作效率,能够在代码提交至代码仓库之前查找并修复常见的平安问题。

2)构建阶段

将代码提交到代码仓库后,将执行应用程序的构建和根本自动化测试,以确保代码始终可编译可构建。

同样,须要在此阶段增加安全性查看,以检测重大和高危安全性问题。如果发现重大问题,则须要进行安全控制, 设定构建为失败并发送警报告诉。

3)测试阶段

胜利构建后,通过抉择生成的工件并将其部署到容器或者测试环境来触发测试阶段。这些测试包含功能测试,集成测试,性能测试,高级 SAST,安全性和 DAST。

这个阶段通常须要更多的工夫和资源来执行,并且遵循疾速失败办法优先准则,即更吃力和耗时的测试要尽可能后延,只有在其余测试都通过时才执行。

4)配置阶段

配置管理工具能够轻松地重复大规模部署和创立平安基础架构。通过标准化配置,配置管理工具能够缩小与补丁治理相干的问题,最大限度地升高黑客能够利用未修补的服务器的危险,并有助于缩小不同环境之间的差别。值得一提的是,应用配置管理工具能够在地方代码库和版本控制下跟踪配置信息。

5)部署阶段

如果上述所有阶段胜利运行,则须要筹备投入生产环境运行。该阶段指标次要是验证在配置或部署工夫内是否存在任何谬误,这些谬误是否会升高零碎的可靠性和弹性,是否能够在故障状况通过这些进行攻打。

该阶段应用自动化运行时检查和测试中施展重要作用的中央,特地是发现平安违规和破绽的平安问题,并突出了危险,如拜访控制策略或防火墙规定的变动。

6)监控阶段

零碎投入生产后,安全性不会终止,而是真正的开始。在 DevSecOps 中,主动安全检查和监督反馈循环迭代是生产操作的根本局部。

继续监控能够深刻理解应用程序正在接管的流量类型,并帮忙辨认歹意用户的攻打模式。

6 总结

综上,DevSecOps 的工具次要是基于编码、构建、测试、配置、部署、监控这 6 个阶段嵌入的,如果要自行搭建 DevSecOps 的流水线,须要至多在以上环节中退出相应的工具(参考工具如下图),并实现自动化。如果自行搭建较为艰难,可借助开发平台提供 DevSecOps 的能力,比方华为云 DevCloud 软件开发平台来进行流水线的配置与开发。

当你遇到平安问题或者想要预防平安问题产生,DevSecOps 是一个很好的解决方案,心愿您看完本文,对 DevSecOps 有所理解。

作为华为 ICT 基础设施业务面向寰球开发者的年度盛会,华为开发者大会 2021(Cloud)将于 2021 年 4 月 24 日 -26 日在深圳举办。本届大会以 #每一个开发者都了不起# 为主题,将汇聚业界大咖、华为科学家、顶级技术专家、天才少年和泛滥开发者,独特探讨和分享云、计算、人工智能等最新 ICT 技术在行业的深度翻新和利用。智能时代,每一个开发者都在发明裹足不前的奔流时代。世界有你,了不起!

理解大会详细信息,请点击 https://developer.huaweicloud…

退出移动版