容器安全-镜像扫描

前言

容器镜像安全是云原生应用交付安全的重要一环,对上传的容器镜像进行及时安全扫描,并基于扫描结果选择阻断应用部署,可有效降低生产环境漏洞风险。容器安全面临的风险有:镜像风险、镜像仓库风险、编排工具风险,小德今天就跟大家聊一聊镜像风险中的镜像扫描。

 镜像扫描是什么?

镜像扫描就是遍历所有镜像中的文件系统,逐个检查软件包(Package)是否包含安全漏洞。例如,假设定义了“高”的阀值,如果发现某镜像内含有危险程度为“高”的安全漏洞,将拒绝所有对该镜像的拉取请求。

举个例子,就像我们每天做的核酸检测一样,社区会对每一个人做核酸检测,社区就相当与一个镜像仓库,每一个人就相当于一个镜像文件,发现病例,就地隔离,防止病毒传播。

 镜像扫描的重要性

在云计算时代,越来越多的企业借助云原生踏上数字化转型之路,在数字化转型的潮流中,各大云厂商也在布局自己的云原生安全能力,保护云资产安全。

在享受云原生技术所带来便利的同时,云原生安全问题也成为大家关注的问题。黑客组织使用的技术,越来越高级,攻击也越来越频繁,而镜像扫描可以极大程度的发现潜在的漏洞。

市场上容器规模

根据目前权威的市场调查数据显示,72% 客户的容器规模为 100 个以上,4% 客户的容器规模超 5000 个,部署小规模容器的客户已经相当普遍,容器使用率迎来新增长。

伴随着容器的流行,它也成为黑客攻击的对象,容器安全受到重视。在容器安全方面,镜像安全是保护容器安全的基础,镜像扫描是解决镜像安全问题的基础手段。针对镜像风险问题,有效提升镜像扫描能力是关键。

保持容器镜像安全的两个方案

方案1:在镜像注册表中定期扫描

通过这种方式,我们需要为镜像注册表添加一个安全扫描程序,扫描程序可以是一个定时任务(Cron Job) 作业,也可以是由特定的人触发的可执行操作。

如果是一个定时任务,它将在特定时刻由定时任务自动触发。例如,Docker Hub 会在特定的时间扫描他们的官方注册表,当有任何漏洞被扫描出来时,它会向镜像维护者发送报警信息。

方案2:将扫描工具集成到 Pipeline 中

另一种方法是在 Pipeline 上对镜像产物进行扫描,这样更加简单高效。当我们将代码推送到代码存储库时, Pipeline 将自动执行扫描镜像的命令。因为 Pipeline 每次都是无差别地执行,所以我们可以发现任何安全问题并及时报警修复。

现在,越来越多的团队或公司使用敏捷来开发他们的项目。如果我们能够尽早地发现任何安全问题或者漏洞,我们就可以在产品发布之前降低产品的安全风险。Pipeline 是确保每一行代码和基础运行环境的安全性是的最好方法之一,因为它可以在提交代码时自动执行。

方案3:蜂巢自带镜像检测

蜂巢的镜像检查能力已经覆盖到开发、测试等多个环节中,可快速发现镜像中存在的漏洞、病毒木马、Webshell等镜像风险。

  • 全生命周期的镜像扫描

  • 功能模块化

持续的镜像补丁检测能力

持续更新漏洞数据库,并与集群中的容器镜像进行匹配。一旦发现任何新镜像补丁信息,用户将收到通知,而不必定期重新扫描。

全面的补丁数据呈现

深入检测运行环境和远程镜像仓库中容器镜像的重要更新补丁,综合考虑系统的业务影响、资产及补丁的重要程度、修复影响情况,智能提供最贴合业务的补丁修复建议。

灵活快速的检索方式

客户可根据需求灵活显示列表数据,定义表格显示。系统提供基于安全场景的筛选方式,如支持按 CVE 编号进行检索等,帮助用户迅速定位镜像和其安全补丁信息。

结论

目前,蜂巢·云原生安全平台客户已覆盖国央企、金融、运营商、互联网等100+头部客户。镜像扫描作为整个蜂巢·云原生安全平台中的重要部分,正在发挥着越来越重要的作用。

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作标准容器镜像时,以下是一些最佳实践建议: 1. 使用官方基础镜像:选择官方提供的基础镜像作为起点,如Alpine、Ubuntu等。这些镜像经过广泛测试和维护,具备良好的稳定性和安全性。 2. 最小化镜像大小:在构建镜像时,尽量减少不必要的软件包和依赖项,保持镜像的最小化。这有助于减少镜像的大小,提高部署效率和安全性。 3. 使用版本控制:明确指定所使用的软件包和依赖项的版本号,避免依赖项的自动更新可能引发的不兼容问题。 4. 单一职责原则:每个容器应只包含一个应用程序或服务,并尽量做到单一职责。这有助于隔离和管理容器,简化维护和更新过程。 5. 避免使用root用户:在容器中避免使用root用户,而是创建一个非特权用户来运行应用程序。这可以减少潜在的安全风险,限制容器内部操作的权限。 6. 清理不必要的文件:在构建镜像时,确保删除不必要的临时文件、日志文件和缓存文件等,以减少镜像大小。 7. 安全更新和漏洞扫描:定期更新基础镜像和应用程序,确保镜像中的软件包和依赖项都是最新的。同时,进行漏洞扫描安全审查,及时修复发现的安全漏洞。 8. 使用环境变量:通过使用环境变量来配置容器的参数和设置,提高容器的可配置性和灵活性。 9. 编写清晰的Dockerfile:使用清晰、简洁的Dockerfile来构建镜像,并遵循最佳实践的规范。合理使用多个阶段构建、缓存和分层,优化构建过程和镜像大小。 10. 文档和版本管理:为镜像提供清晰的文档,包括构建过程、使用说明和配置选项等。同时,使用版本控制系统对镜像进行管理和追踪。 这些最佳实践可以帮助您创建更安全、高效和可维护的标准容器镜像。根据自己的需求和实际情况,可以进一步优化和调整这些实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值