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.
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 }
endComment 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 :
| action | install |
|---|---|
| name | fapolicyd |
| resource | package |
pavois harden plan localoù 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.