5.7. Compliance Operator 조정

Compliance Operator는 즉시 사용할 수 있는 프로필과 함께 제공되지만 조직의 필요 및 요구 사항에 맞게 수정해야 합니다. 프로필을 수정하는 프로세스를 조정이라고 합니다.

Compliance Operator에서는 TailoredProfile이라는 프로필을 쉽게 조정할 수 있는 오브젝트를 제공합니다. 이 프로필은 사용자가 기존 프로필을 확장하는 것으로 가정하고 ProfileBundle에서 제공하는 규칙과 값을 활성화 및 비활성화할 수 있도록 허용합니다.

참고

확장하려는 프로필이 속한 ProfileBundle의 일부로 사용할 수 있는 규칙과 변수만 사용할 수 있습니다.

5.7.1. 맞춤형 프로필 사용

TailoredProfile CR에서는 가장 일반적인 맞춤 작업을 수행할 수 있지만 XCCDF 표준을 사용하면 OpenSCAP 프로필 맞춤 시 유연성이 훨씬 더 향상됩니다. 또한 조직에서 이전에 OpenScap을 사용한 적이 있는 경우 기존 XCCDF 맞춤 파일이 있을 수 있으며 이 파일을 다시 사용할 수 있습니다.

ComplianceSuite 오브젝트에는 사용자 정의 맞춤 파일을 가리킬 수 있는 선택적 TailoringConfigMap 특성이 포함되어 있습니다. TailoringConfigMap 특성 값은 구성 맵의 이름으로, 이 맵에는 tailoring.xml이라는 키가 포함되어야 하며 이 키의 값은 맞춤 콘텐츠입니다.

프로세스

  1. RHCOS(Red Hat Enterprise Linux CoreOS) ProfileBundle에 사용 가능한 규칙을 찾습니다.

    $ oc get rules.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
  2. 해당 ProfileBundle에서 사용 가능한 변수를 찾습니다.

    $ oc get variables.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
  3. 이름이 nist-moderate-modified 인 맞춤형 프로필을 생성합니다.

    1. nist-moderate-modified tailored profile에 추가할 규칙을 선택합니다. 이 예제에서는 두 개의 규칙을 비활성화하고 하나의 값을 변경하여 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. spec 변수의 속성

      속성설명

      extends

      TailoredProfile이 빌드되는 Profile 오브젝트의 이름입니다.

      title

      TailoredProfile의 사람이 읽을 수 있는 제목입니다.

      disableRules

      이름 및 이유 쌍 목록입니다. 각 이름은 비활성화할 규칙 오브젝트의 이름을 나타냅니다. 이유 값은 규칙이 비활성화된 이유를 설명하는 사람이 읽을 수 있는 텍스트입니다.

      enableRules

      이름 및 이유 쌍 목록입니다. 각 이름은 활성화할 규칙 오브젝트의 이름을 나타냅니다. 이유 값은 규칙이 활성화된 이유를 설명하는 사람이 읽을 수 있는 텍스트입니다.

      description

      TailoredProfile을 설명하는 사람이 읽을 수 있는 텍스트입니다.

      setValues

      이름, 이유 및 값 그룹화 목록입니다. 각 이름은 설정된 값의 이름을 나타냅니다. 이유는 집합을 설명하는 사람이 읽을 수 있는 텍스트입니다. 값은 실제 설정입니다.

    2. TailoredProfile 오브젝트를 생성합니다.

      $ oc create -n openshift-compliance -f new-profile-node.yaml 1
      1
      TailoredProfile 오브젝트는 기본 openshift-compliance 네임스페이스에 생성됩니다.

      출력 예

      tailoredprofile.compliance.openshift.io/nist-moderate-modified created

  4. nist-moderate-modified tailored 프로필을 기본 ScanSetting 오브젝트에 바인딩하도록 ScanSettingBinding 오브젝트를 정의합니다.

    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: default

  5. ScanSettingBinding 오브젝트를 생성합니다.

    $ oc create -n openshift-compliance -f new-scansettingbinding.yaml

    출력 예

    scansettingbinding.compliance.openshift.io/nist-moderate-modified created