《OpenShift / RHEL / DevSecOps 汇总目录》
本文在 OpenShift 4.15 和 RHACS 4.4.3 环境中进行验证。
文章目录
场景说明
OpenShift 中内置了 Compliance Operator,其中提供了基于 CIS 的基线合规扫描。有关 OpenShift Compliance Operator 的功能和配置、使用可参见以下 2 篇文章:
本文介绍如何把 OpenShift Compliance Operator 和 RHACS 进行集成,从而可以在 RHACS 控制台中查看 OpenShift CIS 基线合规扫描结果。
集成配置
准备环境
- 参照 OpenShift 4 - 用 Compliance Operator 对 OpenShift 进行安全合规扫描 安装 OpenShift Compliance Operator。
- 参照 OpenShift Security (2) - 安装 Red Hat Advanced Cluster Security(RHACS) 安装 RHACS 软件。
- 访问 RHACS 的合规页面,确认此时没有名为 ocp4-cis 的合规结果。
使用 OpenShift Compliance Operator 进行 CIS 合规扫描
- 执行命令,查看支持的合规 Profile。
$ oc get profile.compliance -n openshift-compliance
NAME AGE VERSION
ocp4-cis 6m57s 1.5.0
ocp4-cis-1-4 6m58s 1.4.0
ocp4-cis-1-5 6m58s 1.5.0
ocp4-cis-node 6m57s 1.5.0
ocp4-cis-node-1-4 6m57s 1.4.0
ocp4-cis-node-1-5 6m57s 1.5.0
ocp4-e8 6m56s
ocp4-high 6m56s Revision 4
ocp4-high-node 6m56s Revision 4
ocp4-high-node-rev-4 6m56s Revision 4
ocp4-high-rev-4 6m56s Revision 4
ocp4-moderate 6m56s Revision 4
ocp4-moderate-node 6m56s Revision 4
ocp4-moderate-node-rev-4 6m56s Revision 4
ocp4-moderate-rev-4 6m56s Revision 4
ocp4-nerc-cip 6m56s
ocp4-nerc-cip-node 6m56s
ocp4-pci-dss 6m56s 3.2.1
ocp4-pci-dss-3-2 6m56s 3.2.1
ocp4-pci-dss-node 6m56s 3.2.1
ocp4-pci-dss-node-3-2 6m56s 3.2.1
ocp4-stig 6m56s V1R1
ocp4-stig-node 6m56s V1R1
ocp4-stig-node-v1r1 6m56s V1R1
ocp4-stig-v1r1 6m56s V1R1
rhcos4-e8 6m51s
rhcos4-high 6m51s Revision 4
rhcos4-high-rev-4 6m51s Revision 4
rhcos4-moderate 6m51s Revision 4
rhcos4-moderate-rev-4 6m51s Revision 4
rhcos4-nerc-cip 6m50s
rhcos4-stig 6m50s V1R1
rhcos4-stig-v1r1 6m50s V1R1
- 在 OpenShift 中创建以下 ScanSettingBinding 对象,它将名为 default 的 ScanSetting 和名为 ocp4-cis 的 Profile 绑定。
apiVersion: compliance.openshift.io/v1alpha1
kind: ScanSettingBinding
metadata:
name: cis-scan
namespace: openshift-compliance
profiles:
- apiGroup: compliance.openshift.io/v1alpha1
kind: Profile
name: ocp4-cis
settingsRef:
apiGroup: compliance.openshift.io/v1alpha1
kind: ScanSetting
name: default
- 执行命令查看合规扫描进度。
$ oc get compliancescan ocp4-cis -n openshift-compliance -w
NAME PHASE RESULT
ocp4-cis RUNNING NOT-AVAILABLE
ocp4-cis AGGREGATING NOT-AVAILABLE
ocp4-cis AGGREGATING NOT-AVAILABLE
ocp4-cis DONE NON-COMPLIANT
$ oc get compliancecheckresult -n openshift-compliance
NAME STATUS SEVERITY
ocp4-cis-accounts-restrict-service-account-tokens MANUAL medium
ocp4-cis-accounts-unique-service-account MANUAL medium
ocp4-cis-api-server-admission-control-plugin-alwaysadmit PASS medium
ocp4-cis-api-server-admission-control-plugin-alwayspullimages PASS high
。。。
将 OpenShift Compliance Operator 扫描结果集成到 RHACS 合规页面
- 如果 ACS 是在 Compliance Operator 之前安装的,则需要执行以下命令重新启动 OpenShift 的 ACS 传感器来查看这些结果。
$ oc delete pods -l app.kubernetes.io/component=sensor -n stackrox
-
在 RHACS 控制台的 Compliance 页面中点击 “SCAN ENVIRONMENT” 后就可以在下方看到 ocp4-cis 的合规扫描结果的统计数据。
-
进入到 ocp4-cis 扫描结果,可以查看每一项的合规扫描说明和结果。
-
如果根据 《OpenShift 4 - 用Compliance Operator对OpenShift进行安全合规扫描》一文修复违规项目后,可在 ACS 中再次点击 “SCAN ENVIRONMENT” 后确认合规情况可被更新。
参考
https://redhat-scholars.github.io/acs-workshop/acs-workshop/08-compliance.html