Rechercher

5.8. Adapter l'opérateur de conformité

download PDF

Bien que l'Opérateur de Conformité soit livré avec des profils prêts à l'emploi, ceux-ci doivent être modifiés pour répondre aux besoins et aux exigences de l'organisation. Le processus de modification d'un profil est appelé tailoring.

L'opérateur de conformité fournit l'objet TailoredProfile pour aider à adapter les profils.

5.8.1. Création d'un nouveau profil personnalisé

Vous pouvez créer un profil personnalisé à partir de zéro en utilisant l'objet TailoredProfile. Définissez un title et un description appropriés et laissez le champ extends vide. Indiquez à l'opérateur de conformité le type d'analyse que ce profil personnalisé va générer :

  • Analyse des nœuds : Analyse du système d'exploitation.
  • Platform scan : Analyse la configuration d'OpenShift.

Procédure

Définissez l'annotation suivante sur l'objet TailoredProfile:

exemple 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 3
1
Définissez Node ou Platform en conséquence.
2
Utilisez le champ description pour décrire la fonction du nouvel objet TailoredProfile.
3
Donnez un titre à votre objet TailoredProfile à l'aide du champ title.
Note

L'ajout du suffixe -node au champ name de l'objet TailoredProfile est similaire à l'ajout de l'annotation de type de produit Node et génère une analyse du système d'exploitation.

5.8.2. Utiliser des profils personnalisés pour étendre les ProfileBundles existants

Alors que la norme TailoredProfile CR permet les opérations d'adaptation les plus courantes, la norme XCCDF offre encore plus de flexibilité dans l'adaptation des profils OpenSCAP. En outre, si votre organisation a déjà utilisé OpenScap, il se peut que vous disposiez d'un fichier d'adaptation XCCDF et que vous puissiez le réutiliser.

L'objet ComplianceSuite contient un attribut facultatif TailoringConfigMap qui permet de pointer vers un fichier d'adaptation personnalisé. La valeur de l'attribut TailoringConfigMap est le nom d'une carte de configuration, qui doit contenir une clé appelée tailoring.xml et la valeur de cette clé est le contenu de l'adaptation.

Procédure

  1. Parcourez les règles disponibles pour Red Hat Enterprise Linux CoreOS (RHCOS) ProfileBundle:

    $ oc get rules.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
  2. Parcourez les variables disponibles sur le même site ProfileBundle:

    $ oc get variables.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4
  3. Créez un profil personnalisé nommé nist-moderate-modified:

    1. Choisissez les règles que vous souhaitez ajouter au profil personnalisé nist-moderate-modified. Cet exemple étend le profil rhcos4-moderate en désactivant deux règles et en modifiant une valeur. Utilisez la valeur rationale pour décrire la raison de ces changements :

      Exemple 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

      Tableau 5.2. Attributs des variables de spécification
      AttributDescription

      extends

      Nom de l'objet Profile sur lequel TailoredProfile est construit.

      title

      Titre lisible par l'homme de l'adresse TailoredProfile.

      disableRules

      Une liste de paires de noms et de raisons. Chaque nom renvoie au nom d'un objet de règle à désactiver. La valeur de justification est un texte lisible par l'homme décrivant la raison pour laquelle la règle est désactivée.

      manualRules

      Une liste de paires de noms et de justifications. Lorsqu'une règle manuelle est ajoutée, le statut du résultat de la vérification sera toujours manual et la remédiation ne sera pas générée. Cet attribut est automatique et n'a pas de valeur par défaut lorsqu'il est défini en tant que règle manuelle.

      enableRules

      Une liste de paires de noms et de justifications. Chaque nom fait référence au nom d'un objet de règle qui doit être activé. La valeur rationale est un texte lisible par l'homme décrivant la raison pour laquelle la règle est activée.

      description

      Texte lisible par l'homme décrivant le site TailoredProfile.

      setValues

      Une liste de groupes de noms, de raisons d'être et de valeurs. Chaque nom fait référence à un nom de l'ensemble de valeurs. La justification est un texte lisible par l'homme décrivant l'ensemble. La valeur est le paramètre réel.

    2. Ajouter l'attribut tailoredProfile.spec.manualRules:

      Exemple 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 privileges

    3. Créer l'objet TailoredProfile:

      oc create -n openshift-compliance -f new-profile-node.yaml 1
      1
      L'objet TailoredProfile est créé dans l'espace de noms par défaut openshift-compliance.

      Exemple de sortie

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

  4. Définir l'objet ScanSettingBinding pour lier le nouveau profil personnalisé nist-moderate-modified à l'objet par défaut ScanSetting.

    Exemple 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. Créer l'objet ScanSettingBinding:

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

    Exemple de sortie

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

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.