Openscap foreman

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Plugin Foreman de reporting de conformité SCAP
Composants smart_proxy_openscap (serveur), foreman_scap_client (agent client)
Basé sur OpenSCAP
Voir aussi OpenSCAP · Foreman · Katello

Openscap foreman (plugin foreman_openscap) intègre OpenSCAP à Foreman : les hôtes gérés exécutent leurs audits SCAP localement, puis remontent leurs rapports vers Foreman, qui centralise les résultats de conformité pour l'ensemble du parc. Pour les fondamentaux SCAP (XCCDF, OVAL, CPE, profils SSG, usage de la commande oscap...), voir la page dédiée OpenSCAP — cette page-ci ne couvre que la partie spécifique à l'intégration Foreman/Katello.

Installation côté serveur (smart proxy)

dnf install -y tfm-rubygem-foreman_openscap rubygem-smart_proxy_openscap

cp /etc/foreman-proxy/settings.d/openscap.yml{.example,}

Configuration minimale (/etc/foreman-proxy/settings.d/openscap.yml) :

:enabled: true

# Journal du script de transmission des rapports
:openscap_send_log_file: /var/log/foreman-proxy/openscap-send.log

# Répertoire d'attente des audits avant transmission à Foreman
:spooldir: /var/spool/foreman-proxy/openscap

# Répertoire local des contenus SCAP (évite de les redemander à Foreman à chaque scan)
:contentdir: /var/lib/openscap/content

# Répertoire des rapports (ARF) que Foreman peut aller chercher
:reportsdir: /usr/share/foreman-proxy/openscap/content
systemctl restart foreman-proxy
Note : Bug connu sur certaines versions anciennes (Katello 2.4 / Foreman 1.10) : les rapports ne remontent pas tant que le propriétaire du répertoire de contenu n'est pas corrigé — chown -R foreman-proxy:foreman /var/lib/openscap/content/. À vérifier si toujours applicable sur les versions actuelles.

Installation côté client

dnf install -y scap-security-guide

Le client s'appuie sur foreman_scap_client, configuré dans /etc/foreman_scap_client/config.yaml (fichier généralement poussé par la gestion de configuration plutôt qu'édité à la main) :

# Proxy Foreman auquel les rapports sont envoyés
:server: 'foreman.exemple.local'
:port: 9090

## Options SSL ##
:ca_file: '/etc/rhsm/ca/katello-server-ca.pem'
:host_certificate: '/etc/pki/consumer/cert.pem'
:host_private_key: '/etc/pki/consumer/key.pem'

# Politique (clé = id de la policy dans Foreman)
6:
  :profile: ''
  :content_path: '/var/lib/openscap/content/<hash_du_contenu>.xml'
  :download_path: '/compliance/policies/6/content'

Lancement manuel côté client

foreman_scap_client <policy_id>

Pour explorer un contenu SCAP ou lancer une évaluation manuelle indépendamment de Foreman, voir les commandes oscap détaillées sur la page OpenSCAP.

Forcer la remontée d'un rapport

Si un rapport n'apparaît pas côté Foreman après un scan, le script de transmission peut être relancé manuellement (délai de spool possible) :

smart-proxy-openscap-send

Voir aussi

  • OpenSCAP — fondamentaux SCAP, CLI oscap, profils SSG, remediation
  • Foreman — plateforme qui centralise les rapports
  • Katello — associe souvent conformité et gestion de contenu sur le même hôte