← Toutes les règles
SOCLE-CLD-FSP-116// File permissionsmoyenneétat d’inventaire

Vérifier les permissions du fichier de sauvegarde group

Garantit que le fichier de sauvegarde /etc/group- n'est pas modifiable par le groupe/les autres et ne porte aucun bit exécutable ou spécial (setuid/setgid/sticky), soit le mode 0644 ou plus strict.

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é →
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
Un seul check, mappé sur 3 normes

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

/etc/group- est la copie de sauvegarde de /etc/group et liste chaque groupe et ses membres, y compris les groupes d'administration comme sudo, wheel et adm. S'il est modifiable par le groupe/les autres, un attaquant pourrait ajouter son compte à un groupe privilégié dans la sauvegarde ; si /etc/group est un jour restauré depuis celle-ci, cette appartenance devient effective, une voie furtive vers l'escalade de privilèges. Le mode 0644 ou plus strict, appartenant à root, garde la sauvegarde résistante à la falsification.

Ce que vérifie Pavois

Pavois lit les bits de mode réels de /etc/group- via la ressource InSpec file, les permissions appliquées par le noyau, plutôt que la valeur par défaut du paquet. Les fichiers de sauvegarde sont faciles à oublier et parfois laissés modifiables par tous lors de copies ad hoc ; inspecter l'inode réel le détecte. La garde only_if ignore le contrôle si aucune sauvegarde n'existe encore.

only_if { file('/etc/group-').exist? }
describe file('/etc/group-') do
  it { should_not be_executable.by('owner') }
  it { should_not be_setuid }
  it { should_not be_executable.by('group') }
  it { should_not be_writable.by('group') }
  it { should_not be_setgid }
  it { should_not be_executable.by('other') }
  it { should_not be_writable.by('other') }
  it { should_not be_sticky }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%a %U %G %n' /etc/group-. La sortie attendue est 644 root root /etc/group- (ou plus strict, par exemple 600).

Inspecter et investiguer

Ces sauvegardes sont régénérées par les outils de gestion d'utilisateurs/groupes (useradd, groupadd, vipw, vigr) ; leurs actions apparaissent dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (famille RHEL). Les changements de permissions peuvent être suivis via une règle auditd et grep group- /var/log/audit/audit.log.

Remédiation

Aucune remédiation automatique n'est définie ; appliquez-la manuellement : chown root:root /etc/group- && chmod u-x,g-wx,o-wx,a-s /etc/group- (un simple chmod 644 /etc/group- atteint le mode cible).

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

mode0644
path/etc/group-
resourcefile
pavois harden plan local

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

Impact & précautions

Risque en cas de non-application : une sauvegarde de groupe falsifiée peut implanter une appartenance à un groupe privilégié lors d'une restauration. Précautions : durcir ces permissions est sans danger, /etc/group- n'est lu que par l'outillage d'administration s'exécutant en root, et la valeur par défaut lisible par tous (0644) est acceptable car les noms de groupes ne sont pas secrets. Aucune dépendance de service ni risque de blocage.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS2.2.6, 7.1.4directper OS, see the benchmark tablehaute
NISTAC-6 (1)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne
PCI DSS2.2.6support4.0.1moyenne

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.

Sources & références