DevOps如何在不牺牲安全性的情况下迁移到云端


调研机构Gartner公司预测,2022年全球云计算服务市场规模和增长率几乎是整体IT服务的三倍。云计算服务无疑正在颠覆各个行业的发展,越来越多的企业采用云优先战略。

云计算的作用还包括:

  1. 使用开发和运行应用程序所需的按需计算能力替换昂贵的硬件,并降低相关的管理和运营成本;
  2. 使应用程序和底层微服务能够快速扩展,无需锁定任何特定硬件配置;
  3. 简化IT管理选项,同时提高内部IT基础设施的可靠性。


企业采用DevOps意味着开发进行将比以往任何时候都要快。那么如何确保一切都是安全的,尤其是将业务迁移到云端时?像任何革命性的转变一样,云迁移也会带来影响人们应该如何安全地推进业务的变化。如果你想和更多DevOps技术专家交流,可以加我微信liyingjiese,备注『加群』。群里每周都有全球各大公司的最佳实践以及行业最新动态

了解云原生架构的影响和新的安全挑战

企业首先需要了解云计算将如何影响DevOps和安全环境。云计算架构如何改变业务具有两个重大影响、相互依存的趋势:基于新架构的技术催化剂,以及业务流程挑战将如何在基础设施中引起反响。

云端的技术挑战

构建、维护、保护计算资源的物理设施不再是开发成功的试金石。例如,一旦迁移到云端,就不必担心备份是内部部署还是外部部署。然而,云计算同时也带来了一些显著的安全挑战。

新环境要求更多地依赖API。但是,传统的解决方案并不是为处理API级的漏洞而设计的,而且随着API的发展,网络攻击变得越来越复杂。

新体系结构面临的另一个主要挑战是对容器和微服务的依赖。像Kubernetes这样的微服务管理系统简化了迁移,它们可以在私有云和公共云中使用。

此外,云计算的灵活性意味着,管理对基础设施的访问可能是一个挑战,而访问云计算管理层可以获得控制权。重要的是要确保访问点的安全并限制共享凭据,以避免它们受到危害。与其为根帐户创建访问密钥,不如实现可靠的基于角色的访问控制(RBAC)。

最后,采用者对安全工具和最佳实践的关注不够。如今出现了很多新兴技术,使得保护这一新的计算前沿变得复杂起来。快速采用的问题在于,这些新技术、基础设施以及更大数量的工具和第三方并不是既定课程的一部分,很少有人了解大局或细节。

适用于云计算的新DevOps

除了技术革新之外,云计算还与业务流程的重大变化和挑战紧密相关。云计算和特定DevOps流程的加速演变是相关的。为了真正解决云中的安全问题,人们必须解决安全性如何与现有DevOps工作流程集成的问题。

快速的开发周期意味着预测和引入生产需求以及不可能提前测试。在采购过程中的一切操作,从物理服务器的部署到基本的订购,都必须跟上发展。因此,DevOps是一种自然的合并。

云计算的灵活性是处理不可预测的服务器负载和架构、最终用户以及从持续集成(CI)/持续交付(CD)变量的推动因素。如果没有内部部署和公共云架构的必然结果,很难想象持续集成(CI)/持续交付(CD)的发展速度。但这些快速的持续集成(CI)/持续交付(CD)流程正在改变业务预期,并加强了向市场交付的竞争。

为了跟上快速持续集成(CI)/持续交付(CD)工作流中业务和技术转型的一致性、安全性必须适应云计算。它不仅必须部署在新技术架构的关键领域,还必须与新的业务实践相结合。安全性必须与云计算本身一样灵活,响应迅速,并且功能强大。

云计算提供商在安全和客户端方面的责任

企业与云计算提供商合作可以将二者之间的安全责任分开。他们合作的一个主要好处是,提供商非常重视安全性和合规性。云计算提供商在保护云计算环境方面投入了大量资金,以确保比内部部署环境更安全。公共云提供商运营和管理服务器位置、硬件本身、主机操作系统、虚拟化层的物理访问安全性。或者简而言之,它提供为企业业务服务的基础设施。

DevOps团队负责保护企业数据、操作系统、应用程序逻辑和端点。虽然与云计算提供商分担安全责任可以减轻管理负担,但重要的是使持续维护成为持续集成(CI)/持续交付(CD)流程的一部分,而不只是依靠云计算提供商来处理。

云迁移的安全解决方案中需注意什么

依靠云计算提供商进行监控和保护是企业安全面临的巨大挑战。企业必须确保自己的软件解决方案在逻辑级别是安全的,这是发生变化最多的地方。企业需要寻找:
  • 在应用程序级别部署的工具
  • 在持续集成(CI)/持续交付(CD)中运行的解决方案
  • 不增加资源需求的集成工具集和流程
  • 允许灵活响应的自动化


这是安全管理云平台并将企业的业务转变为强大灵活的解决方案的一部分。

支持安全的API和微服务使企业能够灵活地扩展云计算。无论企业是决定补充现有的技术堆栈,还是完全转向新一代的容器和微服务,都非常关注这一新的动态基础设施是如何、在哪里以及由谁来管理的。

鼓励DevOps和安全团队之间的协作

传统上,企业开发、运营、安全团队在孤岛中工作。随着开发和运营融入统一的DevOps实践,问题在于DevOps是否从根本上削弱了安全性。在DevOps中,开发速度是决策制定的首要考虑因素,特别是在使用外部软件和平台时,安全性往往是事后的想法。

随着新威胁和脆弱性的引入,安全格局正在迅速变化,这一挑战进一步扩大。为了解决这个问题,DevOps和安全团队需要进行协作,以便从开发生命周期的开始阶段就将安全性纳入其中。为了最好地整合角色,应考虑以下一些关键的最佳实践:

考虑质量保证

最重要的是建立一种将安全视为高质量产品的推动者、共同责任和首要任务的文化。它应该被视为应用程序性能和用户体验的关键指标之一。

将安全性集成到DevOps中

DevOps过程的所有部分涉及安全团队或指定安全角色,以确保从一开始就具有透明度和协作性;安全团队可以检测应用程序特定的漏洞,并提供可操作的DevOps建议,这将为安全编码实践提供信息。

支持开发人员

由于大多数开发人员对需要注意的内容了解有限,所以在团队中任命安全管理人员是一件好事。他们可能不像白帽黑客那样有深入的知识,但在安全方面有足够的参与度,以理解其概念并知道在哪里寻找合适的工具和资源。

获得正确的工具和工具链

部署可以管理安全任务的自动化工具,使小型安全团队能够更多地关注关键优先级,例如定义框架并更加关注开发过程;在云端和持续集成(CI)/持续交付(CD)过程中自动生成和运行安全测试的工具将有助于实现这一目标。

加强编码

最后,许多安全问题来自最明显的错误。组织需要投资培训开发人员以在云中安全地编码,并将安全测试作为流程的一部分。通过机器学习监控代码的高级安全解决方案可以在代码中找到漏洞,帮助开发人员增强代码运行的稳定性。安全评估、业务变动安全评估、安全策略管理、安全日志分析。

原文链接:https://mp.weixin.qq.com/s/410c4BjmMIKw4dv9pe_uwA

0 个评论

要回复文章请先登录注册