站点图标 Linux-技术共享

云原生容器安全解决方案

云计算应用已经深入到各行业和多种场景中,成为企业数字化转型的基础设施,应用形式多样。同时,在多样化的环境下,基于容器的云原生安全风险也被不断放大,成为企业上云的最大挑战。

背景说明 #

容器技术是云原生的基础,是云原生时代软件开发和运维的标准基础设施。随着云原生的逐渐普及,容器技术及云原生面临的安全问题也越来越多。

镜像软件供应链安全风险 #

开发者通常会在互联网的镜像仓库获取源镜像,之后镜像在本地环境中会经过镜像构建、仓库存储,测试及生产环境部署等多个环节,每个阶段均可能引入安全风险。

常见的软件供应链风险包括:

容器运行时安全风险 #

容器运行过程中,入侵者会采用多样化的入侵手段对容器侧进行攻击,包括病毒/恶意程序攻击、容器内部的入侵行为、容器逃逸和高风险操作等恶意攻击风险行为。

其中,容器逃逸最为严重,它会直接影响到承载容器的底层基础设施和集群内所有容器的安全稳定。诸如危险配置、挂载、程序漏洞、内核漏洞等行为均有可能造成容器逃逸。

容器平台环境安全风险 #

容器平台环境中的底层的操作系统、容器引擎、编排系统都可能在存在相应的漏洞、不恰当的配置、恶意文件等各种脆弱性扩散,攻击者利用平台环境的脆弱性,能够轻易的获取高级别的权限,造成较大的安全风险。

常见的平台环境风险:例如:平台自身漏洞导致非法提权和逃逸攻击、不安全配置引起账户管理问题导致系统入侵、不同安全级容器混合部署导致高安全级容器面临入侵风险、资源使用不设限导致拒绝服务攻击、访问策略配置不当导致非法访问。

容器网络应用安全风险 #

容器环境下微服务之间的调用关系复杂,东西向网络流量增大、容器间的网络隔离控制较弱、应用层防护能力缺失、流量封装 IP 快速变化造成的流量可视化不足。某个容器一旦失陷,就会被作为跳板攻击容器网络中其他可访达资产,整个网络中的资产会面临巨大的风险。

传统的安全技术手段如漏洞扫描工具、EDR、安全基线扫描、防火墙、安全管理平台无法解决以上容器安全风险。传统漏洞扫描无法覆盖容器镜像、EDR 仅局限在主机层面无法检测容器层面的危险、安全基线无法覆盖容器平台环境安全基线风险、防火墙仅针对于物理边界而无法对东西向流量隔离、地址变化、应用层防护等场景进行保障、安全管理平台仅局限于运维人员没有引入 DevOps 流程。

因此,需要深入研究容器安全场景需求,自下而上的对容器场景面临的安全风险进行深入研究,研发容器安全防护平台,保障企业容器平台上业务连续稳定运行。

方案介绍 #

有效实现软件镜像供应链全生命周期的安全管理,把安全工作从运行时左延到 CI 构建阶段,将安全能力与 DevOps 平台集成,透明无感知地嵌入到云原生应用构建、发布到仓库、部署到集群节点和镜像启动的各个环节中。 全生命周期保障手段如下图所示。

在应用构建阶段,需要关注源镜像安全、第三方开发工具包安全、构建配置安全,并设置有效的阻断策略,避免存在风险的构建行为。
镜像构建完成后,将镜像推送到镜像仓库中,仓库中镜像同样需要定期进行安全扫描,包括漏洞、配置、恶意文件等,防止仓库中镜像被仿冒。镜像由仓库部署到生产环境中,需要配置相应的安全卡点,防止风险镜像流入生产环境。

在容器运行阶段,需要配置有效的入侵防御检测能力,对相关的威胁可以设置告警或者容器隔离。在网络层面,配置有效的网络微隔离策略,并针对应用层配置 WAF 安全能力。对容器平台底座的容器引擎、Kubernetes 编排引擎等配置有效的安全加固。

