14.5. 扫描 RHCOS 节点主机


对于 OpenShift Container Platform,Red Hat Enterprise Linux CoreOS (RHCOS)是 control plane 唯一支持的操作系统。虽然对于节点主机,OpenShift Container Platform 支持 RHCOS 和 Red Hat Enterprise Linux (RHEL)。使用 Red Hat Advanced Cluster Security for Kubernetes (RHACS),您可以扫描 RHCOS 节点漏洞并检测潜在的安全威胁。

RHACS 扫描在节点主机上安装的 RHCOS RPM,作为 RHCOS 安装的一部分,以了解任何已知的漏洞。

首先,RHACS 会分析并检测 RHCOS 组件。然后,它使用 RHEL 和 OpenShift 4.X Open Vulnerability 和评估语言(OVAL) v2 安全数据流来匹配识别的组件的漏洞。

注意
  • 如果使用 roxctl CLI 安装 RHACS,您必须手动启用 RHCOS 节点扫描功能。当您在 OpenShift Container Platform 上使用 Helm 或 Operator 安装方法时,这个功能会被默认启用。

14.5.1. 启用 RHCOS 节点扫描

如果使用 OpenShift Container Platform,您可以使用 Red Hat Advanced Cluster Security for Kubernetes (RHACS)启用对 Red Hat Enterprise Linux CoreOS (RHCOS)节点的扫描。

先决条件

流程

  1. 运行以下命令来更新合规性容器之一。

    • 对于禁用了指标的默认合规容器,请运行以下命令:

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":"disabled"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
      Copy to Clipboard Toggle word wrap
    • 对于启用了 Prometheus 指标的合规性容器,请运行以下命令:

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"name":"compliance","env":[{"name":"ROX_METRICS_PORT","value":":9091"},{"name":"ROX_NODE_SCANNING_ENDPOINT","value":"127.0.0.1:8444"},{"name":"ROX_NODE_SCANNING_INTERVAL","value":"4h"},{"name":"ROX_NODE_SCANNING_INTERVAL_DEVIATION","value":"24m"},{"name":"ROX_NODE_SCANNING_MAX_INITIAL_WAIT","value":"5m"},{"name":"ROX_RHCOS_NODE_SCANNING","value":"true"},{"name":"ROX_CALL_NODE_INVENTORY_ENABLED","value":"true"}]}]}}}}'
      Copy to Clipboard Toggle word wrap
  2. 通过执行以下步骤更新 Collector DaemonSet (DS):

    1. 运行以下命令,将新卷挂载添加到 Collector DS 中:

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"volumes":[{"name":"tmp-volume","emptyDir":{}},{"name":"cache-volume","emptyDir":{"sizeLimit":"200Mi"}}]}}}}'
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令添加新 NodeScanner 容器:

      $ oc -n stackrox patch daemonset/collector -p '{"spec":{"template":{"spec":{"containers":[{"command":["/scanner","--nodeinventory","--config=",""],"env":[{"name":"ROX_NODE_NAME","valueFrom":{"fieldRef":{"apiVersion":"v1","fieldPath":"spec.nodeName"}}},{"name":"ROX_CLAIR_V4_SCANNING","value":"true"},{"name":"ROX_COMPLIANCE_OPERATOR_INTEGRATION","value":"true"},{"name":"ROX_CSV_EXPORT","value":"false"},{"name":"ROX_DECLARATIVE_CONFIGURATION","value":"false"},{"name":"ROX_INTEGRATIONS_AS_CONFIG","value":"false"},{"name":"ROX_NETPOL_FIELDS","value":"true"},{"name":"ROX_NETWORK_DETECTION_BASELINE_SIMULATION","value":"true"},{"name":"ROX_NETWORK_GRAPH_PATTERNFLY","value":"true"},{"name":"ROX_NODE_SCANNING_CACHE_TIME","value":"3h36m"},{"name":"ROX_NODE_SCANNING_INITIAL_BACKOFF","value":"30s"},{"name":"ROX_NODE_SCANNING_MAX_BACKOFF","value":"5m"},{"name":"ROX_PROCESSES_LISTENING_ON_PORT","value":"false"},{"name":"ROX_QUAY_ROBOT_ACCOUNTS","value":"true"},{"name":"ROX_ROXCTL_NETPOL_GENERATE","value":"true"},{"name":"ROX_SOURCED_AUTOGENERATED_INTEGRATIONS","value":"false"},{"name":"ROX_SYSLOG_EXTRA_FIELDS","value":"true"},{"name":"ROX_SYSTEM_HEALTH_PF","value":"false"},{"name":"ROX_VULN_MGMT_WORKLOAD_CVES","value":"false"}],"image":"registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8:4.5.9","imagePullPolicy":"IfNotPresent","name":"node-inventory","ports":[{"containerPort":8444,"name":"grpc","protocol":"TCP"}],"volumeMounts":[{"mountPath":"/host","name":"host-root-ro","readOnly":true},{"mountPath":"/tmp/","name":"tmp-volume"},{"mountPath":"/cache","name":"cache-volume"}]}]}}}}'
      Copy to Clipboard Toggle word wrap

14.5.2. 分析和检测

当您将 RHACS 与 OpenShift Container Platform 搭配使用时,RHACS 会创建两个协调容器来分析和检测,Compliance 容器和 Node-inventory 容器。Compliance 容器已经是早期 RHACS 版本的一部分。但是,Node-inventory 容器带有 RHACS 4.0,仅适用于 OpenShift Container Platform 集群节点。

