配置

此配置参考用于帮助你管理由 rancher-cis-benchmark 应用创建的自定义资源。这些资源用于在集群上执行 CIS 扫描、跳过测试、设置扫描使用的测试配置文件和其他自定义配置。

要配置自定义资源,转到集群仪表板。要配置 CIS 扫描:

  1. 在左上角,单击 ☰ > 集群管理
  2. 集群页面上,转到要配置 CIS 扫描的集群,然后单击 Explore
  3. 在左侧导航栏中,单击 CIS Benchmark

扫描

扫描是用来根据定义的配置文件,在集群上触发 CIS 扫描的。扫描完成后会创建一份报告。

配置扫描时,你需要定义与 scanProfileName 参数一起使用的扫描配置文件的名称。

下面是一个 ClusterScan 自定义资源示例:

  1. apiVersion: cis.cattle.io/v1
  2. kind: ClusterScan
  3. metadata:
  4. name: rke-cis
  5. spec:
  6. scanProfileName: rke-profile-hardened

配置文件

配置文件包含 CIS 扫描的配置,包括要使用的 Benchmark 测试版本以及要在该 Benchmark 测试中跳过的测试。

配置 - 图1警告

默认情况下,一些 ClusterScanProfile 会作为 rancher-cis-benchmark Chart 的一部分进行安装。如果用户编辑了这些默认 Benchmark 或配置文件,它们会在下一次 Chart 更新时被重置。因此,建议用户不要编辑默认的 ClusterScanProfile。

用户可以通过克隆 ClusterScanProfile 来创建自定义配置文件。

跳过的测试会列在 skipTests 参数下。

创建新配置文件时,你还需要命名配置文件。

ClusterScanProfile 示例如下:

  1. apiVersion: cis.cattle.io/v1
  2. kind: ClusterScanProfile
  3. metadata:
  4. annotations:
  5. meta.helm.sh/release-name: clusterscan-operator
  6. meta.helm.sh/release-namespace: cis-operator-system
  7. labels:
  8. app.kubernetes.io/managed-by: Helm
  9. name: "<example-profile>"
  10. spec:
  11. benchmarkVersion: cis-1.5
  12. skipTests:
  13. - "1.1.20"
  14. - "1.1.21"

Benchmark 版本

Benchmark 版本是指使用 kube-bench 运行的 Benchmark 名称,以及该 Benchmark 的有效配置参数。

ClusterScanBenchmark 定义了 CIS BenchmarkVersion 的名称和测试配置。BenchmarkVersion 名称是提供给 kube-bench 工具的参数。

默认情况下,一些 BenchmarkVersion 名称和测试配置会作为 CIS 扫描应用的一部分进行打包。启用此功能后,这些默认 BenchmarkVersion 将自动安装,用户可以使用它们来创建 ClusterScanProfile。

配置 - 图2警告

如果用户编辑了默认的 BenchmarkVersion,它们会在下一次 Chart 更新时被重置。因此,不建议编辑默认的 ClusterScanBenchmark。

ClusterScanBenchmark 由以下字段组成:

  • ClusterProvider:此 Benchmark 适用的集群提供商名称,例如,RKE、EKS、GKE。如果此基准测试可以在任何集群类型上运行,则留空。
  • MinKubernetesVersion:集群运行此 Benchmark 测试所需的最低 kubernetes 版本。如果不依赖特定的 Kubernetes 版本,则留空。
  • MaxKubernetesVersion:集群运行此 Benchmark 测试所需的最高 Kubernetes 版本。如果不依赖特定的 Kubernetes 版本,则留空。

ClusterScanBenchmark 示例如下:

  1. apiVersion: cis.cattle.io/v1
  2. kind: ClusterScanBenchmark
  3. metadata:
  4. annotations:
  5. meta.helm.sh/release-name: clusterscan-operator
  6. meta.helm.sh/release-namespace: cis-operator-system
  7. creationTimestamp: "2020-08-28T18:18:07Z"
  8. generation: 1
  9. labels:
  10. app.kubernetes.io/managed-by: Helm
  11. name: cis-1.5
  12. resourceVersion: "203878"
  13. selfLink: /apis/cis.cattle.io/v1/clusterscanbenchmarks/cis-1.5
  14. uid: 309e543e-9102-4091-be91-08d7af7fb7a7
  15. spec:
  16. clusterProvider: ""
  17. minKubernetesVersion: 1.15.0