在本地数据中心和早期云采用的时代,应用程序开发人员、基础设施运营和安全的角色在很大程度上是孤立的。在云计算时代,这种分工增加了创新产品的上市时间,降低了生产率,并引入了不必要的风险。在数据中心环境中,开发人员构建软件应用程序,IT团队构建运行这些应用程序所需的基础架构,而安全团队负责确保应用程序和基础架构的安全。开发人员必须在底层基础设施和操作系统的约束下构建软件,而安全流程决定了业务运行的速度。当安全发现生产中的漏洞时,修复过程通常涉及所有利益相关者和大量返工。通过将团队从数据中心的物理限制中解放出来,云计算正在给IT行业带来几十年来最大的转变。但企业花了数年时间才开始释放云计算作为构建和运行应用程序平台的真正潜力,而不是托管第三方应用程序或从数据中心迁移的应用程序。当云平台仅作为远程数据中心使用时,传统分工得以保留,云计算的大部分潜力没有发挥出来。但是,将云计算用作构建和运行应用程序的平台的转变正在对安全性造成严重破坏。从云客户的角度来看,AWS、MicrosoftAzure和GoogleCloud等云平台都是软件,开发人员现在将云计算基础设施的创建和管理作为其应用程序的组成部分进行编程。这意味着开发人员正在设计他们的云计算架构,设置安全关键配置,然后不断进行更改。企业的机遇这种转变为在竞争激烈的行业中运营的企业提供了巨大的机遇,因为应用程序和云计算团队的创新速度远快于数据中心。但对于需要确保日益复杂和高度动态的云计算环境的安全性的团队来说,这是一个严峻的挑战。目前,解决云安全问题的唯一有效方法是让开发人员能够使用可帮助他们安全地进行操作的工具在云中构建和操作。否则,安全性可能成为团队在云中的速度和数字化转型成功的限制因素。为了理解在云安全方面赋予开发人员权力意味着什么,有必要定义成为开发人员的意义。这是一个广泛的定义,涵盖了几个不同的角色,包括:在云中构建并将云原生服务用作其应用程序的组成部分的开发人员。在这个模型中,应用程序和基础设施之间的界限即使没有完全消失,也是任意且模糊的。使用基础架构即代码(IaC)来规划云计算基础架构环境的配置、部署和管理并将该基础架构交付给应用程序开发人员的云计算工程师。云安全工程师使用策略即代码(PaC)以其他应用程序可用于自动验证安全性的语言表达安全性和合规性策略,并将这些策略即代码(PaC)库提供给企业团队。不管他们的工作描述如何,开发人员都控制着云计算基础设施本身,因为云计算完全由软件定义。当他们在云中构建应用程序时,他们也在使用基础架构即代码(IaC)为应用程序构建基础架构,并且开发人员拥有该过程。安全和合规政策即代码意味着安全团队的角色已经演变为领域专家,他们向开发人员传授知识和规则,以确保他们在安全的环境中工作。他们没有用人类语言表达这些规则供他人理解和解释,而是使用策略即代码(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)构建的自动化通过在部署错误之前自动执行持续搜索和捕获错误的过程来消除人为错误的风险。采用开发人员优先的云安全方法的企业将比竞争对手更快、更安全地进行创新。
