前言
容器镜像安全是云原生应用交付安全的重要一环,对上传的容器镜像进行及时安全扫描,并基于扫描结果选择阻断应用部署,可有效降低生产环境漏洞风险。容器安全面临的风险有:镜像风险、镜像仓库风险、编排工具风险,小德今天就跟大家聊一聊镜像风险中的镜像扫描。
镜像扫描是什么?
镜像扫描就是遍历所有镜像中的文件系统,逐个检查软件包(Package)是否包含安全漏洞。例如,假设定义了“高”的阀值,如果发现某镜像内含有危险程度为“高”的安全漏洞,将拒绝所有对该镜像的拉取请求。
举个例子,就像我们每天做的核酸检测一样,社区会对每一个人做核酸检测,社区就相当与一个镜像仓库,每一个人就相当于一个镜像文件,发现病例,就地隔离,防止病毒传播。
镜像扫描的重要性
在云计算时代,越来越多的企业借助云原生踏上数字化转型之路,在数字化转型的潮流中,各大云厂商也在布局自己的云原生安全能力,保护云资产安全。
在享受云原生技术所带来便利的同时,云原生安全问题也成为大家关注的问题。黑客组织使用的技术,越来越高级,攻击也越来越频繁,而镜像扫描可以极大程度的发现潜在的漏洞。
市场上容器规模
根据目前权威的市场调查数据显示,72% 客户的容器规模为 100 个以上,4% 客户的容器规模超 5000 个,部署小规模容器的客户已经相当普遍,容器使用率迎来新增长。
伴随着容器的流行,它也成为黑客攻击的对象,容器安全受到重视。在容器安全方面,镜像安全是保护容器安全的基础,镜像扫描是解决镜像安全问题的基础手段。针对镜像风险问题,有效提升镜像扫描能力是关键。
保持容器镜像安全的两个方案
方案1:在镜像注册表中定期扫描
通过这种方式,我们需要为镜像注册表添加一个安全扫描程序,扫描程序可以是一个定时任务(Cron Job) 作业,也可以是由特定的人触发的可执行操作。
如果是一个定时任务,它将在特定时刻由定时任务自动触发。例如,Docker Hub 会在特定的时间扫描他们的官方注册表,当有任何漏洞被扫描出来时,它会向镜像维护者发送报警信息。
方案2:将扫描工具集成到 Pipeline 中
另一种方法是在 Pipeline 上对镜像产物进行扫描,这样更加简单高效。当我们将代码推送到代码存储库时, Pipeline 将自动执行扫描镜像的命令。因为 Pipeline 每次都是无差别地执行,所以我们可以发现任何安全问题并及时报警修复。
现在,越来越多的团队或公司使用敏捷来开发他们的项目。如果我们能够尽早地发现任何安全问题或者漏洞,我们就可以在产品发布之前降低产品的安全风险。Pipeline 是确保每一行代码和基础运行环境的安全性是的最好方法之一,因为它可以在提交代码时自动执行。
方案3:蜂巢自带镜像检测
蜂巢的镜像检查能力已经覆盖到开发、测试等多个环节中,可快速发现镜像中存在的漏洞、病毒木马、Webshell等镜像风险。
- 全生命周期的镜像扫描
- 功能模块化
持续的镜像补丁检测能力
持续更新漏洞数据库,并与集群中的容器镜像进行匹配。一旦发现任何新镜像补丁信息,用户将收到通知,而不必定期重新扫描。
全面的补丁数据呈现
深入检测运行环境和远程镜像仓库中容器镜像的重要更新补丁,综合考虑系统的业务影响、资产及补丁的重要程度、修复影响情况,智能提供最贴合业务的补丁修复建议。
灵活快速的检索方式
客户可根据需求灵活显示列表数据,定义表格显示。系统提供基于安全场景的筛选方式,如支持按 CVE 编号进行检索等,帮助用户迅速定位镜像和其安全补丁信息。
结论
目前,蜂巢·云原生安全平台客户已覆盖国央企、金融、运营商、互联网等100+头部客户。镜像扫描作为整个蜂巢·云原生安全平台中的重要部分,正在发挥着越来越重要的作用。