云原生环境下的安全风险及防护策略研究

2026-04-08 国家保密科技测评中心

3 云原生环境安全防护思路

3.1 安全机制左移

容器的生存时间(Time To Live,TTL)对安全技术有显著的影响。据统计,46%的容器生存时间小于1小时,11%的容器小于1分钟,对容器的攻击和防护有可能跟不上容器自身的变化。因此,对于攻击者而言,在其攻击链条中会倾向于寻找更持久化的资源,如代码、第三方库、镜像、仓库、编排系统、控制面、宿主机等;而对于安全防护而言,将实时杀毒、入侵检测等防护工具安装在轻量级的容器当中变得不可行,需转变思路将安全控制向开发侧转移,在DevOps中加入更多安全控制,包括开发/测试/验证安全、软件供应链安全、镜像仓库安全、监控与分析以及配置和暴露面的核查。例如,使用代码检查工具进行代码静态分析、使用镜像漏洞扫描工具对镜像仓库进行扫描、核查用户凭证、密钥配置等。开发及安全运维一体化(DevSecOps)框架如图1所示。

3.2 容器运行时行为的聚焦

容器具有体量小、平均生命周期短、变化较快的特点,因其源于镜像,在运行时来自同一镜像的容器行为具有相似性,如容器的用户、进程及数量、文件路径、CPU/内存资源使用等。通过对容器的行为画像、分析和规格匹配,若出现异常的新用户、新路径、CPU偏高等情况,可以获取高置信度的告警信息。

3.3 最小权限原则

在宿主机、容器、编排集群、DevOps以及微服务管理中,多种访问关系错综复杂,用户和服务认证授权方面错误配置和漏洞非常容易被利用。因此,要尽量明确组件间边界和划分,控制权限的细粒度,合理限制组件的权限,确保组件只执行它被授权的行为,限制容器对基础设施和同存的其他容器的干扰和影响,保证容器与其所在宿主机的隔离,避免攻击者恶意越权访问,使数据或功能遭到恶意破环。

3.4 零信任架构

云原生环境下云计算、容器集群架构复杂,访问类型多样,尤其在涉及多租户,云的运营方、使用方、应用开发方均为独立实体的情况下,客观上要求能够随时在云原生环境的任何位置进行风险的控制、分析和防范,也就是零信任(默认不信任)架构的理念需要贯穿在安全防护中。

4 云原生环境安全体系构建方案

针对云原生环境下容器基础设施、编排平台、网络、云原生应用层面存在的风险,结合云安全防护思路,在对应层面建立安全防护机制,形成全生命周期的安全防护体系,如图2所示。

4.1 容器基础设施的安全

在镜像构建时,验证依赖镜像的来源,最小化安装减小风险引入,构建完成立即进行漏洞扫描;在镜像仓库中,从公共仓库选择官方镜像最新版本,下载后进行漏洞检测并保证及时更新,私有仓库配置安全证书,并对用户访问进行权限控制;在镜像分发时,利用数字签名对镜像进行验证,防止被恶意篡改。

从容器宿主机的角度,通过最小化安装、最小权限授权、容器存储单独分区、Docker守护进程及相关文件目录审计,Docker软件及时更新等方式对容器环境进行加固。

充分利用Linux自身内核安全机制来实现容器资源的隔离和权限的管控,如利用SELinux实现进程访问文件的强制控制访问,保证进程只能访问它的任务中所需的文件。

监测运行时容器异常行为,正常的容器进程行为虽然是动态的,但其行为应该在一定基线内变化,可以认为大幅偏离此基线的行为存在风险。这种监测基线既可以通过已知威胁的规则库建立,也可以通过大量容器行为和属性集合进行分类、聚合、自学习等方式来自动构建。

4.2 编排系统的安全

利用K8s自身提供的安全机制,从认证授权、准入控制、密钥管理以及Pod自身提供的安全策略和网络策略确保编排系统的组件和配置都是符合安全要求的。

利用X.509证书开启K8s的集群访问认证,要求客户端必须通过证书验证后才能进一步授权;启动服务账号令牌认证机制,通过令牌控制集群内进程能否与API Server进行通信;使用Secret对象保存敏感信息,如密码、令牌和SSH密钥;通过基于角色的访问控制(RBAC)为Pod安全策略授权实现准入控制,以及通过网络策略实现Pod间的可靠通信等。

4.3 网络安全

针对云原生网络架构虚拟化、连接情况复杂、网络边界动态变化的特点,需要在更细粒度上实现网络隔离,减少不同容器间网络横向攻击的风险。同时,需要引入零信任安全理念。

正文暂未发布

当前稿件尚未补充正文内容,后续可在后台完善内容后自动恢复显示。你也可以先返回栏目页浏览其他资讯。

上一篇
下一篇