4.6. 使用进程基准


您可以通过对基础架构安全性使用流程基础来最小化风险。通过这种方法,Red Hat Advanced Cluster Security for Kubernetes 首先发现现有进程并创建基准。然后,它以默认的 deny-all 模式运行,只允许基线中列出的进程运行。

进程基准
安装 Red Hat Advanced Cluster Security for Kubernetes 时,没有默认的进程基准。当 Red Hat Advanced Cluster Security for Kubernetes 发现部署时,它为部署中的每个容器类型创建一个进程基准。然后,它会将所有发现的进程添加到自己的进程基线中。
进程基准状态
在进程发现阶段,所有基准都处于解锁状态。

处于 解锁 状态:

  • 当 Red Hat Advanced Cluster Security for Kubernetes 发现新的进程时,它会将该进程添加到进程基点中。
  • 进程不会显示为风险,且不会触发任何违反情况。

当 Red Hat Advanced Cluster Security for Kubernetes 从部署中的一个容器接收第一个进程指示符时,它会完成进程发现阶段。有关如何配置发现阶段持续时间的详情,请参考"配置进程基准的观察周期"。

此时:

  • Red Hat Advanced Cluster Security for Kubernetes 会停止向进程基础中添加进程。
  • 不在进程基线中的新进程会显示为风险,但不会触发任何违反情况。

要生成违反情况,您必须手动锁定进程基线。

处于 锁定状态

  • Red Hat Advanced Cluster Security for Kubernetes 会停止向进程基础中添加进程。
  • 不在进程基线中的新进程会触发违反情况。

独立于锁定或解锁的基准状态,您始终可以从基线中添加或移除进程。

注意

对于一个部署,如果每个 pod 都有多个容器,Red Hat Advanced Cluster Security for Kubernetes 会为每个容器类型创建一个进程基准。对于这样的部署,如果锁定了一些基准并且一些基准被解锁,则该部署的基准状态将显示为 Mixed

4.6.1. 为进程基准配置观察周期

您可以通过设置 ROX_BASELINE_GENERATION_DURATION 环境变量来配置进程基准的观察周期。

流程

  • 运行以下命令设置 ROX_BASELINE_GENERATION_DURATION 环境变量:

    $ oc -n stackrox set env deploy/central \
      ROX_BASELINE_GENERATION_DURATION=<value>
    • oc: 如果使用 Kubernetes,请输入 kubectl
    • <value > : 使用时间单位,例如 :300ms,-1.5h, 或 2h45m。有效时间单位是:

      • ns
      • usswigs
      • ms
      • s
      • m
      • h

4.6.2. 查看进程基准

您可以从 风险 视图中查看进程基准。

流程

  1. 在 RHACS 门户中,从导航菜单中选择 Risk
  2. 从默认 风险 视图中的部署列表中选择一个部署。部署详情会在右侧的面板中打开。
  3. Deployment details 面板中,选择 Process Discovery 选项卡。
  4. 进程基准在 Spec Container Baselines 部分下看到。

4.6.3. 在基线中添加进程

您可以向基准添加一个进程。

流程

  1. 在 RHACS 门户中,从导航菜单中选择 Risk
  2. 从默认 风险 视图中的部署列表中选择一个部署。部署详情会在右侧的面板中打开。
  3. Deployment details 面板中,选择 Process Discovery 选项卡。
  4. Running Processes 部分下,点您要添加到进程基线的进程的 Add 图标。
注意

Add 图标仅适用于不在进程基线中的进程。

4.6.4. 从基准中删除进程

您可以从基准中删除进程。

流程

  1. 在 RHACS 门户中,从导航菜单中选择 Risk
  2. 从默认 风险 视图中的部署列表中选择一个部署。部署详情会在右侧的面板中打开。
  3. Deployment details 面板中,选择 Process Discovery 选项卡。
  4. Spec Container baselines 部分下,点您要从进程基准中删除的进程的 Remove 图标。

4.6.5. 锁定和解锁进程基准

您可以锁定基线,以为所有没有列在基线中的进程触发违规,也可以取消锁定基线来停止触发违规。

流程

  1. 在 RHACS 门户中,从导航菜单中选择 Risk
  2. 从默认 风险 视图中的部署列表中选择一个部署。部署详情会在右侧的面板中打开。
  3. Deployment details 面板中,选择 Process Discovery 选项卡。
  4. Spec Container baselines 部分下:

    • 锁定 图标为不在基线中的进程触发违反情况。
    • Unlock 图标为不在基线中的进程停止触发违反情况。

4.6.6. 为进程基准配置自动锁定

您可以将 RHACS 配置为在进程离开观察期时自动锁定进程基准。必须在 Central 和安全集群中启用 auto-lock 功能。

在使用这个功能时请注意以下准则:

  • 默认情况下,该功能在安全集群中默认启用并禁用。因此,启用该功能不需要重启 Central。但是,更改 Central 中的功能状态需要重启 Central。
  • 这个功能只适用于启用了该功能的安全集群的进程基准。
  • 在启用功能后禁用该功能不会解锁功能被功能锁定的进程基准。
  • 启用该功能不会锁定在启用功能前保留观察周期的进程基准。

流程

  1. 在 OpenShift Container Platform Web 控制台中进入 RHACS Operator 页面。
  2. 在顶部导航菜单中,选择 Secured Cluster
  3. 点实例名称,如 stackrox-secured-cluster-services
  4. 使用以下方法之一更改设置:

    • Form 视图中,在 Process baselines settings Auto Lock 下选择 EnabledDisabled
    • YAML 打开 YAML 编辑器,并找到 spec.processBaselines.autoLock 属性。更改为 EnabledDisabled
  5. Save。
  6. 要在 Central 中启用或禁用该功能,请设置 ROX_AUTO_LOCK_PROCESS_BASELINES 环境变量。默认值为 true

4.6.6.1. 自动锁定过程基线已知限制

当进程基准自动锁定时,Central DB 和 Sensor 会消耗更多 CPU 和内存资源。这会导致 CPU 节流和 pod 因内存不足而崩溃。

以下结果是从使用 1,000 个部署的测试中获取的,其中 5,000 个进程每 30 秒生成一次(每秒 166.67 个进程)。测试是在启用和禁用功能的情况下运行。两个测试之间比较资源使用量。在测试中,进程基线生成持续时间被设置为三分钟,进程创建率在基线生成期结束后不会改变。

  • Sensor 使用更多内存。
  • Sensor 内存用量的区别没有随时间增加。
  • 0.14 CPU 增加的 Sensor CPU 使用量增加。
  • Central 使用更多内存。
  • 在启用了 auto-lock 时,Central 内存用量的增加率为 65 Kb 每秒 65 Kb 每秒。
  • 0.12 CPU 增加了中央 CPU 使用量。
  • Central DB 使用 296 Mb 更多内存并启用了 auto-lock。
  • Central DB 内存用量的差别似乎随着时间而增加。
  • Central DB CPU 使用率较低,并增加了 0.03 CPU。

4.6.6.2. 批量锁定和解锁进程基准

您可以使用 API 端点锁定或解锁集群中的所有进程基准。您可以指定一组可选的命名空间,将操作限制为只有这些命名空间。API 端点如下:

  • /v1/processbaselines/bulk/lock
  • /v1/processbaselines/bulk/unlock

以下示例显示了端点的输入:

{
        "cluster_id": "aeaaaaaa-0000-0000-0000-000000000000",
        "namespaces": [
                        "stackrox",
                        "gmp-system"
                      ]
}

这些端点返回成功或失败。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部