为什么开发人员掌握着云安全的关键

安全 云安全
云计算安全是开发人员优先事项。因为云安全的责任在于开发人员和开发团队,而不是IT安全团队。

在使用内部部署数据中心和早期云应用的时代,应用程序开发人员、基础设施运营和安全的角色基本上是孤立的。在云计算时代中,这种分工增加了创新产品投入市场的时间,降低了生产率,并带来了不必要的风险。

在数据中心环境中,开发人员构建软件应用程序,IT团队构建运行这些应用程序所需的基础设施,而安全团队负责确保应用程序和基础设施的安全。开发人员必须在底层基础设施和操作系统的限制下构建软件,而安全流程决定了运行业务的速度。当安全部门在生产中发现漏洞时,补救过程通常涉及所有利益相关者和大量返工。

通过让团队摆脱数据中心的物理限制,云计算正在给IT行业带来几十年来最大的转变。但是,企业花费数年时间才开始释放云计算的真正潜力,将其作为构建和运行应用程序的平台,而不是将其用作托管第三方应用程序或从数据中心迁移过来的应用程序的平台。当云平台仅仅作为一个远程数据中心使用时,传统的劳动分工就被保留了下来,云计算的大部分潜力都没有实现。

但是,使用云计算作为构建和运行应用程序的平台的转变正在严重破坏安全性。从云客户的角度来看,像AWS、Microsoft Azure和谷歌云这样的云平台都是软件,开发人员现在正在对云计算基础设施的创建和管理进行编程,将其作为应用程序一个组成部分。这意味着开发人员正在设计他们的云计算架构,设置安全关键配置,然后不断地进行更改。

企业的机会

这一转变为在竞争激烈的行业中运营的企业提供了巨大的机会,因为应用程序和云计算团队的创新速度比在数据中心中要快得多。但对于那些需要确保日益复杂和高度动态的云计算环境的安全性的团队来说,这是一个严峻的挑战。

目前,解决云安全问题的唯一有效方法是使用工具授权开发人员在云中构建和操作,以帮助他们安全地进行。如果做不到这一点,安全就会成为团队在云计算中的速度和数字转型成功程度的限制因素。

为了理解在云安全上授权开发人员意味着什么,需要定义开发人员的含义。这是一个涵盖多个不同角色的广泛的定义,其中包括:

  • 开发人员,他们在云中构建并利用原生云服务作为应用程序不可或缺的组件。在这个模型中,应用程序和基础设施之间的边界是任意的和模糊的,如果不是完全消失的话。
  • 云计算工程师,他们使用基础设施即代码(IaC)来规划云计算基础设施环境的配置、部署和管理,并将该基础设施交付给应用程序开发人员。
  • 云安全工程师,他们使用策略即代码(PaC),以一种语言表达安全和遵从策略,其他应用程序可以使用这种语言自动验证安全性,并将这些策略即代码(PaC)库提供给企业的团队。

无论他们的工作描述如何,开发人员控制云计算基础设施本身,因为云计算是完全由软件定义的。当他们在云中构建应用程序时,他们也在使用基础设施即代码(IaC)为应用程序构建基础设施,开发人员拥有这个过程。

安全性和合规性策略作为代码

这意味着安全团队的角色已经演变为向开发人员传授知识和规则的领域专家,以确保他们在安全的环境中工作。他们使用策略即代码(PaC),而不是用人类语言来表达这些规则以供他人理解和解释,策略即代码(PaC)检查其他代码和运行环境中不需要的条件。策略即代码(PaC)使所有的云计算相关者能够安全地操作,而不会在规则和如何在软件开发生命周期(SDLC)的两端应用规则上产生歧义或分歧。

正确掌握云安全的企业拥护DevSecOps模型,并使开发人员能够在部署后确保应用程序的安全性。IDC公司预测,越来越多的开发人员(到2025年将超过4300万人)将发现,一旦代码运行,他们将完全负责其持续的性能和安全。

很长一段时间以来,应用程序都涉及到软件开发生命周期(SDLC),其中包括创建、测试、部署和监视阶段。应用程序安全性的“左移”运动在速度、生产力和安全性方面产生了显著的投资回报率,因为在生命周期的早期修复问题更容易、更快、更安全。随着基础设施即代码(IaC)的采用,云计算基础设施现在有了自己的软件开发生命周期(SDLC),这意味着云安全也可以在部署前阶段解决。

云安全的主要问题是配置错误,但重要的是要认识到配置错误是云计算环境中任何被证明对阻止黑客无效的东西。人们最熟悉的是单一资源的错误配置,这些错误配置经常在关于云计算服务遭到破坏的新闻报道中被强调,例如让危险端口打开或允许公众访问对象存储服务。但错误配置还涉及整个运营环境的错误配置,届普中使攻击者具有发现、移动和数据提取能力的架构漏洞。

