Rechercher

6.5. Configuration de l'opérateur d'intégrité de fichier personnalisé

download PDF

6.5.1. Visualisation des attributs de l'objet FileIntegrity

Comme pour toutes les ressources personnalisées (CR) de Kubernetes, vous pouvez exécuter oc explain fileintegrity, puis examiner les attributs individuels à l'aide de :

$ oc explain fileintegrity.spec
$ oc explain fileintegrity.spec.config

6.5.2. Attributs importants

Tableau 6.1. Attributs importants des sites spec et spec.config
AttributDescription

spec.nodeSelector

Une carte de paires clé-valeur qui doivent correspondre aux étiquettes du nœud pour que les pods AIDE puissent être planifiés sur ce nœud. L'utilisation typique est de définir une seule paire clé-valeur où node-role.kubernetes.io/worker: "" planifie AIDE sur tous les nœuds de travailleur, node.openshift.io/os_id: "rhcos" planifie sur tous les nœuds Red Hat Enterprise Linux CoreOS (RHCOS).

spec.debug

Attribut booléen. S'il vaut true, le démon s'exécutant dans les pods de l'ensemble de démons AIDE fournira des informations supplémentaires.

spec.tolerations

Spécifier les tolérances à planifier sur les nœuds avec des taches personnalisées. Si elle n'est pas spécifiée, une tolérance par défaut est appliquée, ce qui permet aux tolérances de s'exécuter sur les nœuds du plan de contrôle.

spec.config.gracePeriod

Nombre de secondes de pause entre les contrôles d'intégrité AIDE. Les contrôles AIDE fréquents sur un nœud peuvent être gourmands en ressources, il peut donc être utile de spécifier un intervalle plus long. La valeur par défaut est 900, ou 15 minutes.

maxBackups

Le nombre maximum de sauvegardes de la base de données et des journaux AIDE laissées par le processus re-init à conserver sur un nœud. Les anciennes sauvegardes au-delà de ce nombre sont automatiquement élaguées par le démon.

spec.config.name

Nom d'un configMap contenant la configuration personnalisée de l'AIDE. En cas d'omission, une configuration par défaut est créée.

spec.config.namespace

Espace de noms d'un configMap contenant la configuration personnalisée de l'AIDE. S'il n'est pas défini, l'interface génère une configuration par défaut adaptée aux systèmes RHCOS.

spec.config.key

Clé qui contient la configuration actuelle d'AIDE dans une carte de configuration spécifiée par name et namespace. La valeur par défaut est aide.conf.

spec.config.initialDelay

Le nombre de secondes à attendre avant de lancer le premier contrôle d'intégrité AIDE. La valeur par défaut est 0. Cet attribut est facultatif.

6.5.3. Examiner la configuration par défaut

La configuration par défaut de l'opérateur d'intégrité des fichiers est stockée dans une carte de configuration portant le même nom que le CR FileIntegrity.

Procédure

  • Pour examiner la configuration par défaut, exécutez :

    $ oc describe cm/worker-fileintegrity

6.5.4. Comprendre la configuration par défaut de l'opérateur d'intégrité des fichiers

Voici un extrait de la clé aide.conf de la carte de configuration :

@@define DBDIR /hostroot/etc/kubernetes
@@define LOGDIR /hostroot/etc/kubernetes
database=file:@@{DBDIR}/aide.db.gz
database_out=file:@@{DBDIR}/aide.db.gz
gzip_dbout=yes
verbose=5
report_url=file:@@{LOGDIR}/aide.log
report_url=stdout
PERMS = p+u+g+acl+selinux+xattrs
CONTENT_EX = sha512+ftype+p+u+g+n+acl+selinux+xattrs

/hostroot/boot/    	CONTENT_EX
/hostroot/root/\..* PERMS
/hostroot/root/   CONTENT_EX

La configuration par défaut d'une instance FileIntegrity permet de couvrir les fichiers situés dans les répertoires suivants :

  • /root
  • /boot
  • /usr
  • /etc

