当前位置: 首页 > 科技观察

将安全性集成到DevOps:启用技巧

时间:2023-03-20 21:28:34 科技观察

当COVID-19大流行来袭时,许多公司不得不迅速改变他们的商业模式。事实上,许多人开始忽视某些安全方面,这些问题是快速开发周期和为客户提供新功能的权衡。现在是时候退后一步,重新审视安全策略和指南,以及如何最好地将它们集成到敏捷开发流程中了。当今许多组织面临的最大挑战是安全团队几乎总是??与工程和运营组织分开。随着新兴云和云原生技术的出现,安全团队需要集中管理、监控和处理工程团队的工作流程。要在工程组织内建立安全思维模式,安全团队必须为工程团队提供适合其工作流程的工具。如果安全团队的解决方案只是将包装代码放在安全团队需要的工具之上,那么它就会成为一种附加管理技术,可能会减慢进度。将安全性集成到敏捷和DevOps工作方式中许多人认为,当安全性内置到流程中时,速度会减慢,但这是一种误解。如果安全策略和门控没有集成或自动化到软件交付系统中,上市时间通常会延迟。即使有一个集中的安全团队,让他们成为敏捷开发过程和整个DevOps转型之旅的一部分,也将帮助所有团队更快、更有效地解决出现的安全问题。DevOps在很大程度上被象征为无限连续反馈循环的概念。如果我们将安全实践放在这个无限符号之上,那么安全策略从头到尾都是集成的——计划、构建、配置、测试、分析和监控。这描述了一组可以分配给不同应用程序团队并使他们能够拥有某些安全策略的通用目标,而不是一个具有安全策略责任和任务的集中团队。以下是一些需要考虑的步骤和实践:首先,工程和运营团队需要预测威胁,不仅在应用程序级别,而且在基础设施级别。在出现问题时做出反应很麻烦,团队需要积极主动地应对这种情况。这是人们现在正在创造的一种心态,而这种心态在COVID首次发生时并不一定存在。●集中式或联合式安全模型是可行的,但不可能在第一天就实施。在建立这个组织范围的模型之前,它必须逐步转变为软件交付管理的整体视图。与敏捷一样,它是一个需要随着时间的推移进行审查和改进的框架。●构建一种通用方法,包括定义静态代码分析、动态代码分析和代码漏洞监控方面所需的关键安全策略。从平台的角度来看,可以为应用程序团队自动化和协调这些策略。这使安全领导者更容易从这些不同的团队获得可见性和洞察力。它还创建了关于存在哪些差距以及如何改进的必要反馈循环。●提供API集成作为平台方法的一部分——将代码从开发环境推送到生产环境将有助于简化工程团队的工作流程,而不必担心在每个阶段添加安全技术,因为它已经嵌入到系统中。无代码或低代码平台可以更轻松地插入安全工具并启动和运行它。●无论您是否授权工程和运营团队选择工具,一种新兴的做法是利用可扩展的、无代码的集成编排平台来补充工程和运营流程。这将允许按照他们交付软件的速度遵循、管理和维护安全实践。●研究每个应用的情况,包括使用的技术,以及消费者如何使用该解决方案。这为所有应用程序创建了一个基线,无论技术、云基础设施、平台等如何。这将有助于从安全威胁的角度根除误报,并为后续步骤提供更清晰的画面。如果误报始终是强制性安全补救措施(即使它可能不是真正的威胁),软件交付速度也会受到影响。例如,使用SpringBoot微服务和Node.js。在SpringBoot微服务中,您可能会有许多误报作为高度警惕的严重漏洞。事实上,这些并不是阻止代码部署到生产环境的关键漏洞。这种考虑必须循环回到安全策略中,以了解其要求、授予例外情况并管理未来的安全例外情况。这为管理异常提供了一个基线,以允许代码首先投入生产。如果安全团队继续因为此类误报而停止流程,并且不了解应用程序环境和业务需求,安全性可能会成为执行团队和整个企业的头疼问题。预测陷阱并避免它最常见的陷阱是安全团队没有充分了解应用程序环境以及它如何影响公司产品组合和平台环境方面的下游业务。安全团队需要在所有这四种情况下接受培训,了解需要执行哪些政策和准则。从软件工程的角度来看,人们总是在追求更高的速度。然而,战略性地考虑安全框架并不总是这种心态的一部分。集中式安全团队通常会为投入生产的每一段代码推动政策。但是安全团队可能不会提供API集成,例如,以简化流程。简单地执行安全策略没有好处。最终,目标是在集中的安全团队和软件工程团队之间建立伙伴关系,以实现DevOps转型之旅的承诺。确保开发和部署的唯一代码是安全的需要渐进的学习过程和对应用程序团队和软件交付系统需求的更深入理解。只有这样才能在其之上构建安全框架。这种方法和思维的演变将使我们更容易适应未来新出现的威胁,并提供企业在这些不确定时期所需的可见性和控制力。