云原生安全的五个建议

基于容器和无服务器平台的云原生应用在正在快速地被全球的组织所部署。虽然说云原生应用会带来易延展性、无与伦比的韧性、以及快捷的开发速度,云原生应用同样会带来挑战。

云原生应用会有大量的可移动成分,并且基于那些短暂的架构组件。这就会给运营和维护产生难度;除此以外,自然还有安全隐患。云原生安全需要新的解决思路、策略和工具。这里,有五个可以帮助改善企业云原生安全的小建议。

云原生安全的五个建议

什么是云原生?

云原生应用为云而创建,而且整个软件开发生命周期——开发、部署、测试和升级,都会在云环境完成。“云”的概念不局限于公有云,也可以意味着远程和本地资源都有的混合云或者超过一个云供应商的多云环境。

云原生计算基金会(CNCF)认为三种工具应该用于云原生计算中:容器化、微服务结构和动态编排。容器化意味着软件和其关联依赖绑定,从而实现软件可移动、可扩展;动态编排包括了使用Kubernetes等工具管理云端容器;而微服务结构能够优化资源。容器能够被另一项云原生计算能力——无服务器功能所替代。

云原生的安全挑战

云原生应用给基础设施和应用安全带来了额外挑战。以下是一些关键挑战:

  • 多个需要保护的实体:DevOps团队和基础设施团队会使用微服务来运行云原生应用。在过去,多个进程或者软件功能会在一个虚拟机上运行。现在,每个进程或者能力都会被包装成分离的容器或者无服务器功能。每个实体都易于被攻破,因此需要全开发周期的防护。
  • 多样的结构:云原生系统会涉及很多公有云和私有云、云服务、以及应用结构。每个结构都有不同的隐患和安全需求。安全团队必须理解这一复杂的攻击面,并且为每个不同的结构找到解决方案。
  • 不断变化的环境:公有云和私有云环境在持续变化。快速的软件发布周期意味着微服务应用的每个组件都必须每日进行升级。另外,使用不可变性和基础设施即代码意味着应用会被持续分解并重构。安全团队会发现很难在不减缓发布周期的情况下,保护这些技术应用。

如何保护云原生应用

有多种保护云原生应用的方式,包括:安全左移、在函数和容器级别应用边界安全、贯彻最小角色和最低权限、保护应用依赖,以及安全共责。

1. 安全左移

许多企业依然在使用已有的工具,却无法处理云原生应用环境的速度、规模和动态网络。如果再加上无服务器功能,会让整个基础设施变得更抽象,让问题更严重。

网络攻击者会寻找容器和无服务器代码中的隐患,以及云基础设施中的错误配置,以接入包含敏感信息的实体,再用它们提升权限,攻击其他实体。

另一个问题是企业在用CI/CD工具持续开发、测试和发布应用。当使用容器部署云原生应用的时候,开发者会从本地或者公共库当中获取镜像,但一般不会检查这些镜像是否包含安全隐患。

一种解决方案是给安全团队提供一些工具,阻止不受信任的镜像进入CI/CD管道,以及启用一些机制让不受信任的镜像在进入生产前就避免产生安全问题。通过在开发流程早期扫描镜像的

结论

这篇文章提及了云原生面临的挑战,包括大量需要保护的实体,以及持续变化的环境和结构。同样,也给出了五个能够改善云原生环境的最佳实践:

  • 安全左移,在问题进入产线前进行规避。
  • 在函数和容器级别应用边界安全。
  • 对云原生应用中的实体实行最小角色和最低权限。
  • 保护好应用依赖。
  • 鼓励开发、运营和安全团队之间的安全共责。

点评

业务节奏加快使得无服务器应用等云原生应用会越来越多被企业所启用,云原生的安全也会更多被注意。不难发现,本文提到的五个安全建议中,软件安全相关的建议占了大部分:无论是安全左移、应用依赖的防护、还是实现DevSecOps整个安全协同,最终都离不开开发安全相关。这一点来看,DevSecOps和API安全的重要性都会随着云原生的使用进一步地提升。

鸿蒙官方战略合作共建――HarmonyOS技术社区

版权声明:玥玥 发表于 2021-08-18 17:02:40。
转载请注明:云原生安全的五个建议 | 女黑客导航