Les répertoires suivants ne sont pas couverts :

  • /var
  • /opt
  • Quelques exclusions spécifiques à OpenShift Container Platform sous la rubrique /etc/

6.5.5. Fournir une configuration AIDE personnalisée

Toutes les entrées qui configurent le comportement interne d'AIDE, telles que DBDIR, LOGDIR, database et database_out, sont écrasées par l'opérateur. L'opérateur ajouterait un préfixe à /hostroot/ avant tous les chemins à surveiller pour les changements d'intégrité. Cela facilite la réutilisation des configurations AIDE existantes qui peuvent souvent ne pas être adaptées à un environnement conteneurisé et commencer à partir du répertoire racine.

Note

/hostroot est le répertoire dans lequel les pods exécutant AIDE montent le système de fichiers de l'hôte. La modification de la configuration entraîne une réinitialisation de la base de données.

6.5.6. Définition d'une configuration personnalisée de l'opérateur d'intégrité des fichiers

Cet exemple se concentre sur la définition d'une configuration personnalisée pour un scanner qui s'exécute sur les nœuds du plan de contrôle, sur la base de la configuration par défaut fournie pour le CR worker-fileintegrity. Ce flux de travail peut être utile si vous envisagez de déployer un logiciel personnalisé fonctionnant comme un ensemble de démons et stockant ses données sous /opt/mydaemon sur les nœuds du plan de contrôle.

Procédure

  1. Faites une copie de la configuration par défaut.
  2. Modifiez la configuration par défaut en indiquant les fichiers qui doivent être surveillés ou exclus.
  3. Stocker le contenu modifié dans une nouvelle carte de configuration.
  4. Pointer l'objet FileIntegrity vers la nouvelle carte de configuration par le biais des attributs de spec.config.
  5. Extraire la configuration par défaut :

    $ oc extract cm/worker-fileintegrity --keys=aide.conf

    Cela crée un fichier nommé aide.conf que vous pouvez modifier. Pour illustrer la façon dont l'opérateur traite les chemins d'accès, cet exemple ajoute un répertoire d'exclusion sans le préfixe :

    $ vim aide.conf

    Exemple de sortie

    /hostroot/etc/kubernetes/static-pod-resources
    !/hostroot/etc/kubernetes/aide.*
    !/hostroot/etc/kubernetes/manifests
    !/hostroot/etc/docker/certs.d
    !/hostroot/etc/selinux/targeted
    !/hostroot/etc/openvswitch/conf.db

    Exclure un chemin spécifique aux nœuds du plan de contrôle :

    !/opt/mydaemon/

    Conservez les autres contenus sur /etc:

    /hostroot/etc/	CONTENT_EX
  6. Créer une carte de configuration basée sur ce fichier :

    $ oc create cm master-aide-conf --from-file=aide.conf
  7. Définir un manifeste FileIntegrity CR qui fait référence à la carte de configuration :

    apiVersion: fileintegrity.openshift.io/v1alpha1
    kind: FileIntegrity
    metadata:
      name: master-fileintegrity
      namespace: openshift-file-integrity
    spec:
      nodeSelector:
          node-role.kubernetes.io/master: ""
      config:
          name: master-aide-conf
          namespace: openshift-file-integrity

    L'opérateur traite le fichier de carte de configuration fourni et stocke le résultat dans une carte de configuration portant le même nom que l'objet FileIntegrity:

    $ oc describe cm/master-fileintegrity | grep /opt/mydaemon

    Exemple de sortie

    !/hostroot/opt/mydaemon

6.5.7. Modification de la configuration personnalisée de l'intégrité des fichiers

Pour modifier la configuration de l'intégrité des fichiers, ne modifiez jamais la carte de configuration générée. Modifiez plutôt la carte de configuration liée à l'objet FileIntegrity par l'intermédiaire des attributs spec.name, namespace et key.

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.