云原生安全关键要素

知是行的主意,行是知的功夫。这篇文章主要讲述云原生安全关键要素相关的知识,希望能为你提供帮助。
【云原生安全关键要素】云原生安全与传统以虚拟化安全为主的云计算安全有巨大的差别:

  • 容器不是轻量级的虚拟化,容器安全不是轻量级的虚拟化安全;
  • 虚拟化安全关注的是资源,云原生安全关注的是应用;
  • 安全左移是云原生安全的必经之路。
1. 防护短生命周期的容器容器的生命周期分布大概呈三种类型:
  • 虚拟机型:有一小部分容器被当成虚拟机使用,即将本来放置于一个虚拟机中的程序集合部署到单个容器中,那么这些容器的生命周期与虚拟机是相当的,平均在83天左右,最长的为333天。
  • 原生型:有一部分容器是以Docker的命令启动和管理的,这部分容器完成独立的功能,因而生命周期在数十天。
  • 编排型:还有大量的容器是由编排系统管理的,很多容器根据业务动态生成和销毁,这类容器的生命周期在1天以内。
统计发现,46%的容器生命周期短于1小时,11%的容器生命周期短于1分钟。容器安全和虚拟化安全的最大差别看似是隔离技术强度,但其实应是生命周期,甚至没有之一,因为这会影响到双方的战术偏好。
因为容器存在的时间通常比较短,黑客会投入大部分精力去攻更为持久化的东西,如代码、第三方库、镜像等资产。开发安全和供应链安全将是云原生环境中的重点安全措施。
2. 降低安全运营成本安全的本质在于对抗以及防御投入产出比的平衡。从黑客方的视角看,由于容器的短生命周期,入侵容器的代价较高,而收益较小;但对第三方软件库、项目依赖的镜像“投毒”的持久化代价较小,而其收益远高于入侵容器。
那么从防守者的视角看,如何在降低安全运营成本的同时,提升安全防护效果呢?业界有一个词比较流行:Shift Left(安全左移)。将软件的生命周期从左到右展开,即开发、测试、集成、部署、运行阶段,安全左移的含义就是将安全防护从传统运行时运营(Ops)转向开发侧(Devs)。
3. DevSecOpsDevOps不只改变开发团队、测试团队和IT运营团队,还有安全团队。传统上,安全团队通常聚焦在运营侧,可能是IT运营团队中的一部分,而开发安全则主要由开发团队负责,两者从组织架构和工作职责上来看是天然分离的。在云原生场景下,安全左移要求安全团队越来越关注开发侧的安全,但同时又要保证以往运行时的各项安全功能可应用于云原生业务系统中,换句话说,安全能力应该覆盖开发和运营闭环的每个环节,这样的开发运营一体化安全称为DevSecOps。
4. 实现安全的云原生化
  • 安全架构具备编排能力:编排指将各类资源根据业务需要进行动态控制和管理。在云原生场景中,安全架构需要借助容器编排系统的能力来动态部署或销毁安全资源,并按需调度流量牵引或旁路到前述的安全资源,然后将安全策略下发到安全资源,形成全局统一、一致的安全能力。
  • 安全特权容器:通常这个安全容器需要一些能力来获得某些权限,当它需要所有的权限时,它其实就是一个特权容器。在很多安全厂商的容器安全方案中,宿主机侧通常会部署安全特权容器,以实现对其所在宿主机和容器的全方位防护。
  • Sidecar安全容器:Sidecar容器本质上就是一种提供反向代理的容器,该容器会劫持业务容器的流量,经过解析后获得应用层请求和响应,然后根据安全策略进行检测或防护。Sidecar安全容器与安全特权容器的区别是Sidecar安全容器尽可能贴近服务,可以与编排系统深度融合,随着微服务和无服务容器的增加而相应增加,反之亦然。Sidecar安全容器的资源管理和策略管理是云原生的。

    推荐阅读