← Toutes les règles
SOCLE-CLD-FSP-163// File permissionsmoyenneconfig persistante

S'assurer qu'aucun fichier accessible en écriture par tous n'existe

Vérifie que le répertoire partagé /tmp n'est pas accessible en écriture par les autres, sentinelle de la politique plus large d'absence de fichiers accessibles en écriture par tous non autorisés.

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

Les données dans les fichiers et répertoires accessibles en écriture par tous peuvent être modifiées par n'importe quel utilisateur du système. Un attaquant (ou un compte peu privilégié compromis) peut altérer le contenu, déposer des scripts ou écraser des données de confiance, compromettant l'intégrité. Sur un répertoire accessible en écriture par tous comme /tmp, l'absence du sticky bit est particulièrement dangereuse : tout utilisateur pourrait supprimer ou renommer les fichiers d'autrui. Un accès légitime peut presque toujours être accordé via des permissions utilisateur/groupe, sans exposer le fichier à tout le monde.

Ce que vérifie Pavois

Pavois lit le mode réel de /tmp et vérifie que le bit d'écriture pour tous n'est pas positionné de manière non protégée. Note : un /tmp correctement durci est typiquement 1777, accessible en écriture par tous avec le sticky bit. Lorsque ce contrôle échoue, il signale que /tmp a été reconfiguré de manière non sécurisée (par ex. perte de sa protection) et sert de contrôle représentatif du fait que la surface accessible en écriture par tous est maîtrisée. Inspecter l'inode effectif vaut mieux que d'analyser fstab ou un manifeste, qui ne refléteraient pas un chmod effectué à l'exécution.

describe command('find / -xdev -type f -perm -0002 2>/dev/null | head -1') do
  its('stdout') { should eq '' }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%a' /tmp (attendu 1777, sticky bit positionné). Pour auditer tout le système à la recherche de fichiers accessibles en écriture par tous sans sticky bit : find / -xdev -type f -perm -0002 2>/dev/null (ne doit rien retourner) et find / -xdev -type d -perm -0002 ! -perm -1000 2>/dev/null pour les répertoires non protégés.

Inspecter et investiguer

Il n'existe pas de journal de service pour les permissions ; auditez à la demande avec les commandes find ci-dessus. Si auditd surveille les chemins concernés, les changements associés apparaissent dans /var/log/audit/audit.log. Les fichiers fournis par des paquets ayant dérivé apparaissent via dpkg --verify ou rpm -Va.

Remédiation

Aucune remédiation automatique n'est fournie pour cette règle. Restaurez /tmp avec chmod 1777 /tmp, et retirez le bit d'écriture pour tous de tout fichier fautif trouvé par l'audit find : chmod o-w <fichier> (ou ajoutez le sticky bit aux répertoires légitimement partagés avec chmod +t <répertoire>).

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

commandfind / -xdev -type f -perm -0002 -exec chmod o-w {} + 2>/dev/null || true
namefix-world-writable
not_iftest -z "$(find / -xdev -type f -perm -0002 2>/dev/null | head -1)"
resourceexec
pavois harden plan local

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

Impact & précautions

Les fichiers accessibles en écriture par tous permettent à n'importe quel utilisateur local d'altérer les données et de consolider une prise de pied. La remédiation est généralement sans danger, mais retirer aveuglément les bits d'écriture peut casser des applications qui s'appuient légitimement sur un répertoire partagé, examinez chaque résultat de find avant de le modifier. Pour /tmp et /var/tmp, conservez-les accessibles en écriture par tous avec le sticky bit (1777) ; supprimer entièrement l'écriture pour tous casserait de nombreux programmes qui créent des fichiers temporaires.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R54direct2.0haute
CIS2.2.6, 7.1.11directper OS, see the benchmark tablehaute
NISTAC-6(1), CM-6(a)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