使用 Vulnerability Advisor 管理映像安全性
Vulnerability Advisor 是 IBM Cloud® Container Registry 的一部分。 Vulnerability Advisor 用于检查 IBM 或第三方提供的容器映像的安全状态,或者检查添加到组织的注册表名称空间的容器映像的安全状态。
Vulnerability Advisor IBM Cloud Container Registry 提供安全管理。 Vulnerability Advisor 生成的安全状态报告包含建议的修复方法和最佳实践。
将映像添加到名称空间时,Vulnerability Advisor 会自动对该映像进行扫描,以检测安全问题和潜在漏洞。 如果发现安全问题,系统会提供指示信息,以帮助修复所报告的漏洞。
Vulnerability Advisor 发现的任何问题都会生成判定,指示不建议部署此映像。 如果选择部署该映像,那么基于该映像部署的任何容器包含已知问题,可能被用于攻击或以其他方式破坏容器。 该判定根据您指定的任何豁免进行调整。
修复 Vulnerability Advisor 所报告的安全和配置问题可帮助您确保 IBM Cloud 基础架构的安全。
您可以使用 IBM Cloud Security and Compliance Center 来监控Vulnerability Advisor检测到的漏洞。 有关更多信息,请参阅 Security and Compliance Center 入门。
Vulnerability Advisor 3版将于2023年11月13日停止使用。 有关如何更新到版本4的更多信息,请参阅 Vulnerability Advisor版本3将于2023年11月13日停止使用。
使用 Portieris 阻止部署 Vulnerability Advisor 发现的图像问题已被弃用。
关于 Vulnerability Advisor
Vulnerability Advisor 功能提供的功能可帮助您保护映像。
第4版中提供了以下功能:
- 扫描图像以发现问题。
- 根据 IBM Cloud Kubernetes Service 特有的安全实践创建评估报告。
- 在报告中提供如何修复已报告的 易受攻击软件包 的说明。
- 对账户、命名空间、存储库 或 标签级别的 报告应用豁免政策,以标记标记的问题不适用于您的用例。
Container Registry “图片”选项卡中的 “安全状态”列显示了与每张图片相关的问题数量。 如需了解更多信息,请点击安全状态列中的链接。
Vulnerability Advisor 仪表板提供映像安全性的概述和评估。 如果要了解 Vulnerability Advisor 仪表板的更多信息,请参阅复查漏洞报告。
加密图像不会被Vulnerability Advisor扫描。
数据保护
为了扫描帐户中的映像和容器以查找安全问题,Vulnerability Advisor 会收集、存储和处理以下信息:
- 自由格式字段,包括标识、描述和映像名称(注册表、名称空间、存储库名称和映像标记)
- 有关配置文件的文件方式和创建时间戳记的元数据
- 映像和容器中系统和应用程序配置文件的内容
- 已安装的包和库(包括其版本)
不要将个人信息放入 Vulnerability Advisor 处理的任何字段或位置中,如先前列表中所述。
在数据中心级别聚集的扫描结果经处理后可生成匿名度量值,从而运营和改进服务。
在版本4中,图像在首次推送到 Container Registry时即被建立索引,该索引报告存储在数据库中。 当查询 Vulnerability Advisor 时,会检索图像索引报告并生成漏洞评估报告。 每当查询Vulnerability Advisor时,都会动态发生此操作。 因此,不存在需要删除的预生成扫描结果。 然而,图像索引报告会在图像从注册表中删除后的30天内被删除。
漏洞类型
有漏洞的包
Vulnerability Advisor 会在使用受支持操作系统的映像中检查是否存在有漏洞的包,如有,将提供任何漏洞相关安全通知的链接。
扫描结果中会显示包含已知漏洞问题的包。 对于下表中所列的 Docker 映像类型,将使用已发布的安全通知,每天更新可能的漏洞。 通常,要使有漏洞的包能够通过扫描,需要该包的更高版本,其中包含对该漏洞的修订。 相同的包可能列出多个漏洞,在此情况下,对包进行一次更新可解决多个漏洞。
Vulnerability Advisor 仅在发行商发布软件包修复时返回漏洞。 Vulnerability Advisor不会报告尚未修复或不会修复的已申报漏洞。 因此,如果 Vulnerability Advisor 没有报告任何漏洞,则镜像中可能仍然存在风险。
对于版本4,图像会在第一次推送时建立索引。 此后,每当 Vulnerability Advisor 查询该图像时,都会计算漏洞评估。 只有带有标签的图片才会被扫描。
下表显示了Vulnerability Advisor检查易受攻击软件包时支持的 Docker 基础镜像。
Vulnerability Advisor 仅支持当前由平台供应商提供支持的版本。
Docker 基本映像 | 受支持的版本 | 安全通知的源 |
---|---|---|
Alpine | 所有稳定版本均提供供应商安全支持。 Edge也受支持。 | Alpine SecDB。 |
Debian | 所有稳定版本均提供供应商安全支持。
与 Debian |
Debian 安全漏洞追踪器。 |
GoogleContainerTools 无故障 | 所有稳定版本均提供供应商安全支持。 | GoogleContainerTools 无故障 |
Red Hat® Enterprise Linux® (RHEL) | RHEL/UBI 7、RHEL/UBI 8和RHEL/UBI 9 | Red Hat 安全数据API。 |
Ubuntu | 所有稳定版本均提供供应商安全支持。 | Ubuntu CVE Tracker。 |
如果您使用的图像基于上表中某个操作系统发行版,但供应商不支持该版本,且没有可用安全更新数据,例如,Debian 10或更早版本,则 Vulnerability Advisor 可能会为您的图像报告 No issues
。
配置问题
Vulnerability Advisor 4.0版本不支持配置问题。
设置Vulnerability Advisor的版本
要检索第4版的结果,请运行以下 ibmcloud cr va-version-set
命令。 唯一有效的值是 v4
。
ibmcloud cr va-version-set v4
或者,您可以设置环境变量 va_version
,并指定要使用的Vulnerability Advisor。 唯一有效的值是 v4
。
如果尝试设置无效版本的 Vulnerability Advisor,会出现 en 错误,请参阅 为什么会出现指定的 Vulnerability Advisor 版本无效的错误?
Vulnerability Advisor 3版将于2023年11月13日停止使用。 有关如何更新到版本4的更多信息,请参阅 Vulnerability Advisor版本3将于2023年11月13日停止使用。
复查漏洞报告
部署映像之前,可复查其 Vulnerability Advisor 报告,以获取有关任何有漏洞包和不安全容器或应用程序设置的详细信息。
您还可以检查映像是否符合组织策略。
如果您不解决任何发现的问题,这些问题可能会影响使用该镜像的容器的安全性。 如果您在容器运行时环境中使用强制执行,除非您的策略豁免了所有问题,否则您可能无法部署该镜像。
如果映像不满足组织策略所设置的需求,那么必须配置映像以满足这些需求,然后才能进行部署。 有关如何查看和更改组织策略的更多信息,请参阅设置组织豁免策略。
使用控制台查看漏洞报告
您可以使用 IBM Cloud 控制台检查存储在 Container Registry 中您命名空间中的 Docker 图片的安全性。 版本4不支持在控制台中查看漏洞报告,但您可以使用CLI或API。
-
登录到 IBM Cloud。
-
点击导航菜单图标,然后点击 Container Registry。
-
单击 映像。 映像列表和每个映像的安全状态将显示在映像表中。
-
要查看标记为
latest
的映像的报告,请单击该映像所在的行。 这会打开映像详细信息选项卡,显示该映像的数据。 如果存储库中不存在latest
标记,那么将使用最新的映像。 -
如果安全状态列显示任何问题,请点击 “按类型显示问题”选项卡,了解问题详情。 显示 “漏洞” 和 “配置问题”表格。
-
漏洞表。 下表显示了每个问题的漏洞编号、该问题的政策状态、受影响的软件包以及如何解决该问题。 要查看有关该问题的更多信息,请展开该行。 将显示问题的摘要,其中包含该问题的供应商安全通知的链接。 并列出包含已知漏洞问题的包。
对于漏洞类型中所列的 Docker 映像类型,将使用已发布的安全通知,每天更新列表。 通常,要使有漏洞的包能够通过扫描,需要该包的更高版本,其中包含对该漏洞的修订。 同一个软件包可能存在多个漏洞,在这种情况下,只需更新一个软件包即可解决多个问题。 单击安全通知代码,以查看包的更多信息以及更新包的步骤。
-
配置问题表。 此表显示了每个问题的配置问题编号、该问题的策略状态以及安全实践。 要查看有关该问题的更多信息,请展开该行。 将显示问题的摘要,其中包含该问题的安全通知的链接。
此列表包含为提高容器安全性而采取的措施的建议,以及容器任何不安全的应用程序设置。 展开相应行可查看问题的解决方法。
-
-
对报告中显示的每个问题完成更正操作,然后重建该映像。
使用 CLI 复查漏洞报告
您可以使用 CLI 复查存储在 IBM Cloud Container Registry 中名称空间内的 Docker 映像的安全性。
-
列出 IBM Cloud 帐户中的映像。 这将返回所有映像的列表,而无论其存储在哪个名称空间。
ibmcloud cr image-list
-
检查安全状态列中的状态。
No Issues
:未发现安全问题。<X> Issues
发现的安全隐患或漏洞,其中 是问题数量。<X>
Scanning
:正在扫描映像,未确定最终漏洞状态。Unsupported OS
扫描未发现任何受支持的操作系统(OS)版本,也没有任何活动配置问题。
-
要查看状态的详细信息,请复查 Vulnerability Advisor 报告:
ibmcloud cr va <region>.icr.io/<my_namespace>/<my_image>:<tag>
在 CLI 输出中,可以查看有关配置问题的以下信息。
Security practice
漏洞描述。Corrective action
如何修复漏洞。
设置组织豁免策略
如果想要管理 IBM Cloud 组织的安全性,您可以使用策略设置以确定问题是否为豁免。
您可以从任何镜像部署容器,而无需考虑安全状态。
如需了解豁免权限的更多信息,请参阅 IBM Cloud Container Registry访问角色。
使用 Portieris 阻止部署 Vulnerability Advisor 发现的图像问题已被弃用。
使用控制台设置豁免政策
如果您正在使用 IBM Cloud,您可以将 命名空间 、存储库 或 标签 设置为豁免策略的范围。 如果您想 以摘要 为范围,则必须使用 CLI,请参阅 使用 CLI 设置组织豁免策略。
如果您想通过 IBM Cloud 控制台设置政策豁免,请完成以下步骤:
-
登录到 IBM Cloud。 您必须登录后才能在 IBM Cloud 控制台中看到 Vulnerability Advisor。
-
点击导航菜单图标,然后点击 Container Registry。
-
单击设置。
-
在安全策略例外部分,点击创建。
-
选择问题类型。
-
输入问题标识。
您可以在漏洞报告中找到此信息。 漏洞标识列包含要用于 CVE 或安全声明问题的标识;配置问题标识列包含用于配置问题的标识。
-
选择您希望豁免适用的注册表命名空间、存储库、镜像和标签。
-
单击创建。
您还可以通过在相关行上悬停鼠标并单击打开和关闭选项列表图标,编辑和除去豁免。
使用CLI设置豁免政策
如果您使用的是CLI,您可以将 命名空间 、存储库 、摘要 或 标签 设置为豁免策略的范围。
如果您想通过CLI设置政策豁免,可以运行以下命令:
- 要创建安全问题豁免,请运行
ibmcloud cr exemption-add
命令。 - 要列出安全问题的豁免,请运行
ibmcloud cr exemption-list
命令。 - 要列出可豁免的安全问题的类型,请运行
ibmcloud cr exemption-types
命令。 - 要删除安全问题的豁免,请运行
ibmcloud cr exemption-rm
命令。
如需了解有关命令的更多信息,请在运行命令时使用 --help
选项。