← Toutes les règles
SOCLE-CLD-IAM-063// Sudomoyenneconfig persistante

Vérifier que le umask de sudo est approprié - umask sudo

Force sudo à créer les fichiers avec un umask restrictif de 0027, afin que les commandes privilégiées ne laissent pas de fichiers lisibles par le groupe ou tous.

Vérifié sur le contenu d’un fichier de configuration persistant, la source de vérité qui survit aux redémarrages.

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 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 1 norme

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 umask contrôle les permissions par défaut attribuées aux fichiers créés par un processus. Lorsque des commandes sont exécutées via sudo, elles tournent avec des privilèges élevés : tout fichier qu'elles créent peut donc hériter de droits trop permissifs si le umask est trop large. Définir Defaults umask=0027 (avec umask_override pour le forcer quel que soit le shell appelant) garantit que les commandes privilégiées créent des fichiers non lisibles ni modifiables par le groupe ou les autres, réduisant le risque que des données sensibles écrites par une commande root soient exposées à des utilisateurs non autorisés.

Ce que vérifie Pavois

Pavois vérifie la politique sudo effective en recherchant, dans /etc/sudoers et chaque drop-in de /etc/sudoers.d/, une ligne Defaults ... umask active. Comme sudo résout sa configuration depuis le fichier principal et tous les drop-ins @includedir, analyser l'ensemble (plutôt qu'un seul fichier) reflète la politique réellement appliquée par sudo à l'exécution.

describe command('grep -rqE \'^[^#]*Defaults[^#]*\bumask\b\' /etc/sudoers /etc/sudoers.d/ 2>/dev/null && echo ok || echo ko') do
  its('stdout.strip') { should eq 'ok' }
end

Comment vérifier qu’elle est appliquée

Exécutez sudo grep -rE '^[^#]*Defaults[^#]*\bumask\b' /etc/sudoers /etc/sudoers.d/, vous devez obtenir une ligne telle que Defaults umask=0027. Vous pouvez aussi confirmer que le fichier est valide avec sudo visudo -cf /etc/sudoers.d/99-Pavois-umask (attendu : parsed OK).

Inspecter et investiguer

L'activité de sudo est journalisée dans /var/log/auth.log (Debian) ou /var/log/secure (RHEL) ; consultez les entrées avec journalctl _COMM=sudo. Le réglage umask lui-même ne génère pas de ligne de log, mais vous pouvez en observer l'effet sur les permissions des fichiers créés par les commandes lancées via sudo.

Remédiation

Le plan de durcissement de Pavois écrit un fichier drop-in /etc/sudoers.d/99-Pavois-umask (propriétaire root:root, mode 0440) contenant Defaults umask=0027 et Defaults umask_override, et le valide avec visudo -cf avant de l'activer. Appliqué avec pavois harden apply.

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

contentDefaults umask=0027 Defaults umask_override
grouproot
mode0440
ownerroot
path/etc/sudoers.d/99-pavois-umask
resourcefile
verifyvisudo -cf %{path}
pavois harden plan local

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

Impact & précautions

Impact opérationnel faible : un umask à 0027 ne fait que restreindre les permissions des fichiers nouvellement créés ; il ne change ni les propriétaires ni les fichiers existants. Certains outils attendant une sortie lisible par le groupe depuis des commandes lancées via sudo pourraient être affectés : vérifiez les automatisations qui dépendent de fichiers lisibles par le groupe ou tous. Le drop-in est validé avec visudo -cf avant activation, n'éditez jamais sudoers directement sans visudo, car une erreur de syntaxe peut casser complètement sudo et vous priver de toute élévation de privilèges.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R39direct2.0haute

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