← Toutes les règles
SOCLE-CLD-PKG-030// Packagesmoyenneétat d’inventaire

Installer le paquet fapolicyd

Garantit que le démon de contrôle applicatif fapolicyd est installé afin que le système puisse imposer une liste blanche d'exécution.

Vérifié sur ce qui est installé ou enregistré, paquets présents/absents, bases de comptes.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0

Pourquoi cette règle

fapolicyd (File Access Policy Daemon) met en œuvre une liste blanche applicative qui décide quels binaires et bibliothèques un processus peut exécuter. Sans lui, tout exécutable déposé sur le disque, par un attaquant, une mise à jour compromise ou un utilisateur non privilégié, peut être lancé librement, et le système n'a donc aucune défense contre du code inconnu ou non approuvé. Le contrôle applicatif est une parade essentielle contre les malwares et les techniques de type living-off-the-land, ce qui explique son exigence dans les référentiels de durcissement.

Ce que vérifie Pavois

Pavois interroge directement la base de paquets via package('fapolicyd') plutôt que de déduire l'état depuis un fichier de configuration, et rapporte donc l'état d'installation effectif, ce qui est réellement présent sur le système en fonctionnement. Un scanner basé sur les fichiers pourrait être trompé par des fragments de configuration obsolètes référençant un démon jamais installé ; l'interrogation du gestionnaire de paquets ne peut pas l'être.

describe package('fapolicyd') do
  it { should be_installed }
end

Comment vérifier qu’elle est appliquée

Exécutez rpm -q fapolicyd. Le paquet est présent lorsqu'il affiche un nom versionné comme fapolicyd-1.1.3-x.elx.x86_64 ; package fapolicyd is not installed signifie que la règle échoue. Vous pouvez aussi confirmer son activité avec systemctl is-active fapolicyd.

Inspecter et investiguer

Vérifiez l'état d'installation avec rpm -q fapolicyd. Une fois en service, fapolicyd journalise les exécutions autorisées/refusées via syslog et journalctl -u fapolicyd ; les événements de décision apparaissent aussi dans /var/log/audit/audit.log (type FANOTIFY).

Remédiation

Le plan de durcissement de Pavois installe le paquet fapolicyd (ressource package, action install) lorsque vous lancez pavois harden apply. Installer le paquet n'active pas à lui seul l'application des règles : vous devez ensuite activer et démarrer le service et revoir sa politique avant de vous y fier.

Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :

actioninstall
namefapolicyd
resourcepackage
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Sans fapolicyd, l'hôte n'a aucune liste d'autorisation d'exécution et tout binaire déposé peut s'exécuter. Précaution avant d'activer l'application : fapolicyd en mode enforcing peut bloquer des binaires légitimes et casser des applications ou des outils d'administration. Construisez et testez la base de confiance (fapolicyd-cli --update) d'abord en mode permissif, validez que vos charges fonctionnent toujours, puis seulement basculez en enforcing, sinon vous risquez de bloquer des services voire des shells de connexion. Pas actif par défaut : sur une installation Alma/RHEL 8 standard, fapolicyd n'est ni installé ni démarré ; Pavois l'installe et l'active, d'où le marquage danger:. Mode d'échec et rétablissement : si la base de confiance est incomplète (le backend rpmdb ne s'est pas rempli, ou un démon a besoin d'un interpréteur/binaire hors du jeu RPM), fapolicyd refuse ces exécutions et le service concerné ne démarre pas ; le refus est consigné dans /var/log/fapolicyd-access.log (dec=deny), PAS dans les journaux du service. Rétablissez en reconstruisant la base : systemctl stop fapolicyd; rm -f /var/lib/fapolicyd/*.mdb; fapolicyd-cli --update; systemctl start fapolicyd (une base saine contient des dizaines de milliers d'entrées, vérifiez avec fapolicyd-cli --dump-db | wc -l). Faites confiance à un binaire supplémentaire avec fapolicyd-cli --file add /chemin && fapolicyd-cli --update. Validez toujours en mode permissif (permissive = 1 dans /etc/fapolicyd/fapolicyd.conf) avant de passer en enforcing.

Sources & références