镜像安全洞察

通过 Docker Hub 的镜像安全洞察功能,加强 Docker 镜像的安全性。Docker Hub 允许您执行一次性静态漏洞扫描,或使用 Docker Scout 进行始终最新的镜像分析。

Docker Scout 镜像分析

开启 Docker Scout 镜像分析后,Docker Scout 会自动分析 Docker Hub 仓库中的镜像。

镜像分析会提取软件物料清单 (SBOM) 和其他镜像元数据,并根据来自安全公告的漏洞数据对其进行评估。

以下部分介绍了如何为 Docker Hub 仓库开启或关闭 Docker Scout 镜像分析。有关镜像分析的更多详细信息,请参阅 Docker Scout

开启 Docker Scout 镜像分析

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示该仓库的 General 页面。

  4. 选择 Settings 选项卡。

  5. Image security insight settings 下,选择 Docker Scout image analysis

  6. 选择 Save

关闭 Docker Scout 镜像分析

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示该仓库的 General 页面。

  4. 选择 Settings 选项卡。

  5. Image security insight settings 下,选择 None

  6. 选择 Save

静态漏洞扫描

Note

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 推送镜像来触发扫描。

要启用静态漏洞扫描:

Note

静态漏洞扫描支持扫描 AMD64 架构、Linux 操作系统且大小小于 10 GB 的镜像。

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示该仓库的 General 页面。

  4. 选择 Settings 选项卡。

  5. Image security insight settings 下,选择 Static scanning

  6. 选择 Save

扫描镜像

要扫描镜像的漏洞,请将镜像推送到已开启扫描的 Docker Hub 仓库。

查看漏洞报告

要查看漏洞报告:

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示该仓库的 General 页面。 漏洞报告可能需要几分钟才能出现在您的仓库中。

    Vulnerability scan report
  4. 选择 Tags 选项卡,然后选择 Digest,再选择 Vulnerabilities 以查看详细的扫描报告。

    扫描报告将显示扫描识别的漏洞,按严重性排序,最严重的漏洞列在最上方。它显示包含漏洞的包的信息、引入漏洞的版本以及漏洞是否在后续版本中已修复。

    Vulnerability scan details

有关此视图的更多信息,请参阅 Image details view

检查漏洞

漏洞报告根据漏洞的严重性对其进行排序。它显示包含漏洞的包的信息、引入漏洞的版本以及漏洞是否在后续版本中已修复。

漏洞扫描报告还允许开发团队和安全负责人比较不同标签的漏洞数量,以查看漏洞数量是否随时间减少或增加。

修复漏洞

一旦识别出漏洞列表,您可以采取一些措施来修复漏洞。例如,您可以:

  1. 在 Dockerfile 中指定更新的基础镜像,检查应用程序级依赖项,重建 Docker 镜像,然后将新镜像推送到 Docker Hub。
  2. 重建 Docker 镜像,对操作系统包运行更新命令,并将镜像的新版本推送到 Docker Hub。
  3. 编辑 Dockerfile 以手动删除或更新包含漏洞的特定库,重建镜像,并将新镜像推送到 Docker Hub。

Docker Scout 可以为您提供具体的、上下文相关的修复步骤,以改进镜像安全性。有关更多信息,请参阅 Docker Scout

关闭静态漏洞扫描

仓库所有者和管理员可以在仓库上禁用静态漏洞扫描。要禁用扫描:

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示该仓库的 General 页面。

  4. 选择 Settings 选项卡。

  5. Image security insight settings 下,选择 None

  6. 选择 Save