启动后,Compliance 和 Node-inventory 容器在五分钟内开始对 Red Hat Enterprise Linux CoreOS (RHCOS)软件组件的第一个清单扫描。接下来,Node-inventory 容器会扫描节点的文件系统来识别已安装的 RPM 软件包并报告 RHCOS 软件组件。之后,清单扫描会定期进行,通常每四个小时进行。您可以通过为 Compliance 容器配置 ROX_NODE_SCANNING_INTERVAL 环境变量来自定义默认间隔。

14.5.3. 漏洞匹配

Central 服务(包括 Central 和 Scanner)执行漏洞匹配。扫描程序使用红帽的开放漏洞和评估语言(OVAL) v2 安全数据流来匹配 Red Hat Enterprise Linux CoreOS (RHCOS)软件组件上的漏洞。

与早期版本不同,RHACS 4.0 不再使用 Kubernetes 节点元数据来查找内核和容器运行时版本。相反,它使用已安装的 RHCOS RPM 来评估该信息。

14.5.4. 相关环境变量

您可以使用以下环境变量在 RHACS 上配置 RHCOS 节点扫描。

Expand
表 14.4. node-inventory 配置
环境变量描述

ROX_NODE_SCANNING_CACHE_TIME

缓存清单被视为过时的时间。默认为 ROX_NODE_SCANNING_INTERVAL 的 90%,即 3h36m

ROX_NODE_SCANNING_INITIAL_BACKOFF

如果找到 backoff 文件,则节点扫描的初始时间(以秒为单位)。默认值为 30s

ROX_NODE_SCANNING_MAX_BACKOFF

backoff 的上限。默认值为 5m,是 Kubernetes 重启策略稳定性计时器的 50%。

Expand
表 14.5. 合规性配置
环境变量描述

ROX_NODE_SCANNING_INTERVAL

节点扫描之间的间隔持续时间的基本值。deafult 值为 4h

ROX_NODE_SCANNING_INTERVAL_DEVIATION

节点扫描持续时间可能与基本间隔时间不同。但是,最大值受 ROX_NODE_SCANNING_INTERVAL 限制。

ROX_NODE_SCANNING_MAX_INITIAL_WAIT

第一次节点扫描前等待的最长时间,这是随机生成的。您可以将此值设置为 0, 以禁用初始节点扫描等待时间。默认值为 5m

14.5.5. 使用仪表板识别节点中的漏洞

您可以使用 Vulnerability Management 视图来识别节点中的漏洞。识别的漏洞在核心 Kubernetes 组件和容器运行时中包括漏洞,如 Docker、CRI-O、runC 和 containerd。有关 RHACS 可扫描的操作系统的更多信息,请参阅"支持的操作系统"。

流程

  1. 在 RHACS 门户中,进入 Vulnerability Management Dashboard
  2. 选择标头中的 Nodes,以查看影响您的节点的所有 CVE 列表。
  3. 从列表中选择节点,以查看影响该节点的所有 CVE 的详细信息。

    1. 当您选择节点时,为所选节点打开 Node details 面板。Node 视图显示节点的深入详情,并包含由 CVSS 分数以及该节点可修复的 CVE 的信息。
    2. 选择 View All on the CVE by CVSS score widget 标头来查看所选节点上所有 CVE 的列表。您还可以过滤 CVE 列表。
    3. 要将可修复的 CVE 导出为 CSV 文件,请在 Node Findings 部分选择 Export as CSV

14.5.6. 查看节点 CVE

您可以使用 RHACS 识别节点中的漏洞。被识别的漏洞包括:

  • 核心 Kubernetes 组件中的漏洞
  • 容器运行时中的漏洞,如 Docker、CRI-O、runC 和 containerd

有关 RHACS 可扫描的操作系统的更多信息,请参阅"支持的操作系统"。

流程

  1. 在 RHACS 门户中,点 Vulnerability Management Node CVEs
  2. 要查看数据,请执行以下任一任务:

    • 要查看影响所有节点的所有 CVE 列表,请选择 < number> CVEs
    • 要查看包含 CVE 的节点列表,请选择 < number> Nodes
  3. 可选: 要根据实体过滤 CVE,请选择适当的过滤器和属性。要添加更多过滤条件,请按照以下步骤执行:

    1. 从列表中选择 entity 或 属性。
    2. 根据您的选择,输入适当的信息,如文本,或者选择一个日期或对象。
    3. 点向右箭头图标。
    4. 可选:选择其他实体和属性,然后单击右箭头图标来添加它们。下表中列出了过滤器实体和属性。

      Expand
      表 14.6. CVE 过滤
      实体属性

      节点

      • 名称 :节点的名称。
      • 操作系统 :节点的操作系统,如 Red Hat Enterprise Linux (RHEL)。
      • label :节点的标签。
      • 注解 :节点的注解。
      • 扫描时间 :节点的扫描日期。

      CVE

      • 名称 :CVE 的名称。
      • 发现时间 :当 RHACS 发现 CVE 的日期。
      • CVSS: CVE 的严重性级别。您可以从严重性级别的以下选项中选择:

        • 大于
        • 大于或等于
        • 等于
        • 小于或等于
        • 小于

      节点组件

      • name :组件的名称。
      • 版本: 组件的版本,如 4.15.0-2024。您可以使用此选项搜索组件的特定版本,例如与组件名称结合使用。

      集群

      • name :集群名称。
      • label : 集群 的标签
      • 类型 :集群类型,如 OCP。
      • 平台类型 :平台类型,如 OpenShift 4 集群。
  4. 可选: 要优化结果列表,请执行以下任一任务:

    • 单击 CVE 严重性,然后选择一个或多个级别。
    • 单击 CVE 状态,然后选择 FixableNot fixable
  5. 可选: 要查看节点的详情,并根据该节点的 CVSS 分数和可修复的 CVE 信息,点节点列表中的节点名称。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat