这是关于OpenShift遵从操作符的系列文章的第一部分,主要介绍安装操作符和运行扫描。
运营商都是强势的一块红帽公司的OpenShift平台,减轻了平台中一些原本可能很困难的部分的操作复杂性。Red Hat的合规操作符在一定程度上减轻了管理容器化平台的安全性遵从性的操作复杂性。在这篇博客中,我将简要介绍如何安装Compliance Operator及其一些组件。然后,我将向您展示如何启动遵从性扫描,在较高的级别上查看结果,并应用越来越多的自动修复。
合规操作符可以在OpenShift控制台的OperatorHub部分中找到(以及其他操作符);它可以由具有集群管理权限的用户使用默认设置轻松安装。
操作符install在默认情况下创建了一个符合openshift的名称空间,一旦安装完成,您将在操作符上看到这些选项卡。
操作符为每个部分提供了一个很好的描述,所以我不会在这里讨论,而是直接进入设置扫描。
在ScanSetting部分,操作符提供了两种默认配置。
稍后我将更多地讨论这些问题,但是现在,我将使用默认配置ScanSetting,它包括一个用于每天运行扫描的cron类型调度,并指向将被扫描的角色(默认情况下为工作者和管理员)。下面是YAML文件默认ScanSetting的部分视图:
对于我这里的例子,我不需要对默认的ScanSetting做任何更改。
要启动扫描,我们需要创建ScanSettingBinding。在ScanSettingBinding选项卡中,只需单击“Create ScanSettingBinding”,操作人员就会创建一个YAML文件,该文件默认使用rhos -moderate配置文件,该配置文件将针对master和worker运行。快速浏览Profiles选项卡可以看到该操作符包含的所有不同的安全配置文件。
我认为您会发现法规遵循操作符有很好的文档。例如,如果我们查看ocp4-cis配置文件的YAML文件,我们将看到对该配置文件所包含内容的很好解释。
在yaml下面,它列出了它使用的所有规则:
在Rules选项卡中,列出了所有包含的规则,并且每个规则都很好地解释了规则所涵盖的内容。对于我的ScanSettingBinding,我已经添加了“ocp4-cis”配置文件来扫描OpenShift平台。我的(ScanSettingBinding YAML)现在看起来像这样:
一旦你创建并保存了这个绑定,系统就会开始扫描。如果您查看complancescan选项卡。您将看到每个扫描的正常状态为正在运行、聚合或完成。
现在扫描已经完成,在高层次上查看结果的一个简单方法是使用OpenShift CLI运行以下命令。首先,确保你在openshift兼容项目中:
项目openshift-compliance
然后运行:
$ oc获取合规检查结果
它将列出所有检查及其状态(通过、失败等....)。
**注意,这只是一个样本。完整的发现清单要长得多。
通过使用一些grep和行数,您可以快速地总结这个命令,如下所示
$ oc get compliancecheckresult | wc -l
582
$ oc get complancecheckresult | grep PASS | wc -l
148
$ oc get complancecheckresult | grep FAIL | wc -l .使用实例
395
$ oc get compliancecheckresult | grep INFO | wc -l .使用实例
2
$ oc get complancecheckresult | grep MANUAL | wc -l .使用实例
34
$ oc get complancecheckresult | grep NOT-APPLICABLE | wc -l
2
** compliancecheckresult输出的第一行是标题行,因此有581个检查。
接下来,我将应用所有提供的自动修复。首先,我必须告诉扫描设置绑定应用它所具有的自动修复。你可以选择特定的来应用,但在我的例子中,我要让运算符应用它能应用的所有东西。正如我前面提到的,操作员安装了两个ScanSettings:一个是默认的,一个是默认的-auto-apply。
My ScanSettingBinding设置为默认值,只扫描。我要编辑它,让它使用默认的-auto-apply选项。我通过编辑我之前创建的“NIST-moderate”ScanSettingBinding来做到这一点。
在YAML文件中,我简单地将默认的扫描设置更改为“default-auto-apply”:
现在我可以重新进行扫描,操作员将应用所有的自动修复。如果您还记得我们前面看到的扫描,实际上有三个独立的扫描—一个用于主节点,一个用于工作节点,一个用于OpenShift平台本身。
可能重启这些扫描最简单的方法是从CLI,使用这三个命令:
- $ oc annotate complancescans / ocp0 -cis compliance.openshift.io/rescan=
- $ oc annotate complancescans /rhcos4-moderate-master compliance.openshift.io/rescan=
- $ oc annotate complancescans /rhcos4-moderate-worker compliance.openshift.io/rescan=
这些扫描完成后,我可以使用前面运行的“oc get compliancecheckresult”命令将结果与第一次扫描进行比较。我将扫描前后的结果汇总如下表:
1圣扫描 | 结果 | 2nd扫描 | 结果 | |
通过 | 148 | 通过 | 454 | |
失败 | 395 | 失败 | 89 | |
手册 | 34 | 手册 | 34 | |
信息 | 2 | 信息 | 2 | |
不适用 | 2 | 不适用 | 2 |
您可以看到,操作人员修复了大量的发现,并且随着社区编写补救措施,自动修复的数量正在迅速增长,并且它们由Red Hat审查。
在以后的博客中,我将向您展示如何生成一些漂亮的、格式化的OpenSCAP报告,以及如何将剩余的项目拉到一个方便的任务列表中,这将帮助您创建一个实现遵从性的计划。我还将向您展示如何使用机器配置为您的集群自定义和自动修复。