← Toutes les règles
SOCLE-CLD-GEN-059// Hardening (posture)moyenneruntime effectif

Un outil de contrôle d'intégrité des fichiers est installé

Exige la présence d'un outil de contrôle d'intégrité ou de surveillance de l'hôte, aide, tripwire ou AppArmor (aa-status), afin de détecter les modifications inattendues des fichiers critiques.

Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.

Un PASS prouve✓ actif maintenant? sur disque? survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04

Pourquoi cette règle

Les attaquants qui prennent pied sur une machine modifient ou remplacent couramment des binaires système et des fichiers de configuration (sshd piégé, tâches cron altérées, bibliothèques falsifiées). Un outil de contrôle d'intégrité des fichiers (FIM) conserve une empreinte cryptographique de référence des fichiers critiques et signale toute déviation, fournissant un indicateur fiable de compromission ou de changement non autorisé. Sans cela, ce type de falsification peut passer inaperçu longtemps.

Ce que vérifie Pavois

Pavois contrôle l'état effectif en testant si l'un de aide, tripwire ou aa-status est réellement présent dans le PATH (command -v), et pas seulement la présence d'une ligne de paquet quelque part. Cela reflète ce que le système en fonctionnement peut réellement faire, plutôt que ce qu'un manifeste prétend.

describe command('command -v aide >/dev/null 2>&1 || command -v tripwire >/dev/null 2>&1 && echo ok || echo ko') do
  its('stdout.strip') { should eq 'ok' }
end

Comment vérifier qu’elle est appliquée

Lancez command -v aide tripwire aa-status, au moins un chemin doit être renvoyé. Pour AIDE, confirmez l'existence d'une base de référence avec aide --check (après aide --init) ; pour AppArmor, aa-status doit lister les profils chargés.

Inspecter et investiguer

Les rapports AIDE vont dans son journal (souvent /var/log/aide/aide.log) et dans la sortie mail/cron lors des exécutions planifiées. Les refus AppArmor apparaissent dans le journal du noyau via journalctl -k | grep apparmor (ou dmesg). La présence du paquet se confirme avec dpkg -l aide / rpm -q aide.

Remédiation

Aucune remédiation automatisée n'est fournie, appliquez-la donc manuellement : installez AIDE (apt install aide / dnf install aide), initialisez la base (aideinit ou aide --init, puis déplacez la nouvelle base à sa place), et planifiez un aide --check périodique. AppArmor est activé par défaut sur Debian/Ubuntu et satisfait déjà ce contrôle.

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

actioninstall
nameaide-common
resourcepackage
pavois harden plan local

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

Impact & précautions

Installer un outil FIM n'est pas perturbant. Les points d'attention sont opérationnels : la base initiale d'AIDE doit être construite sur un système sain et connu (faites-le juste après l'installation, avant d'exposer l'hôte) et régénérée après chaque changement légitime (mises à jour, déploiements), faute de quoi elle génère du bruit. AppArmor en mode enforce peut bloquer des applications dont le profil est incomplet, examinez les refus avant de durcir les profils.

0