5.8. Adapter l'opérateur de conformité
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é Copier lienLien copié sur presse-papiers!
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
spec:
extends:
description: My custom profile
title: Custom profile
- 1
- Définissez
NodeouPlatformen conséquence. - 2
- Utilisez le champ
descriptionpour décrire la fonction du nouvel objetTailoredProfile. - 3
- Donnez un titre à votre objet
TailoredProfileà l'aide du champtitle.NoteL'ajout du suffixe
-nodeau champnamede l'objetTailoredProfileest similaire à l'ajout de l'annotation de type de produitNodeet génère une analyse du système d'exploitation.
5.8.2. Utiliser des profils personnalisés pour étendre les ProfileBundles existants Copier lienLien copié sur presse-papiers!
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
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=rhcos4Parcourez les variables disponibles sur le même site
ProfileBundle:$ oc get variables.compliance -n openshift-compliance -l compliance.openshift.io/profile-bundle=rhcos4Créez un profil personnalisé nommé
nist-moderate-modified:Choisissez les règles que vous souhaitez ajouter au profil personnalisé
nist-moderate-modified. Cet exemple étend le profilrhcos4-moderateen désactivant deux règles et en modifiant une valeur. Utilisez la valeurrationalepour décrire la raison de ces changements :Exemple
new-profile-node.yamlapiVersion: 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 Tableau 5.2. Attributs des variables de spécification Attribut Description extendsNom de l'objet
Profilesur lequelTailoredProfileest construit.titleTitre lisible par l'homme de l'adresse
TailoredProfile.disableRulesUne 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.
manualRulesUne 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
manualet 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.enableRulesUne 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.
descriptionTexte lisible par l'homme décrivant le site
TailoredProfile.setValuesUne 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.
Ajouter l'attribut
tailoredProfile.spec.manualRules:Exemple
tailoredProfile.spec.manualRules.yamlapiVersion: 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 privilegesCréer l'objet
TailoredProfile:oc create -n openshift-compliance -f new-profile-node.yaml1 - 1
- L'objet
TailoredProfileest créé dans l'espace de noms par défautopenshift-compliance.
Exemple de sortie
tailoredprofile.compliance.openshift.io/nist-moderate-modified created
Définir l'objet
ScanSettingBindingpour lier le nouveau profil personnalisénist-moderate-modifiedà l'objet par défautScanSetting.Exemple
new-scansettingbinding.yamlapiVersion: 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: defaultCréer l'objet
ScanSettingBinding:$ oc create -n openshift-compliance -f new-scansettingbinding.yamlExemple de sortie
scansettingbinding.compliance.openshift.io/nist-moderate-modified created