容器集群防护概述
什么是容器集群防护
在Kubernetes集群中,用户可以通过OPA(Open Policy Agent)或k8s原生等策略实现集群资源创建或更新的安全管控。然而,这些安全策略工具需要用户手动编写策略代码、部署插件或排查故障等,具有一定的技术门槛,并且运维较为复杂。
为此,企业主机安全集成了OPA能力,并结合k8s原生策略,推出了容器集群防护功能。该功能支持可视化配置安全策略,自动化部署防护插件,并在集群资源创建或更改前进行检查,识别并阻止存在安全风险(如漏洞、恶意文件)或配置不当的资源运行,从而提升整个集群的安全性。用户可以根据自身业务场景灵活配置容器集群防护策略,加固集群安全防线,防止含有安全威胁的资源部署到集群。
容器集群防护原理
企业主机安全通过在Kubernetes集群中部署Gatekeeper、cgs-provider插件,基于用户配置的容器集群防护策略,对即将创建或更新的集群资源(包括Pod、Deployment、ReplicaSet、CronJob、Service)进行合规性校验,一旦发现不符合安全策略的配置,将自动拦截其运行,从而实现对集群的细粒度准入控制与风险防控,提升集群安全性与合规性。
- 防护策略:用户在企业主机安全控制台配置的容器集群防护策略会下发到集群内部生成一个自定义资源(Custom Resource,CR),其定义了集群资源对象的校验规则。
- Gatekeeper:包含gatekeeper-controller-manager、gatekeeper-audit两个组件,以Deployment的形式部署在集群,用于监控k8s集群资源的创建或更改,根据防护策略检查创建或更改请求是否合规。如果不满足策略要求,Gatekeeper会阻止其创建或更改。
- cgs-provider:以Deployment的形式部署在集群,用于向企业主机安全云端防护中心获取镜像扫描结果(漏洞、基线、恶意文件信息),提供给Gatekeeper,作为镜像阻断的依据。
容器集群防护应用场景
- 容器镜像阻断
企业主机安全的容器镜像扫描功能能够对容器镜像进行全面的安全检测,帮助您识别潜在的安全风险,但对于存在漏洞等风险的仓库镜像、本地镜像,该功能无法阻止其被创建或使用。为了进一步提升生产环境的安全性,您可以结合使用容器集群防护功能的“镜像阻断策略”,在镜像运行前进行风险拦截,防止不合规镜像部署到生产环境。
- 资源准入控制
对集群资源的创建或更新请求实施准入控制,确保只有符合安全策略、资源限制或合规要求的资源才能成功启动,防止风险资源进入集群,提升集群整体的安全性。
约束与限制
- 容器集群防护功能仅企业主机安全容器版支持,购买企业主机安全的操作,请参见购买主机安全防护配额。
- 容器集群防护功能仅适用于节点操作系统架构为x86,且集群版本为1.20及以上的容器集群。
- 当集群类型为CCE集群时,操作集群内的资源对象需要获取对应的操作权限,因此使用容器集群防护功能时,用户账号需要具备以下两类权限之一
- IAM权限:Tenant Administrator或CCE Administrator。
- 命名空间权限(Kubernetes RBAC授权):运维权限。权限配置详细操作请参见配置命名空间权限。
