加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

DevSecOps的实施步骤及其常见问题

发布时间:2022-06-30 16:04:13 所属栏目:安全 来源:互联网
导读:只要实施得当,DevOps足以为各类企业组织带来丰硕的回报,比如改善团队间的协作效果、加快产品上市速度、提高整体效率并提升客户满意度等等。但如果不切实考虑安全保障,那么以上一切积极因素都无法真正转化为收益。忽略掉安全问题,一切利用DevOps改善工作
  只要实施得当,DevOps足以为各类企业组织带来丰硕的回报,比如改善团队间的协作效果、加快产品上市速度、提高整体效率并提升客户满意度等等。但如果不切实考虑安全保障,那么以上一切积极因素都无法真正转化为收益。忽略掉安全问题,一切利用DevOps改善工作流程的努力都将付之东流。DevSecOps则有望破解这一困局。
 
  在本文中,我们将共同了解各类DevSecOps实施步骤及其常见误区。
 
 
  过去十年以来,IT基础设施经历了一场巨大的变化。但大多数安全性与合规性监控工具并没有同步实现升级。最终结果就是,大部分工具无法根据典型DevOps的需求快速测试代码。
 
  此外,网络犯罪攻击则以惊人的速度不断扩大。Juniper Research发布的一份报告预测,随着越来越多业务基础设施的相互对接,2020年内单次数据泄露带来的平均损失将超过1.5亿美元。
 
  DevSecOps的常见误区
  DevSecOps中也存在着不少误区。比如说,”我们需要‘超级开发者’才能实现DevSecOps“。事实并非如此。DevSecOps的实施并不需要那种“超级英雄”级别的开发人员。只要配合适当的技术与观念培训,充分引导员工们对DevSecOps给予关注,每个人都能成为这股浪潮中的弄潮儿。而且DevSecOps一直强调打破职能孤岛,因此开发团队应该吸纳具有不同技能的人员,为他们提供关于DevSecOps流程及方法的培训课程,最终与整个产品交付管道相匹配。所以,只要培养现有团队即可,并不需要雇用一支全新的独立军团。
 
  另外一个常见误区是,”DevSecOps能替代敏捷化“。其实DevSecOps只是对敏捷化做出了补充,但本身并不能替代敏捷化。二者必须共存,才能保证企业最大限度提升自身业务收益。敏捷化强调促进协作并持续反馈,但与DevSecOps不同的是,敏捷化并不涉及软件的测试、质量保证(QA)与生产等环节。DevSecOps则要求借敏捷之力全方位增强现有业务流程。
 
 
  DevSecOps优秀实践
  在DevSecOps的规划与实施过程中,这几方面因素发挥着重要作用:
 
  首先,安全编码实践。安全编码的重要意义,在于开发出对安全漏洞具有较高抵御能力的软件。而非安全的编码实践可能引发多种软件安全风险,例如泄露企业组织内的机密信息。因此,最重要的是保证开发人员拥有充分的技能储备,并积极在时间与成本投入方面给予支持。此外,企业还应建立并遵循编码标准,帮助开发人员们编写出更多高质量代码。
 
  第二,拥抱自动化。与DevOps一样,自动化在DevSecOps中同样至关重要。为了在CI/CD环境中让安全保障速度与代码交付速度相匹配,安全也必须迈向自动化新时代。没有这一前提,大型企业组织根本无法有效保护开发者每天提交的大量代码版本。
 
  对于自动化安全测试,我们必须做出万全的考虑。出于错误目的而选择了错误的自动化工具,反而可能带来巨大的危害。静态应用程序安全测试(SAST)工具目前被广泛应用于开发周期早期的持续检测与问题识别方案。只有匹配实际需求选择合适的安全自动化工具,产品的顺利交付才能真正得到有效保障。
 
  第三,左移方法。左移测试方法的核心,是在周期之初就将安全性融入应用程序之内,而不再等待交付链最后阶段的到来。这种方式的主要优势在于加快潜在漏洞的识别速度并即刻加以解决。这种方法本身虽然好处多多,但也会带来不少隐患。左移方法的一大常见挑战,就是会暂时中断现有DevOps工作流程。这确实是个问题,但如果企业决意采用DevSecOps,那么左称方法从长远来看仍是一项不可或缺的最佳实践。
 
  第四,人员、流程与技术。在DevSecOps的成功实施方面,人员、流程与技术可谓三位一体,缺一而不可。哪怕其他条件再完备,如果员工对文化革新不感兴趣,那么成熟有效的DevSecOps环境根本无从谈起。虽然说服高层管理团队接纳这样的重大转变可能困难重重,但因安全态势恶劣而频繁引发的重大数据泄露事件应该引起大家的高度重视。所以除了安全专家的引导之外,尽可能发展安全拥护者对于DevSecOps的良好运作同样至关重要。
 
 
  如何实施DevSecOps
  可以想见,DevSecOps的实施将是一个复杂的流程。我们现在将这个流程拆解成以下几个具体步骤,虽然还没有任何具体的、连续的路线图式步骤设计,但其中大多涵盖以下环节。
 
  首先,一切以规划为起点。规划的战略水平与简洁程度将直接决定最终实施结果。因此,单靠对功能特性的描述还远远不够,专家们还需要建立起测试验收标准、用户设计以及威胁模型。下一阶段则是开发环节,团队应首先对现有实践的成熟度开展评估。在此阶段,大家可以通过多个来源收集资源以作为路线指导,也可以建立起代码审查系统。由此支撑起的统一架构,将成为DevSecOps后期成功的重要基础。
 
  之后则是构建环节,自动化构建工具无疑是这一阶段中绝对的主角。利用此类工具,我们可以构建脚本、将源代码组合为机器码等。自动化构建工具不仅提供多种强大的功能、丰富的插件库,还具备多种易于上手的用户界面,其中一部分甚至能够自动检测易受攻击的库并及时加以替换。下一步则是测试,通过稳定可靠的测试实践将强大的自动化测试框架全面引入管道当中。部署工作通常通过IaC工具进行,由其自动执行流程并加快软件交付速度。
 
  规模扩展同样不容忽视。虚拟化技术的出现,意味着企业不再需要浪费资源来维护大型数据中心。相反,一旦发生任何威胁,企业也可以直接扩展IT基础设施规模以消化突发冲击。
 
  以上只是DevSecOps实施中的一些基础步骤。根据项目的具体规模与复杂性,路线图可能还需要涵盖另外一些特定附加步骤。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读