Vérifier le groupe propriétaire de cron.d
Garantit que le répertoire /etc/cron.d est détenu par le groupe root (gid 0).
Vérifié sur les métadonnées d’un chemin, mode, propriétaire, groupe, SUID/SGID.
Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.
Pourquoi cette règle
Le répertoire /etc/cron.d contient des fichiers crontab additionnels qui s'exécutent en tant que root selon une planification fixe. Si le répertoire est détenu par un groupe non privilégié, un membre de ce groupe pourrait ajouter, remplacer ou modifier une tâche cron et obtenir l'exécution de commandes arbitraires en root (élévation de privilèges). Restreindre la propriété de groupe à root (gid 0) garantit que seuls les comptes hautement privilégiés peuvent modifier ce que le système exécute de façon planifiée.
Ce que vérifie Pavois
Pavois lit le groupe propriétaire effectif de /etc/cron.d sur le système en cours d'exécution via la ressource InSpec file et vérifie gid == 0. Il inspecte les métadonnées réelles de l'inode telles que le noyau les voit (en résolvant liens symboliques et montages bind), et non un manifeste de paquet ou une valeur par défaut documentée : un répertoire dont la propriété a été modifiée après l'installation est donc détecté.
only_if { file('/etc/cron.d').exist? }
describe file('/etc/cron.d') do
its('gid') { should eq 0 }
endComment vérifier qu’elle est appliquée
Exécutez stat -c '%G %g' /etc/cron.d. Sortie attendue : root 0. Tout autre nom de groupe ou gid non nul signifie que la règle n'est pas appliquée.
Inspecter et investiguer
Les changements de propriété ne sont pas journalisés par défaut. Pour observer une modification, surveillez le répertoire avec auditd : auditctl -w /etc/cron.d -p wa -k cron-perms, puis examinez les événements avec grep 'key="cron-perms"' /var/log/audit/audit.log. L'exécution de cron elle-même est visible via journalctl -u cron (Debian/Ubuntu) ou journalctl -u crond (famille RHEL).
Remédiation
Aucune remédiation automatique n'est définie pour cette règle ; elle doit donc être appliquée manuellement. Rétablissez le bon groupe propriétaire avec chgrp root /etc/cron.d (équivalent à chown :root /etc/cron.d).
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| group | root |
|---|---|
| path | /etc/cron.d |
| resource | file |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Un groupe propriétaire autre que root sur /etc/cron.d constitue une voie d'élévation de privilèges : les membres du groupe peuvent y déposer des tâches exécutées en root. Appliquer le correctif présente peu de risques, chgrp root ne change que la propriété de groupe, ni les permissions ni le contenu, et cron continue de fonctionner. Précaution : vérifiez qu'aucun outil légitime ne dépend d'un groupe personnalisé sur ce répertoire avant de le modifier, et appliquez la propriété avant de restreindre d'éventuelles permissions d'écriture de groupe pour ne pas bloquer un flux d'administration.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 2.2.6, 2.4.1.7, 2.4.1.8 | direct | per OS, see the benchmark table | haute |
| NIST | AC-6(1), CM-6(a) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
| PCI DSS | 2.2.6 | support | 4.0.1 | moyenne |
Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.