云原生安全检测器 Narrows发布,在Harbor上增加容器安全的动态扫描

时间:2023-02-23 12:09:08

国内外的用户都在使用云原生技术来提高应用的开发效率和可管理性,不少用户运用开源Harbor制品仓库,管理敏捷软件供应链中云原生应用的镜像,包括镜像存储、镜像扫描和镜像签名等功能。

Harbor已经提供了一些高级的安全功能,例如,对镜像进行扫描,以发现潜在的安全问题。Harbor的镜像扫描功能本质上属于静态扫描,即通过Trivy,Clair,雅客云(Arksec)等漏洞扫描器(scanner),对镜像进行由事件触发或周期性的扫描。静态扫描可检测到镜像文件中潜在的威胁,但部分有风险的镜像仍有可能通过扫描器的检测,并被部署到Kubernetes集群中,从而引入了运行时的风险。

举个例子,Harbor对某个镜像进行了扫描,检测结果是该镜像达到一定的安全级别,允许它上线运行。过了一段时间,有个新的CVE漏洞被发现,恰好该镜像包含了这个漏洞,在漏洞修复前Harbor不再容许该镜像上线。但是对已经处于运行态的镜像来说,Harbor则无能为力。

鉴于Harbor重点在云原生应用的静态安全保护,面对日趋严重的“供应链攻击”的风险,用户需要提高另一方面的安全能力,即动态安全保护(运行时安全保护)。

为此,我们推出了全新的开源项目CNSI,即云原生安全检测器(Cloud Native Security Inspector),项目代号:Narrows。在Harbor的基础上,Narrows增强了动态安全方面的能力,它允许用户对Kubernetes集群和其中的工作负载进行运行时的安全态势评估。

镜像仓库中的镜像可以在被引入到Kubernetes的集群时被扫描,同时Kubernetes集群本身的配置和状态一并被扫描并生成安全报告。从而让管理员发现、标记集群中所存在的安全漏洞,并对有漏洞的工作负载进行隔离。

Narrows所带来的运行时动态安全扫描能力非常关键,它帮助管理员对Kubernetes集群和其上工作负载有更好的安全状态控制和感知,而不仅仅是只关注工作负载的生命周期。

Narrows提供的能力包括:

对运行时的漏洞动态检测和感知

发现Kubernetes集群的错误配置

在工作负载运行时,终止进行中的攻击

对扫描报告进行汇总、聚合和分析并提供开放的API接口

与Harbor无缝的集成。对于外部公共镜像仓库的镜像,可以自动同步到Harbor中,以生成安全数据。

云原生安全检测器 Narrows发布,在Harbor上增加容器安全的动态扫描

Narrows与Harbor进行了集成,如上图。Narrows允许用户通过简单的界面来定义对Kubernetes集群中工作负载的安全期望,并根据用户指定的扫描器和扫描周期对工作负载进行扫描。对于不满足安全要求的工作负载进行隔离。

当前版本的Narrows支持三种扫描器,分别是:

Image scanner (镜像扫描器),将Kubernetes集群中镜像的安全漏洞等级与用户期望的安全漏洞等级进行比较,可以对不满足安全预期的工作负载进行隔离。

Kubebench scanner (Kubebench扫描器),使用kubebench对Kuberentes集群的配置进行扫描,发现不合理的配置项并提供修改建议。

Risk scanner (运行风险扫描器),对于工作负载中所包含的软件包进行扫描,并提供对应的CVE详情。

云原生安全检测器 Narrows发布,在Harbor上增加容器安全的动态扫描

我们计划通过接入新的安全数据源和引入新的扫描器来增强Narrows的检测能力。与此同时,我们将进一步深入研究并扩展对安全漏洞和不安全负载的处理能力。在安全数据分析洞察部分,我们期望可以将多维度的安全数据进行综合汇总,按照不同的场景和用户的偏好进行安全风险排序、筛选和结果呈现。

Narrows已经由VMware公司开源,采用商业化友好的阿帕奇 2.0软件许可,方便用户作扩展和创新。在社区方面,雅客云(Arksec)在Narrows最新发布中贡献了排序功能,可结合容器运行时的扫描对安全漏洞进行优先级排序。雅客云也将持续参与Narrows项目,计划贡献多项安全能力。

Narrows已经开源,项目的GitHub地址是:

https://github.com/vmware-tanzu/cloud-native-security-inspector