静态漏洞扫描
笔记
本页介绍 Docker Hub 的旧版静态漏洞扫描功能。还有 Docker Scout,它提供更详细且始终最新的结果、用于改善安全状况的指导性修复步骤等等。
Docker Hub 静态扫描需要Docker Pro、Team 或 Business 订阅。
Docker Hub 静态漏洞扫描可让您自动对 Docker 映像运行时间点扫描以查找漏洞。
当您开启静态扫描后将镜像推送到 Docker Hub 存储库时,Docker Hub 会自动扫描镜像以识别漏洞。扫描结果显示运行扫描时图像的安全状态。
扫描结果包括:
- 漏洞的来源,例如操作系统 (OS) 软件包和库
- 引入它的版本
- 推荐的修复版本(如果有)用于修复发现的漏洞。
Docker Hub 中静态扫描的更改
从2023年2月27日起,Docker更改了支持Docker Hub静态扫描功能的技术。静态扫描现在由 Docker 本身提供支持,而不是第三方。
由于这一变化,扫描现在可以比以前更精细地检测漏洞。这反过来意味着漏洞报告可能会显示更多的漏洞。如果您在 2023 年 2 月 27 日之前使用过漏洞扫描,您可能会发现新的漏洞报告由于进行了更彻底的分析而列出了更多的漏洞。
您无需执行任何操作。扫描继续照常运行,不会中断或定价发生变化。历史数据仍然可用。
使用静态漏洞扫描扫描图像
Docker Pro、Team 或 Business 层的存储库所有者和管理员可以启用和禁用静态漏洞扫描。当存储库上的扫描处于活动状态时,任何具有推送访问权限的人都可以通过将映像推送到 Docker Hub 来触发扫描。
此外,Docker Pro 订阅中的存储库所有者以及团队或业务订阅中的团队成员可以查看详细的扫描报告。
笔记
静态漏洞扫描支持扫描AMD64架构、Linux操作系统、大小小于10GB的镜像。
开启静态漏洞扫描
存储库所有者和管理员可以对存储库启用静态漏洞扫描。如果您是团队或业务订阅的成员,请确保您要启用扫描的存储库是团队或业务层的一部分。
启用静态漏洞扫描:
- 登录您的 Docker Hub帐户。
- 选择存储库,然后选择一个存储库。
- 转到“设置”选项卡。
- 在“图像安全洞察设置”下,选择“静态扫描”。
- 选择保存。
扫描图像
要扫描映像中的漏洞,请将映像推送到 Docker Hub,即您已打开扫描的存储库:
确保您已在本地安装了 Docker。请参阅 获取 Docker 在本地计算机上下载并安装 Docker。
使用命令行登录您的 Docker 帐户。请参阅
docker login
获取更多信息。标记要扫描的图像。例如,要标记 Redis 映像,请运行:
$ docker tag redis <your-Docker-ID>/<your-repo-name>:latest
将镜像推送到 Docker Hub,触发镜像的静态漏洞扫描:
$ docker push <your-Docker-ID>/<your-repo-name>:latest
查看漏洞报告
查看漏洞报告:
进入 Docker Hub,打开仓库页面,查看静态漏洞扫描报告摘要。
漏洞报告可能需要几分钟时间才会出现在您的存储库中。
选择“标签”选项卡,然后选择“摘要”,然后选择“漏洞”以查看详细的扫描报告。
扫描报告显示扫描识别的漏洞,并根据其严重性对其进行排序,最高严重性列在顶部。它显示有关包含漏洞的软件包、引入该漏洞的版本以及该漏洞是否在更高版本中修复的信息。
有关此视图的更多信息,请参阅 图像详细信息视图。
检查漏洞
漏洞报告根据漏洞的严重性对漏洞进行排序。它显示有关包含漏洞的软件包、引入该漏洞的版本以及该漏洞是否已在更高版本中修复的信息。
漏洞扫描报告还允许开发团队和安全主管比较跨标签的漏洞计数,以了解漏洞是否随着时间的推移而减少或增加。
修复漏洞
识别出漏洞列表后,您可以采取一些操作来修复这些漏洞。例如,您可以:
- 在 Dockerfile 中指定更新的基础映像,检查应用程序级依赖关系,重建 Docker 映像,然后将新映像推送到 Docker Hub。
- 重建 Docker 映像,对操作系统包运行更新命令,并将较新版本的映像推送到 Docker Hub。
- 编辑 Dockerfile 以手动删除或更新包含漏洞的特定库、重建镜像并将新镜像推送到 Docker Hub
Docker Scout 可以为您提供具体的、上下文相关的修复步骤,以提高镜像安全性。有关更多信息,请参阅 Docker Scout。
关闭静态漏洞扫描
存储库所有者和管理员可以禁用存储库上的静态漏洞扫描。要禁用扫描:
- 登录您的 Docker Hub帐户。
- 转到存储库,然后从列表中选择一个存储库。
- 转到“设置”选项卡。
- 在“图像安全洞察设置”下,选择“无”。
- 选择保存。