5.8. Compliance Operator の調整
Compliance Operator には、追加の設定なしで使用できるプロファイルが同梱されますが、それらは組織のニーズおよび要件を満たすために変更される必要があります。プロファイルを変更するプロセスは、テーラリング と呼ばれます。
Compliance Operator は、TailoredProfile オブジェクトを提供し、プロファイルを調整します。
5.8.1. 調整されたプロファイルの新規作成
TailoredProfile オブジェクトを使用して、調整されたプロファイルをゼロから作成できます。適切な タイトル と 説明 を設定し、extends フィールドを空のままにします。このカスタムプロファイルが生成するスキャンのタイプをCompliance Operator に指定します。
- ノードのスキャン: オペレーティングシステムをスキャンします。
- プラットフォームスキャン: OpenShift 設定をスキャンします。
手順
TailoredProfile オブジェクトに以下のアノテーションを設定します。
+ .例 new-profile.yaml
apiVersion: compliance.openshift.io/v1alpha1
kind: TailoredProfile
metadata:
name: new-profile
annotations:
compliance.openshift.io/product-type: Node 1
spec:
extends:
description: My custom profile 2
title: Custom profile 35.8.2. 調整されたプロファイルを使用した既存の ProfileBundles の拡張
TailoredProfile CR は最も一般的なテーラリング操作を有効にする一方で、XCCDF 標準は OpenSCAP プロファイルの調整におけるより多くの柔軟性を提供します。さらに、組織が以前に OpenScap を使用していた場合、既存の XCCDF テーラリングファイルが存在し、これを再利用できる可能性があります。
ComplianceSuite オブジェクトには、カスタムのテーラリングファイルにポイントできるオプションの TailoringConfigMap 属性が含まれます。TailoringConfigMap 属性の値は設定マップの名前です。これには、tailoring.xml というキーが含まれる必要があり、このキーの値はテーラリングのコンテンツです。
手順
Red Hat Enterprise Linux CoreOS (RHCOS)
ProfileBundleの利用可能なルールを参照します。$ oc get rules.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
同じ
ProfileBundleで利用可能な変数を参照します。$ oc get variables.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
nist-moderate-modifiedという名前の調整されたプロファイルを作成します。調整されたプロファイル
nist-moderate-modifiedに追加するルールを選択します。この例では、2 つのルールを無効にし、1 つの値を変更することにより、rhcos4-moderateプロファイルを拡張します。rationale値を使用して、これらの変更が加えられた理由を記述します。new-profile-node.yamlの例apiVersion: compliance.openshift.io/v1alpha1 kind: TailoredProfile metadata: name: nist-moderate-modified spec: extends: rhcos4-moderate description: NIST moderate profile title: My modified NIST moderate profile disableRules: - name: rhcos4-file-permissions-var-log-messages rationale: The file contains logs of error messages in the system - name: rhcos4-account-disable-post-pw-expiration rationale: No need to check this as it comes from the IdP setValues: - name: rhcos4-var-selinux-state rationale: Organizational requirements value: permissive表5.2 スペック変数の属性
属性 説明 extendsこの
TailoredProfileがビルドされるProfileオブジェクトの名前。title人間が判読できる
TailoredProfileのタイトル。disableRules名前および理論的根拠のペアの一覧。名前ごとに、無効にするルールオブジェクトの名前を参照します。理論的根拠の値は、人間が判読できるテキストで、ルールが無効になっている理由を記述します。
manualRules名前および理論的根拠のペアの一覧。手動ルールを追加すると、チェック結果のステータスは常に
manualになり、修復は生成されません。この属性は自動であり、手動ルールとして設定されている場合、デフォルトでは値がありません。enableRules名前および理論的根拠のペアの一覧。名前ごとに、有効にするルールオブジェクトの名前を参照します。理論的根拠の値は、人間が判読できるテキストで、ルールが有効になっている理由を記述します。
descriptionTailoredProfileを記述する人間が判読できるテキスト。setValues名前、理論的根拠、および値のグループ化の一覧。各名前は値セットの名前を参照します。この理論的根拠は、値セットを記述する、人間が判読できるテキストです。この値は実際の設定です。
tailoredProfile.spec.manualRules属性を追加します。tailoredProfile.spec.manualRules.yaml例apiVersion: compliance.openshift.io/v1alpha1 kind: TailoredProfile metadata: name: ocp4-manual-scc-check spec: extends: ocp4-cis description: This profile extends ocp4-cis by forcing the SCC check to always return MANUAL title: OCP4 CIS profile with manual SCC check manualRules: - name: ocp4-scc-limit-container-allowed-capabilities rationale: We use third party software that installs its own SCC with extra privilegesTailoredProfileオブジェクトを作成します。$ oc create -n openshift-compliance -f new-profile-node.yaml 1- 1
TailoredProfileオブジェクトは、デフォルトのopenshift-compliancenamespace で作成されます。
出力例
tailoredprofile.compliance.openshift.io/nist-moderate-modified created
ScanSettingBindingオブジェクトを定義して、新しい調整されたプロファイルnist-moderate-modifiedをデフォルトのScanSettingオブジェクトにバインドします。new-scansettingbinding.yamlの例apiVersion: compliance.openshift.io/v1alpha1 kind: ScanSettingBinding metadata: name: nist-moderate-modified profiles: - apiGroup: compliance.openshift.io/v1alpha1 kind: Profile name: ocp4-moderate - apiGroup: compliance.openshift.io/v1alpha1 kind: TailoredProfile name: nist-moderate-modified settingsRef: apiGroup: compliance.openshift.io/v1alpha1 kind: ScanSetting name: defaultScanSettingBindingオブジェクトを作成します。$ oc create -n openshift-compliance -f new-scansettingbinding.yaml
出力例
scansettingbinding.compliance.openshift.io/nist-moderate-modified created