每一次重大的云计算漏洞都涉及到对云计算环境中这些设计缺陷的利用或控制平台的破坏。控制平台是配置和操作云的API表面。例如,可以使用控制平台构建容器、修改网络路由、访问数据库中的数据或数据库快照。对于黑客来说,访问快照比访问实时生产数据库更受欢迎。换句话说,API控制平台是用于配置和操作云计算的API的集合。

API驱动云计算。它们消除了集中式数据中心对固定IT架构的需求。API还意味着网络攻击者不必遵守企业在其内部数据中心中围绕系统和数据存储设置的任意边界。虽然识别和纠正错误配置是优先事项,但必须了解错误配置只是网络攻击者达到最终目的的一种手段:控制平台漏洞。这在迄今为止的每一次重大云泄漏中都都起到了关键作用。

授权开发人员保护云平台

授权开发人员在开发基础设施即代码(IaC)来时发现和修复云计算错误配置是至关重要的,但为他们提供所需的工具,以设计能够抵御当今控制平台漏洞攻击的云架构,也是同样重要的。

任何企业都可以采取五个步骤有效地授权开发人员在云中安全操作:

(1)了解云计算环境和软件开发生命周期(SDLC)。安全团队应该将工程师嵌入到应用程序和开发团队中,以了解正在运行的一切,如何配置,如何开发和部署,以及发生更改时的情况。还应该知道哪些应用程序与云计算资源关联,以及任何数据及其使用方式。像黑客一样去识别控制平台的漏洞风险。

(2)优先考虑安全设计,防止错误配置。一旦控制平台漏洞开始攻击,通常已经来不及阻止。有效的云安全需要防止可能发生这些攻击的条件。将安全性嵌入到到整个云计算软件开发生命周期(SDLC)中,以便在部署错误配置之前捕获错误配置,并专注于设计固有的安全环境体系结构。

(3)为开发人员提供安全指导工具。开发人员的行动非常迅速,如果希望在不影响速度的情况下采用任何安全工具,都需要按照它们的工作方式工作。云安全工具应该为开发人员提供有用的、可操作的关于安全问题的反馈,以及如何快速纠正这些问题,以便他们能够继续工作。

(4)采用策略作为云安全的代码。策略即代码(PaC)通过授权所有云计算利益相关方安全操作,从而帮助安全团队利用他们所拥有的资源扩展他们的工作,在规则是什么以及应该如何应用规则方面没有任何歧义或分歧。它的作用是使所有团队在策略的单一真实来源下保持一致,消除解释和应用策略时的人为错误,并在软件开发生命周期(SDLC)的每个阶段实现安全自动化(评估和执行等)。

(5)专注于测量和过程改进。云安全与入侵检测和监控网络的恶意活动无关,更多的是关于改进云安全流程以防止攻击的发生。成功的云计算团队会持续对其环境的风险以及开发人员和安全团队的生产力进行评分,随着容易出错的人工任务被自动化,这些工作应该会得到提高。

开发人员是在部署前保护代码的最佳(通常也是唯一)位置,在运行时维护代码的安全完整性,并更好地理解在代码中提供修复的特定位置。但他们也是人类,在一个不断试验和失败的世界中容易犯错。建立在策略即代码(PaC)上的自动化通过在部署错误之前对不断搜索和捕获错误的过程进行自动化来消除人为错误的风险。

而采用开发人员优先的云安全方法的企业将比竞争对手创新得更快、更安全。​

责任编辑:华轩 来源: e-works
相关推荐

2023-10-13 06:54:58

2022-12-19 07:33:49

开发人员谷歌制度

2011-05-05 17:57:18

软件开发

2020-07-23 08:21:25

PHP开发人员MVC

2022-03-03 23:30:27

TypeScrip开发前端

2020-06-22 07:18:21

Java语言开发

2011-06-20 08:43:15

Windows 8开发人员

2021-04-18 18:12:07

Linux开发操作系统

2021-11-01 22:19:29

开发测试代码

2018-07-09 14:05:16

编程语言PythonPipenv

2023-09-04 08:20:00

2021-01-30 10:51:07

Python编程语言开发

2014-09-12 10:28:28

技术开发程序员

2011-12-21 09:19:32

API

2023-01-11 12:14:50

NeoVimVim开发

2023-01-14 13:36:12

Linux内核

2020-10-13 18:20:55

TCPHTTP网络协议

2019-09-03 10:12:15

开发者技能工具

2023-12-25 07:58:46

Python开发.NET

2019-09-24 15:29:57

程序员开发数据
点赞
收藏

51CTO技术栈公众号