Enregistrer les événements modifiant les informations utilisateur/groupe via l'appel système open - /etc/group
Garantit que auditd possède une règle active taguée user-modify qui enregistre tout accès aux bases de comptes telles que /etc/group, /etc/passwd et /etc/shadow.
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.
Pourquoi cette règle
Créer ou modifier des groupes en éditant directement /etc/group (au lieu de groupadd/gpasswd) peut être un signe d'activité malveillante. Sans trace d'audit de ces écritures, un attaquant qui s'ajoute à un groupe privilégié comme sudo ou wheel ne laisse aucune trace, et les enquêteurs ne peuvent prouver quand ni par qui la base de comptes a été altérée.
Ce que vérifie Pavois
Pavois exécute auditctl -l et vérifie qu'une règle chargée porte la clé user-modify. Lire le jeu de règles vivant du noyau vaut mieux que d'analyser /etc/audit/rules.d/*.rules : une règle présente dans un fichier mais jamais chargée (erreur de syntaxe, augenrules non exécuté, service non redémarré) donne une fausse impression de couverture. auditctl -l ne montre que ce que le noyau applique réellement.
describe command('auditctl -l') do
its('stdout') { should match(/(-k +|key=)user\-modify\b/) }
end
describe command("grep -rhwsE 'user\-modify' /etc/audit/rules.d/*.rules /etc/audit/audit.rules 2>/dev/null") do
its('stdout') { should match(/\S/) }
endComment vérifier qu’elle est appliquée
Exécutez auditctl -l | grep user-modify. Vous devez voir des règles de surveillance telles que -w /etc/group -p wa -k user-modify (et des lignes équivalentes pour /etc/passwd, /etc/shadow, /etc/gshadow). Une sortie vide signifie que la règle n'est pas chargée.
Inspecter et investiguer
Les événements déclenchés arrivent dans /var/log/audit/audit.log. Recherchez avec grep 'key="user-modify"' /var/log/audit/audit.log (attention : ausearch -k user-modify peut signaler à tort aucune correspondance, donc grepez le journal brut).
Remédiation
Le plan de durcissement de Pavois utilise la ressource audit_ruleset pour écrire les règles de surveillance dans /etc/audit/rules.d/, puis recharge auditd pour que le noyau les prenne en compte. Comme la configuration d'audit peut être rendue immuable, un redémarrage est nécessaire pour que le changement soit pleinement appliqué. Appliquez-le avec pavois harden apply.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| reboot_required | true |
|---|---|
| resource | audit_ruleset |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Sans cette règle, les modifications des bases de comptes ne sont pas enregistrées, vous aveuglant face aux attaques d'escalade de privilèges et de persistance. La règle elle-même est purement observationnelle et ne peut casser les connexions. Précautions : les fichiers de bases de comptes changent à chaque opération légitime sur les utilisateurs/groupes, attendez-vous donc à du volume, dimensionnez la rotation de audit.log et space_left_action pour qu'un disque plein n'arrête pas le système (lorsque auditd est configuré sur halt).