在容器安全实践过程中,实际用户场景存在如下特点:

  1. 多角色。开发部门和运维部门均是基于镜像进行开发测试部署,运维部门负责提供安全的系统镜像,开发部门将应用代码封装到基础镜像形成业务镜像。镜像对应的部分出现问题,需要正确的转到负责的部门进行修复。
  2. 多仓库。用户环境存在基础镜像仓库、测试仓库、生产仓库等多种类型的仓库。
  3. 开发/生产环境安全交互控制。开发和生产环境属于不同的区域,需要配置一致的访问控制策略。

因此,基于业务视角容器安全防护最佳实践,如下图所示。

  1. 运维人员提供基础镜像(黄金镜像),对基础镜像的仓库定期进行安全扫描。
  2. 构建业务镜像时实时扫描及阻断。
  3. 镜像脆弱性修复(各司其职:基础镜像-运维部门、业务镜像-开发部门)。
  4. 上传测试仓库并再次扫描。
  5. 在测试环境进行业务验证及运行时安全检测。
  6. 测试环境验证完成后镜像同步到生产仓库。
  7. 配置镜像运行策略并进行启动阻断。
  8. 容器运行后实施运行时防护及网络微隔离、WAF 等安全策略。
  9. 容器环境配置基线安全检测。

以上最佳实践过程中,容器安全能力有效地契合用户的业务场景,提供深度匹配的云原生化安全,从 DevOps 的各个环节,有效控制潜在的安全风险。

核心能力展示 #

镜像漏洞风险全流程运营管控 #

镜像漏洞全流程安全运营管理工作分为漏洞检测、漏洞分析、漏洞修复、卡点阻断几个环节。

说明

漏洞分析、漏洞修复环节是提升镜像漏洞修复工作有效性和效率的重要环节。

漏洞分析

结合企业业务环境特点,对漏洞风险进行智能化分析评分。评分需要综合考虑 CVE 本身的风险要素和环境风险要素,从实战化的角度分析出漏洞被利用的可能性。

另外,引入更多的维度对漏洞状态及影响范围进行标识展示,给安全运营输入更多有价值的信息。通过创新性手段对漏洞状态进行有效的分类。将漏洞状态分为 PoC 未公开(概念验证)、PoC 已公开(概念验证)、Exp(漏洞利用程序)、武器化等,其中 Exp 和武器化表明了成熟的攻击方式正开始在黑产中流通,是重点关注的内容。同时,将漏洞影响范围可视化呈现,如其相关的容器、镜像、软件包、主机的等关联资产展示。

因此,通过漏洞风险评分、漏洞状态标识和漏洞关联资产展示等技术手段,可以更快更有效判定漏洞修复的优先级,为漏洞修复工作指明方向。

漏洞修复

按照火山引擎内部的流程,安全运维部门会预先标识出系统镜像。之后在处理大批量的漏洞扫描信息时,采用独特的镜像风险分层技术,快速鉴别出漏洞哪些出是系统镜像引起的,哪些是上层的应用软件包引起的,以便快速区分是将最终的修复责任属于运维团队或者开发团队,高效的定位修复问题。

智能化威胁检测全栈覆盖 #

威胁检测使用行为基线引擎、敏感行为引擎,CEP 关联分析方法,从容器安全事件中准确定位出威胁,可全面覆盖各类已知和未知威胁,能力如下图所示。

立体化云原生网络防护能力 #

支持业内领先的容器应用防护能力(WAF),提供集告警、攻击行为拦截为一体的威胁防护服务,可防护 Webshell、SQL 注入攻击、远程控制等典型的 Web 应用攻击。
提供基于 Kubernetes 生态的网络微隔离,阻止异常网络链接,提升东西向流量的安全性。采用独有的近源端设计,网络控制高效兼容 Calico, Flannel, VPC-CNI 等各种云原生网络方案。

云原生化部署运行 #

所有容器安全防护组件包括控制台和 Agent,均以非特权平行容器的方式运行,可自主设置资源消耗上限,对容器平台低侵入。其中,防护探针以 Kubernetes 守护类型安装部署,多个节点均可一键部署。
整个部署方式,轻量化,支持高可用以及资源的弹性扩展,具有优秀的健康自愈能力,秒级故障自恢复,容错能力强。
支持容器引擎接口精细化访问控制,用户客户端通过容器引擎接口访问容器平台资源进行细粒度命令行层面管控,对容器资源进行有效安全隔离,保证容器平台稳定运行。

退出移动版