了解最新技术文章
在不断发展的DevOps世界中, “左移”和“安全右移”这两个概念作为流行语出现,表明开发更安全、更可靠的软件的共同愿望。
然而,围绕这些概念真正含义的普遍存在误解,特别是从安全角度来看。为了实现这些转变,组织常常无意中给开发团队带来额外的工作负担,从根本上破坏了 DevOps 的基本原则:共同责任。
DevOps 思维的核心在于相信开发和 IT 运营团队对构建和部署软件的成功共同承担责任。DevSecOps是这种协作的扩展,它以应用程序安全 (AppSec) 团队的形式引入安全性。
无论您在 DevOps 还是 DevSecOps 中采用“左移”还是“右移”,这两种转变都不应该涉及一个团队将安全任务简单地传递给另一个团队。两者都旨在简化流程并增加团队之间的沟通,但这些方法采取不同的途径来实现这些目标。
在这篇博文中,我们将探讨“左移”和“右移”。我们的目标是阐明这些概念的核心原则及其在实现高质量、安全的软件交付中的关键作用。我们分析了 Shift Left 和 Secure Right 如何与 DevOps 和 DevSecOps 保持一致,最终使您能够就将它们集成到您的工作流程中做出明智的决策。
要了解左移和安全右移的重要性,首先将软件开发生命周期 (SDLC)可视化为可分为两半的连续循环。
在左侧,您的开发团队处于 SDLC 的早期阶段。他们从事规划、编码和预生产测试,所有这些都是为了制作符合设计规范的软件。这是创造力和创新的领域,开发人员将想法变为现实。
在右侧,您的 IT 运营团队负责生产版本,确保软件与您组织的业务目标无缝结合并保持高标准的可靠性。这是软件被委托实现其预期目的、保持性能和稳定性的地方。
对该 SDLC 循环两侧的资源分配和优先级调整将产生不同的结果。如果您认同 DevSecOps 思维方式,那么 AppSec 团队在该循环内或沿该循环的某个位置的定位会为这些考虑因素增加另一个变量。
左移或右移的决定可以使您的开发、运营和安全团队能够主动参与软件的发展,并最终防止您交付的产品中出现功能或安全问题。
左移是 DevSecOps 的基本支柱,它优先考虑尽可能接近开发初始阶段的测试活动的集成,将它们无缝集成到您的 SDLC 中。
左移的核心原则包括以下内容:
早期检测:左移优先考虑早期检测,以在代码缺陷和错误开始时识别和减轻代码缺陷和错误,从而有效降低关键问题在 SDLC 中进一步复杂化的风险。像Sonatype Lifecycle这样的工具可以满足这一需求,根据您的组件、风险承受能力和受影响的应用程序简化新漏洞的依赖关系管理,确保主动修复。
自动化:左移将自动化置于最前沿,它利用自动化测试框架来确保与代码更改相关的测试的可重复性和快速执行。Sonatype Repository Firewall等工具的预防性安全服务遵循这一原则,因为它会自动执行策略、阻止恶意软件组件并防止已知漏洞渗透到您的存储库。
持续反馈:左移提倡向开发人员提供及时反馈,从而实现增量改进,以在整个开发过程中完善代码。Sonatype Lifecycle 使您的开发人员能够接收针对新漏洞的持续监控和警报,从而促进迭代增强。
跨职能合作:协作是 Shift Left 的核心,鼓励开发人员、测试人员、安全专家和运营团队之间的密切合作。这种协同作用促进了沟通和透明度的改善,确保将安全考虑融入到软件中。Sonatype Lifecycle 通过为团队无缝协作提供平台来促进跨职能合作。它使您的团队无需切换工具即可控制风险,并在几分钟内获得每个应用程序的完整可见性,以便根据详细情报快速修复漏洞。
如果成功实施,这些“左移”原则会带来一系列好处,包括:
降低成本;
更快的上市时间;
更高质量的软件;和
简化与 DevSecOps 更广泛实践的集成。
通过将左移作为 DevSecOps 中的基本概念,组织可以强化其软件开发流程,开辟一条通往安全可靠的软件交付的道路。
虽然“左移”是 DevSecOps 的基石,但“安全右移”(有时也称为“右移”)是更广泛的 DevOps 思维方式的补充支柱,并在生产环境中引入了代码的持续测试。
与 Shift Left 侧重于早期 SDLC 测试不同,Secure Right 将测试阶段扩展到部署后,旨在发现典型生产环境可能遗漏的意外场景。
安全权利的核心原则包括:
混沌工程:Secure Right 拥抱混沌工程,这是一种故意引入受控中断以观察应用程序在压力下如何表现的实践。这种方法有助于识别潜在的弱点或故障点,有助于增强弹性和可靠性。Sonatype 存储库防火墙通过自动防止已知漏洞和有害开源版本影响您的存储库来补充这一点,从而针对潜在弱点添加了一层防御。
运行时洞察:Secure Right 强调对现实场景中应用程序行为的实时监控和分析。通过持续监控和分析生产环境中的性能,可以快速查明并解决漏洞和性能问题。Sonatype Lifecycle 通过提供针对新漏洞的持续监控和警报在这里发挥着至关重要的作用。这确保实时洞察可以触发立即采取行动来解决已识别的问题。
反馈循环:安全正确方法利用从生产环境中收集的见解。这些见解可以作为宝贵的反馈,可以增强应用程序的弹性、安全性和整体性能,从而创建持续的改进循环。通过在组织级别提供审查,Sonatype Lifecycle 确保您的软件开发的每一步都符合您的安全和质量标准。在它的帮助下,您可以主动识别和降低风险,减少关键问题侵入代码库的机会。
成功实施这些 Secure Right 原则可以加强安全措施、优化性能并加快解决后期制作问题。最重要的是,Secure Right 培育了一种持续学习的文化,推动持续的软件增强和创新。
在更广泛的 DevOps 领域中,左移和安全右移作为互补策略共存,各自解决软件开发和部署的不同阶段。
Shift Left 专注于早期缺陷检测、协作和自动化,而 Secure Right 将测试扩展到部署后场景,以增强安全性和性能。您的具体实施取决于您组织的目标、项目要求和风险承受能力。在“左移”和“右移”之间取得平衡可以在整个 DevOps 之旅中实现全面的软件质量、安全性和持续改进。
在 DevOps 成为敏捷高效软件交付的桥梁的世界中,理解并遵循这些原则可以显着增强团队的能力并提高软件应用程序的可靠性和安全性。