镜像安全洞察

借助 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. 选择保存

关闭 Docker Scout 镜像分析

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示仓库的General页面。

  4. 选择Settings标签页。

  5. Image security insight settings下,选择None

  6. 选择保存

静态漏洞扫描

注意

Docker Hub 静态漏洞扫描需要 Docker Pro、Team 或 Business 订阅。

在开启静态扫描后,当您将镜像推送到 Docker Hub 仓库时,Docker Hub 会自动扫描该镜像以识别漏洞。扫描结果显示了扫描运行时镜像的安全状态。

扫描结果包括

  • 漏洞来源,例如操作系统 (OS) 包和库
  • 引入的版本
  • 如果可用,建议的修复版本,以修复发现的漏洞。

Docker Hub 中静态扫描的变化

自 2023 年 2 月 27 日起,Docker 更改了支持 Docker Hub 静态扫描功能的技术。静态扫描现在由 Docker 原生提供支持,而不是第三方。

由于此更改,扫描现在比以前检测漏洞的粒度更细。这反过来意味着漏洞报告可能会显示更多漏洞。如果您在 2023 年 2 月 27 日之前使用过漏洞扫描,您可能会发现新的漏洞报告列出的漏洞数量更多,这是由于更彻底的分析。

您无需采取任何行动。扫描将照常运行,不会中断或更改定价。历史数据将继续可用。

开启静态漏洞扫描

仓库所有者和管理员可以在仓库上启用静态漏洞扫描。如果您是团队或商业订阅的成员,请确保您要启用扫描的仓库属于团队或商业级别。

当仓库上的扫描处于活动状态时,任何具有推送访问权限的人都可以通过将镜像推送到 Docker Hub 来触发扫描。

要启用静态漏洞扫描

注意

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

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

    将显示仓库的General页面。

  4. 选择Settings标签页。

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

  6. 选择保存

扫描镜像

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

查看漏洞报告

查看漏洞报告

  1. 登录 Docker Hub

  2. 选择 My Hub > Repositories

    将显示您的仓库列表。

  3. 选择一个仓库。

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

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

    扫描报告显示了扫描识别出的漏洞,并根据其严重程度进行排序,最高严重程度的漏洞列在顶部。它显示了包含漏洞的软件包信息、引入漏洞的版本,以及漏洞是否在更高版本中得到修复。

    Vulnerability scan details

有关此视图的更多信息,请参阅 镜像详细信息视图

检查漏洞

漏洞报告根据其严重程度对漏洞进行排序。它显示了包含漏洞的软件包信息、引入漏洞的版本,以及漏洞是否在更高版本中得到修复。

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

修复漏洞

一旦确定了漏洞列表,您可以采取一些措施来修复这些漏洞。例如,您可以

  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. 选择保存

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.