Lab

Linux : protéger un fichier avec chattr sans se piéger soi-même

La commande chattr reste utile pour protéger un fichier, mais elle mérite deux avertissements et un casque.

· Linux, fichiers, chattr

Le principe

Sous Linux, chattr permet de modifier des attributs spéciaux sur certains systèmes de fichiers, notamment ext2/ext3/ext4.

Le cas le plus connu : rendre un fichier immuable.

sudo chattr +i fichier.conf

Une fois l’attribut i posé, même root ne peut plus modifier ou supprimer le fichier sans retirer l’attribut.

Pour retirer la protection :

sudo chattr -i fichier.conf

Pour voir les attributs :

lsattr fichier.conf

Usage utile

Ça peut servir pour protéger :

  • une configuration critique ;
  • un fichier que certains scripts ne doivent pas écraser ;
  • un fichier témoin pendant un diagnostic ;
  • un système fragile le temps d’une intervention.

Exemple :

sudo chattr +i /etc/resolv.conf

Mais attention : sur beaucoup de distributions modernes, ce fichier peut être géré par NetworkManager, systemd-resolved ou autre mécanique joyeuse. Le rendre immuable peut donc casser des comportements normaux.

Le piège

Le piège classique : oublier qu’on a mis +i.

Six mois plus tard, une mise à jour échoue, un service râle, et quelqu’un dit :

C’est bizarre, pourtant je suis root.

Oui. Root aussi peut marcher sur un râteau.

À propos de chattr +s

L’ancienne note mentionnait chattr +s pour effacer un fichier de façon plus sûre.

En pratique moderne, il ne faut pas compter dessus comme méthode fiable d’effacement sécurisé, surtout avec SSD, journaling, snapshots, CoW, disques chiffrés, wear leveling, etc.

Pour les secrets :

  • chiffrement disque ;
  • gestionnaire de secrets ;
  • rotation ;
  • suppression de la source ;
  • éviter d’écrire le secret en clair dès le départ.

La vraie sécurité, c’est souvent d’éviter de créer le problème. Concept outrageusement sous-coté.

Verdict

chattr +i reste utile, mais c’est un outil d’admin ponctuel, pas une stratégie de sécurité complète.