5.8. コンプライアンス Operator の調整
コンプライアンス Operator には、追加の設定なしで使用できるプロファイルが同梱されますが、それらは組織のニーズおよび要件を満たすために変更される必要があります。プロファイルを変更するプロセスは、テーラリング と呼ばれます。
コンプライアンス Operator は、TailoredProfile オブジェクトを提供し、プロファイルを調整します。
5.8.1. 調整されたプロファイルの新規作成 リンクのコピーリンクがクリップボードにコピーされました!
TailoredProfile オブジェクトを使用して、調整されたプロファイルをゼロから作成できます。適切な タイトル と 説明 を設定し、extends フィールドを空のままにします。このカスタムプロファイルが生成するスキャンのタイプをコンプライアンス Operator に指定します。
- ノードのスキャン: オペレーティングシステムをスキャンします。
- プラットフォームスキャン: OpenShift 設定をスキャンします。
手順
TailoredProfile オブジェクトに以下のアノテーションを設定します。
+ .例 new-profile.yaml
apiVersion: compliance.openshift.io/v1alpha1
kind: TailoredProfile
metadata:
name: new-profile
annotations:
compliance.openshift.io/product-type: Node
spec:
extends:
description: My custom profile
title: Custom profile
5.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=rhcos4nist-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: permissiveExpand 表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.yaml1 - 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