镜像安全洞察
利用 Docker Hub 的镜像安全洞察加强 Docker 镜像的安全性。Docker Hub 允许您执行定点静态漏洞扫描或使用 Docker Scout 进行始终保持最新的镜像分析。
Docker Scout 镜像分析
开启 Docker Scout 镜像分析后,Docker Scout 会自动分析 Docker Hub 仓库中的镜像。
镜像分析会提取软件物料清单 (SBOM) 和其他镜像元数据,并对照安全通告中的漏洞数据进行评估。
以下章节描述了如何开启或关闭 Docker Hub 仓库的 Docker Scout 镜像分析。有关镜像分析的更多详细信息,请参阅 Docker Scout。
开启 Docker Scout 镜像分析
登录 Docker Hub。
选择 我的 Hub > 仓库。
将显示您的仓库列表。
选择一个仓库。
将显示仓库的常规页面。
选择设置选项卡。
在镜像安全洞察设置下,选择 Docker Scout 镜像分析。
选择保存。
关闭 Docker Scout 镜像分析
登录 Docker Hub。
选择 我的 Hub > 仓库。
将显示您的仓库列表。
选择一个仓库。
将显示仓库的常规页面。
选择设置选项卡。
在镜像安全洞察设置下,选择无。
选择保存。
静态漏洞扫描
注意
Docker Hub 静态漏洞扫描需要 Docker Pro、Team 或 Business 订阅。
开启静态扫描后,当您向 Docker Hub 仓库推送镜像时,Docker Hub 会自动扫描镜像以识别漏洞。扫描结果显示了扫描运行时您的镜像的安全状态。
扫描结果包括
- 漏洞来源,例如操作系统 (OS) 包和库
- 引入漏洞的版本
- 推荐的修复版本(如果可用),用于修复发现的漏洞。
Docker Hub 静态扫描的变更
自 2023 年 2 月 27 日起,Docker 更改了支持 Docker Hub 静态扫描功能的技术。静态扫描现在由 Docker 本身提供支持,而不是第三方。
由于此更改,扫描现在能够以比以前更精细的粒度检测漏洞。这反过来意味着漏洞报告可能会显示更多数量的漏洞。如果您在 2023 年 2 月 27 日之前使用过漏洞扫描,您可能会发现新的漏洞报告列出了更多数量的漏洞,这是由于更彻底的分析所致。
您无需采取任何行动。扫描将照常运行,不会中断或更改价格。历史数据将继续可用。
开启静态漏洞扫描
仓库所有者和管理员可以启用仓库的静态漏洞扫描。如果您是 Team 或 Business 订阅的成员,请确保您希望启用扫描的仓库是 Team 或 Business 层级的一部分。
当仓库的扫描处于活动状态时,任何拥有推送权限的人都可以通过向 Docker Hub 推送镜像来触发扫描。
开启静态漏洞扫描
注意
静态漏洞扫描支持扫描 AMD64 架构、Linux 操作系统且大小小于 10 GB 的镜像。
登录 Docker Hub。
选择 我的 Hub > 仓库。
将显示您的仓库列表。
选择一个仓库。
将显示仓库的常规页面。
选择设置选项卡。
在镜像安全洞察设置下,选择静态扫描。
选择保存。
扫描镜像
要扫描镜像是否存在漏洞,请将镜像推送到 Docker Hub 中已开启扫描的仓库。
查看漏洞报告
查看漏洞报告
登录 Docker Hub。
选择 我的 Hub > 仓库。
将显示您的仓库列表。
选择一个仓库。
将显示仓库的常规页面。漏洞报告可能需要几分钟才能显示在您的仓库中。
选择标签选项卡,然后选择摘要,再选择漏洞以查看详细扫描报告。
扫描报告显示扫描识别到的漏洞,并按严重程度排序,最严重的列在顶部。报告显示包含该漏洞的包的信息、引入该漏洞的版本,以及该漏洞是否在更高版本中得到修复。
有关此视图的更多信息,请参阅 镜像详细视图。
检查漏洞
漏洞报告根据漏洞的严重程度对其进行排序。报告显示包含该漏洞的包的信息、引入该漏洞的版本,以及该漏洞是否在更高版本中得到修复。
漏洞扫描报告还允许开发团队和安全负责人比较不同标签之间的漏洞数量,以查看漏洞是随时间推移减少还是增加。
修复漏洞
一旦识别到漏洞列表,您可以采取几种措施来修复这些漏洞。例如,您可以:
- 在 Dockerfile 中指定更新的基础镜像,检查您的应用程序级依赖项,重新构建 Docker 镜像,然后将新镜像推送到 Docker Hub。
- 重建 Docker 镜像,在操作系统包上运行更新命令,并将新版本的镜像推送到 Docker Hub。
- 编辑 Dockerfile,手动删除或更新包含漏洞的特定库,重新构建镜像,并将新镜像推送到 Docker Hub。
Docker Scout 可以为您提供具体的、有针对性的修复步骤,以提高镜像安全性。有关更多信息,请参阅 Docker Scout。
关闭静态漏洞扫描
仓库所有者和管理员可以禁用仓库的静态漏洞扫描。要禁用扫描:
登录 Docker Hub。
选择 我的 Hub > 仓库。
将显示您的仓库列表。
选择一个仓库。
将显示仓库的常规页面。
选择设置选项卡。
在镜像安全洞察设置下,选择无。
选择保存。