IBM Cloud Docs
CIS Kubernetes 基准

CIS Kubernetes 基准

因特网安全中心 (CIS) 发布 CIS Kubernetes Benchmark 作为特定步骤的框架,以更安全地配置 Kubernetes,并使用与各种行业法规相称的标准。

当新的 Kubernetes 版本作为 支持的 Red Hat OpenShift 版本 的一部分发布时,IBM 工程师会将运行该 Kubernetes 版本的集群的缺省配置与基准程序进行比较,并在本文档中发布结果。 您可以查看特定版本的 Red Hat® OpenShift® on IBM Cloud® 集群如何满足 CIS Kubernetes Benchmark。

支持的基准版本

使用列表查找 CIS Kubernetes 支持版本的基准测试结果。

使用基准

作为安全管理员或审计员,您可能希望将公司的内部标准和外部法规要求与 CIS Kubernetes Benchmark 进行比较。 基准建议由因特网安全中心提供,而不是由 IBM提供。 IBM 可能不会以满足每个建议的方式配置缺省设置,但会记录是否满足建议以帮助您进行复审。 例如,您可以在审计中使用基准以确认已实施基本安全措施,并确定可以增强安全性的区域。

基准涵盖哪些内容?

基准测试涵盖针对主组件,etcd,控制平面配置,工作程序节点和策略 (例如用户,网络和 pod 安全性) 的建议。

基准建议意味着什么?

基准建议具有评分,级别,结果状态和职责,如下所示。

  • 评分
    • 评分: 根据是否满足建议,总体基准评分会增加或减少。
    • 未评分: 总体基准分数不受影响,是否满足推荐。
  • 级别
    • 级别 1: 可以在不禁止服务的情况下配置的实际安全措施。
    • 级别 2: 可能降低服务性能或功能的更深入的安全措施。
  • 结果
    • 通过: 服务符合基准推荐。
    • 失败: 缺省情况下,服务不符合基准建议。 请参阅补救部分,以获取说明以及可以采取的符合基准建议的操作。
  • 职责
    • IBM: IBM 负责配置基准程序建议的设置。
    • 共享: 您与 IBM 共同负责配置基准程序建议的设置。

我负责基准的哪些部分?

由于 Red Hat OpenShift on IBM Cloud 是受管产品,因此 IBM 已为您配置许多安全设置。 例如,IBM 管理并自动将更新应用于集群主节点。 对于工作程序节点,IBM 提供了安全性和版本更新,但您必须应用这些更新。 您还负责工作负载应用程序和数据。 有关更多信息,请参阅 您在使用 Red Hat OpenShift on IBM Cloud 时的职责。

如果服务的某些部分未能遵守建议,将会怎样?

首先,检查任何补救步骤的故障说明。

然后,根据您的安全需求确定故障是否可接受。 例如,某些建议可能比特定流程或标准要求的配置要求更深入。 另外,一些建议没有评分,也不会影响整体基准分。

接下来,决定组件是否属于您的职责范围。 如果是这样,您可能需要更改配置该组件的方式。 例如,您可以为所有应用程序部署配置安全上下文约束。 对于不属于您职责范围的组件,请评估是否可以使用其他 IBM Cloud 服务来满足建议。

我还可以采取哪些措施来提高集群的安全性和合规性?

请参阅 Red Hat OpenShift on IBM Cloud的安全性

运行工作程序节点 CIS Kubernetes 基准

要查看 CIS Kubernetes benchmark for Section 4: Worker 节点安全性配置的结果,您可以自行运行测试。 由于您拥有工作程序节点并对其合规性负部分 责任,因此您可以自行进行要验证的配置更改。

这些步骤仅适用于运行 Red Hat OpenShift V 4.5 或更高版本的集群。

开始之前 登录您的账户。 如果适用,请将相应的资源组设定为目标。 设置集群的上下文。

  1. 为用于运行基准程序的资源创建项目。

    oc create ns ibm-kube-bench-test
    
  2. 使用 kube-samples GitHub 存储库中的 confignode 配置文件创建 ConfigMap。

    1. confignode 配置文件下载到名为 ibm 的本地目录中。 您还可以克隆存储库并浏览到 ibm 目录。
    2. 通过使用 --from-file 选项来指定已下载配置文件的 ibm 目录,创建 ConfigMap。
      oc create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
      
  3. 创建作业以根据先前创建的配置运行基准测试。

    oc apply -n ibm-kube-bench-test -f https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/cis-kube-benchmark/cis-1.5/ibm/job-node.yaml
    
  4. 检查作业是否已完成。

    oc get pods -n ibm-kube-bench-test -l job-name=kube-bench-node
    

    示例输出

    NAME                    READY   STATUS      RESTARTS   AGE
    kube-bench-node-hlvhc   0/1     Completed   0          23s
    
  5. 通过检查 pod 日志,查看工作程序节点的 CIS Kubernetes 基准测试结果。

    oc logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1
    

    示例输出

    == Summary ==
    20 checks PASS
    2 checks FAIL
    1 checks WARN
    0 checks INFO
    
  6. 可选: 完成查看结果后,删除创建的资源。

    oc delete ns ibm-kube-bench-test