DevSecops:为您的云提供持续安全和遵从性的游戏计划
云是敏捷的。云工程师基于开发和部署的持续集成/持续部署(CI/CD)模型,不断地进行迭代。而DevOps是整个CI/CD频谱不可分割的一部分。虽然DevOps使代码可以无缝地部署和运行,但在这种敏捷的CI/CD环境中,“安全性”的地位在哪里?你不能在安全上妥协,让你的基础设施容易受到黑客的攻击,这是肯定的!因此,这里出现了“DevSecops”的概念–DevSecops的实践。
DevSecOps的概念源于一个强有力的指导原则:“安全是每个人的责任。”正如我们所看到的,快速的应用程序交付正在极大地改变软件的设计、创建和交付方式。有一种紧迫感,并在推动发展和交付的速度和创新方面的限制。DevOps的兴起创造了改善软件开发生命周期(SDLC)的机会,同时也向敏捷性和持续交付迈进。然而,过渡的安全性如何?我们怎样才能保证它的安全呢?答案是DevSecops。
我们不会简单地依赖扫描器和报告来使代码更好。我们将像一个局外人一样攻击产品和服务,以帮助您捍卫您所创造的东西。我们将了解漏洞,寻找弱点,我们将与您合作,提供补救措施,而不是长长的问题清单,让您自己解决。
首先,让我们分析一下DevOps中安全的真实状态。考虑以下几点:
- 您的组织在向DevOps的过渡中处于什么位置?
- 安全措施如何纳入过渡?
- 在DevOps环境中改进安全实践的机会和障碍是什么?
在最近由HPE Security Fortify团队进行的一项研究中,结果提供了对大型和中型企业当前DevOps安全实践的洞察力。对该报告的分析强调了在将安全性作为DevOps的自然组成部分的机会与当前实现的现实之间存在的多重差距。
这项研究发现了很少的关键事实,例如:
每个人都认为安全必须是DevOps的一个组成部分,在DevOps上的转换实际上会使它们更加安全。然而,随着速度和创新的优先级更高,很少有DevOps程序实际上将安全作为过程的一部分,因为它被认为是低得多的优先级
这个问题在DevOps环境中可能会恶化,因为在开发和安全之间仍然存在孤岛
那么接下来呢?
使安全更好;DevOps可以做到
应用程序安全和DevOps必须齐头并进。一个机会在于将安全性作为开发的一个组成部分,并真正将安全的编码实践构建到软件开发生命周期(SDLC)的早期阶段。因此,DevSecOps可以在不牺牲所需安全性的情况下,以速度和规模安全地将安全决策分发给那些拥有最高级别上下文的人。
随着DevOps的快速变化,传统安全成为一种选择。通常,传统的安全性在周期中太晚,在通过迭代构建的系统的设计和发布阶段太慢,无法合作。然而,随着DevSecOps的引入,企业经营者或安全人员不能继续放弃减少风险;相反,它必须被组织中的每个人所接受和改进,并得到那些有技能为系统贡献安全价值的人的支持。
作为协作系统的DevSecOps
当向业务运营商提供一组正确的工具和流程,帮助安全决策,以及使用和调整这些工具的安全人员时,一个真正的合作生态系统就会发展起来。现在,安全工程师更加紧密地与DevSecOps宣言保持一致,该宣言表明了安全从业者必须为更大的生态系统增加的价值。DevSecOps必须在不合作的攻击者(读取外部黑客)可能发现缺陷之前,持续监视、攻击和确定缺陷。
此外,DevSecOps作为一种思维模式和安全变革,进一步有助于与其他安全变革合作。需要将安全性添加到所有业务流程中。需要创建一个专门的团队来建立对业务的理解、发现缺陷的工具、持续的测试和预测如何作为业务经营者做出决策的科学。
不要错过机会!
根据最近的研究报告,目前的状态是大多数组织没有在他们的DevOps程序中实现安全性。这需要改变,应用程序安全性必须作为一个关键的DevOps组件优先考虑。一个安全的SDLC必须作为一个严格的实践与DevOps结合在一起,以定义和实现勤奋的DevSecOps。
DevOps是一个经过深思熟虑和不断发展的实践。它为快速和驱动的开发和交付降低组织障碍的承诺也必须转化为安全。组织必须有一个集中的方法,将安全构建到开发工具链中,并从战略上实现安全自动化。
DevOps很好;DevSecOps更好
Gartner最近的一份关于如何将安全无缝集成到DevOps的报告总结说:“信息安全架构师必须以对开发人员很大程度上透明的协作方式将多个点的安全集成到DevOps工作流中,并保持DevOps和敏捷开发环境的团队合作、敏捷性和速度,交付”DevSecOps“。
报告讨论的关键挑战是:
- DevOps合规是IT领导者最关心的问题,但信息安全被视为DevOps敏捷性的抑制因素。
- 安全基础设施在成为“软件定义”和可编程的能力方面已经落后,这使得很难以自动化、透明的方式将安全控制集成到DevOps风格的工作流中。
- 现代应用程序很大程度上是“组装”的,而不是开发的,开发人员经常下载和使用已知的易受攻击的开源组件和框架。
2012年,Gartner在一份名为“DevOpsSec:创建敏捷三角”的报告中向市场推出了“DevSecOps”(最初为“DevOpsSec”)的概念。报告中确定的关键领域是信息安全专业人员需要积极参与DevOps倡议,并忠于DevOps的精神,拥抱其团队合作、协调、敏捷和分担责任的哲学。
在最近题为“DevSecOps:如何将安全无缝集成到DevOps”的报告中,Gartner估计:
- 不到20%的企业安全架构师参与了他们的DevOps计划,积极和系统地将信息安全纳入他们的DevOps计划
- 更少的人实现了成为DevSecops所需的高度安全自动化。
这就要求通过设计一组集成控制来提供DevSecOps,同时不破坏DevOps哲学的敏捷性和协作精神,从而优化和改进整体安全态势。
有了云上的DevSecOps,安全就成为开发过程中必不可少的一部分,而不是事后才想到的。
DevSecOps的目标是在云支持服务的开发和交付过程中自动透明地应用安全检查和控制。简单地实现或依赖标准的安全工具和过程是行不通的。安全的服务交付始于开发,而最有效的DevSecOps程序始于开发过程的最早阶段,并在整个生命周期中跟踪工作负载。即使您不积极使用DevOps,也要尝试实现安全最佳实践,以加速云支持服务的开发和交付。
一些策略:
- 装备DevOps工程师从安全开发开始
- 授权DevOps工程师承担个人安全责任
- 为开源组件和商业软件包集成自动化的安全漏洞和配置扫描
- 自定义代码的合并应用程序安全性测试
- 采用版本控制和严密管理基础设施自动化工具
- 与“持续集成”和“持续部署”同步适应“持续安全”
如果还没有,请参与DevSecOps计划,并开始向所有安全风险承担者施压,要求采取更好的安全措施。从立即扫描开发中的服务的漏洞开始,优先考虑OSS软件模块的识别、配置和漏洞扫描。将自定义代码扫描作为优先事项。正如SDtimes的麦迪逊·摩尔(Madison Moore)在DevSecOps上的一篇帖子中引用的那样,“成熟的开发组织最终意识到在SDLC早期编织自动化安全是多么关键。”Sonatype的调查说明了一切。
总结
成功的DevSecOps计划必须坚持最初的DevOps理念:团队合作和透明度,以及通过不断学习不断改进。
- 点赞
- 收藏
- 关注作者
评论(0)