Devops,Security,或两者兼而有之:谁掌控着集装箱部署和管理?


DevOps-Security混合模式并不是什么新鲜事。Gartner first introduced this model nearly five years ago。其驱动力是需要定义DevOps安全责任的起点和终点,以及安全团队如何促进以安全方式构建和部署软件的简化流程。

从那时起,我们已经走了很长一段路,今天这种模式通常被称为DevSecOps。这种混合模式的美妙之处在于,它融合了两个世界的精华——提供的价值大于各个部分的总和。

在容器空间中,开发操作变得更加相关和可操作。直到最近,由于缺乏标准化的、可用的技术和工具,开发运营并不容易实现。但是现在,通往发展合作的道路是开放的。

安全性不是传统意义上的DevOps,反之亦然

让我们来看看DevOps和安全性的“传统”角色。

DevOps

DevOps运动的兴起是为了推动开发人员(开发人员)和运营人员(运营人员,管理服务器的人员)更接近。在容器领域,快速的开发周期意味着开发人员倾向于将传统的安全过程和控制视为障碍——他们需要解决的绊脚石,但不一定有时间或心态去处理。

在容器环境中,图像由开发人员从自源和/或开源组件组装而成。这给开发者带来了巨大的权力,正如蜘蛛侠告诉我们的那样:权力越大,责任越大。出于权宜之计胜过安全的原因,开发人员可能会选择使用未发布的代码。或者它们可能无意中包含具有已知(或未知)漏洞的代码。无论哪种情况,这都可能带来严重的安全风险。

同时,不能期望开发人员知道并解决所有的安全风险。安全不是他们的主要责任;创建和运行应用程序。这意味着他们不能把大部分时间用于安全检查。

安全专业人员

安全团队传统上负责创建和实施程序和策略,以确定什么是可接受和不可接受的风险。他们可能不是修复漏洞的人,但是他们决定哪些漏洞必须被修复。为了实现这一点,安全性需要对过程和结果的可见性和实施能力。他们需要知道哪些集装箱在哪里运行,并且能够建立一个清晰的集装箱安全清单。

理论上这很好。问题在于,快速的容器开发周期给传统的安全流程和控制带来了压力。他们真的跟不上变化的步伐。在一些组织中,我们看到他们试图通过定期将安全专家转移到他们的DevOps团队中来解决这个问题。这对短期来说很好,但长期来看呢?这就是为什么我们看到了一个稳定的转变,即开发和安全的结合。

通过在DevOps工作流的多个点上以协作和透明的方式集成安全性,新的DevSecOps模型将对敏捷性和速度的影响降至最低,同时将构建和交付过程的安全性最大化。

这个过程通常被称为”shifting security left“-将安全实践转移到设计和编码的早期阶段,而不是在发布前的最后一刻随意应用它们。DevSecOps模型提供了一个适合容器开发人员思考和工作方式的安全模式——增量、自动、高效和可重复。

如何开始谈论发展合作?

为了促进DevSecOps模型的实现,安全控制必须在DevOps工具链中实现自动化。从流程的角度来看,安全性需要开始”talking DevOps“,不是反过来。所使用的工具需要对DevOps团队透明,并且不应该妨碍DevOps的灵活性——同时满足法律和法规遵从性要求,对策略的完全控制和对安全团队的可见性。

容器技术可能是开发运营的伟大推动者。它不仅有助于快速、可重复的应用程序开发和部署周期,还可以使它们更加安全。容器是不可变的,因此在运行时不会被修补,而只是被新版本替换。这将大部分安全控制转移到“左边”,即开发周期的上游。