13.3. 扫描镜像
扫描程序 V4 是 RHACS 的默认扫描程序。扫描时,它会执行以下操作:
- Central 请求 Scanner V4 Indexer 下载和索引(analyze)给定镜像。
- 扫描程序 V4 Indexer 从 registry 中拉取镜像元数据,以确定镜像的层,并下载之前未索引的层。
- 扫描程序 V4 索引器从 Central 请求映射文件,以帮助索引过程。扫描程序 V4 Indexer 在索引报告中生成。
- Scanner V4 Matcher 与已知漏洞匹配的中央请求。此过程会导致最终的扫描结果:漏洞报告。扫描程序 V4 匹配程序从 Central 请求最新的漏洞。
- scanner V4 Matcher 从 Scanner V4 Indexer 请求镜像索引(索引报告)的结果。然后,它使用报告来确定相关漏洞。只有在 Central 集群中索引镜像时,才会进行此交互。当 Scanner V4 与安全集群中索引的镜像匹配的漏洞时,不会发生此交互。
- Indexer 将数据存储在与索引结果相关的 Scanner V4 DB 中,以确保镜像层仅下载并索引一次。这可以防止不必要的网络流量和其他资源利用率。
- 启用安全集群扫描后,Sensor 将 Scanner V4 请求到索引镜像。扫描程序 V4 索引程序从 Sensor 请求映射文件,以帮助索引过程,除非 Central 存在于同一命名空间中。在这种情况下,会联系 Central。
13.3.1. 了解并解决常见的扫描程序警告信息 复制链接链接已复制到粘贴板!
当使用 Red Hat Advanced Cluster Security for Kubernetes (RHACS)扫描镜像时,您可能会看到 CVE DATA MAY BE INACCURATE
警告信息。当扫描程序无法检索镜像中操作系统或其他软件包的完整信息时,它会显示此消息。
下表显示了一些常见的 Scanner 警告信息:
消息 | 描述 |
---|---|
| 表示 Scanner 不正式支持镜像的基本操作系统,因此无法检索操作系统级软件包的 CVE 数据。 |
| 表示镜像的基本操作系统已到期,这意味着漏洞数据已过时。例如,Debian 8 和 9。 有关识别镜像中组件所需的文件的更多信息,请参阅 检查漏洞的镜像。 |
| 表示 Scanner 扫描了镜像,但无法确定用于镜像的基本操作系统。 |
|
表示目标 registry 在网络上无法访问。原因可能是防火墙阻止 要分析根本原因,请为私有 registry 或存储库创建一个特殊的 registry 集成,以获取 RHACS Central 的 pod 日志。有关如何执行此操作的说明,请参阅 与镜像 registry 集成。 |
| 表示 Scanner 扫描了镜像,但镜像是旧的,它不属于红帽扫描器认证范围。如需更多信息,请参阅 红帽漏洞扫描程序认证合作伙伴指南。 重要 如果您使用红帽容器镜像,请考虑使用比 2020 年 6 月更新 的基础镜像。 |
13.3.2. 支持的操作系统 复制链接链接已复制到粘贴板!
本节中列出的支持的平台是 Scanner 识别漏洞的发行版本,它与您可以在其上安装 Red Hat Advanced Cluster Security for Kubernetes 的支持的平台不同。
扫描程序标识镜像中包含以下 Linux 发行版的漏洞。有关使用的漏洞数据库的更多信息,请参阅"RHACS 架构"中的"漏洞源"。
分发 | 版本 |
---|---|
| |
| |
CentOS |
|
以下漏洞源不是由厂商更新: | |
| |
| |
| |
| |
以下漏洞源没有由 vendor |
- 仅在 StackRox Scanner 中支持。
- 仅在 Scanner V4 中支持。
- Scanner V4 不支持在 2020 年 6 月超过 2020 年 6 月的镜像。
扫描程序不支持 Fedora 操作系统,因为 Fedora 不维护漏洞数据库。但是,Scanner 仍然会在基于 Fedora 的镜像中检测特定于语言的漏洞。
13.3.3. 支持的软件包格式 复制链接链接已复制到粘贴板!
扫描程序可以检查使用以下软件包格式的镜像中的漏洞:
软件包格式 | 软件包管理器 |
---|---|
apk | apk |
dpkg | apt, dpkg |
rpm | dnf, microdnf, rpm, yum |
13.3.4. 支持的编程语言 复制链接链接已复制到粘贴板!
扫描程序可以检查以下编程语言的依赖关系中的漏洞:
编程语言 | 软件包格式 |
---|---|
Go[1] | 二进制文件:用于构建二进制文件的标准库版本会被分析。如果二进制文件使用模块支持(go.mod)构建,则也会分析依赖项。 |
Java | JAR, WAR, EAR, JPI, HPI |
JavaScript | package.json |
Python | egg、wheel |
Ruby | gem |
- 仅在 Scanner V4 中支持。
13.3.5. 支持的层压缩格式 复制链接链接已复制到粘贴板!
容器镜像层是可能压缩或解压缩的 .tar
文件存档。stackrox Scanner 和 Scanner V4 支持不同的格式,如下表所示:
格式 | stackrox Scanner 支持 | 扫描程序 V4 支持 |
---|---|---|
没有压缩 | 是 | 是 |
bzip2 | 是 | 是 |
gzip | 是 | 是 |
xz | 是 | 否 |
zstd | 否 | 是 |
13.3.6. 支持的运行时和框架 复制链接链接已复制到粘贴板!
从 Red Hat Advanced Cluster Security for Kubernetes 3.0.50 (Scanner 版本 2.5.0)开始,StackRox Scanner 会识别以下开发人员平台中的漏洞:
- .NET Core
- ASP.NET Core
Scanner V4 不支持它们。
13.3.7. 将镜像拉取从源 registry 重定向到已镜像的 registry 复制链接链接已复制到粘贴板!
Red Hat Advanced Cluster Security for Kubernetes (RHACS)支持使用以下 OpenShift Container Platform 自定义资源(CR)之一从您配置的 registry 镜像扫描镜像:
-
ImageContentSourcePolicy
(ICSP) -
ImageDigestMirrorSet
(IDMS) -
ImageTagMirrorSet
(ITMS)
有关如何配置镜像 registry 存储库镜像的更多信息,请参阅"配置镜像 registry 存储库镜像"。
要从 registry 镜像扫描镜像,您必须配置委派的镜像扫描。
有关如何配置委托镜像扫描的更多信息,请参阅"访问委派的镜像扫描"。