Sécurisation des systèmes et des réseaux · Étape 14

Protège fichiers, montages et répertoires temporaires

Réduis les droits et options dangereuses sans imposer une cible incompatible avec les besoins du workload.

Durée indicative · ~1 h 40Niveau intermédiairePrérequis conseillé · Leçon 13 — durcir comptes, PAM, sudo et SSHPratique · TP
L’idée reçue

« Ajouter nodev,nosuid,noexec partout est toujours plus sûr. »

Une option peut être appropriée sur /tmp et incompatible avec un volume qui exécute un helper requis. La cible doit être restrictive et fonctionnelle.

01Relie le chemin à son usage

Le dossier représente notamment :

/etc/shadow
/etc/sudoers
/var/lib/postgresql/data
/var/lib/soria-backup/config
/srv/soria-web/public

Chaque chemin possède hôte, propriétaire, groupe, mode source, mode cible, sensibilité, fonction et rollback.

02Manipule les rapports

lab=/tmp/soria-hardening-linux-$USER
bash module3-linux-hardening.sh setup "$lab"
bash module3-linux-hardening.sh run "$lab"

column -s, -t "$lab/output/file-permissions-review.csv"
column -s, -t "$lab/output/mount-hardening-review.csv"

Le changement porte sur des colonnes CSV. Aucun chmod, chown, mount ou umount n’est exécuté.

03Observe les modes sensibles

Exemples de cibles :

/etc/shadow                  0640
/etc/sudoers                 0440
/var/lib/postgresql/data     0700
configuration de sauvegarde 0640

Le mode n’est qu’une partie du contrôle. Le propriétaire et le groupe doivent aussi correspondre au besoin d’accès.

04Comprends le test world-writable

Pour un fichier sensible, le bit d’écriture des autres utilisateurs doit être absent. Le validateur inspecte le dernier chiffre octal et refuse 2, 3, 6 ou 7.

Il refuse aussi un propriétaire vide.

sensitive file is world-writable or ownerless

Cette règle ne remplace pas l’analyse des ACL, attributs étendus, labels MAC ou liens.

05Adapte les options de montage

Le dossier cible :

/tmp                     nodev|nosuid|noexec
/var/lib/postgresql      nodev|nosuid
/home                    nodev|nosuid
/var/tmp/backup-work     nodev|nosuid

/home et le volume de travail de sauvegarde déclarent un besoin d’exécution. Le lab interdit donc d’y ajouter silencieusement noexec.

06Observe le test négatif fonctionnel

Le validateur crée une variante :

/home → nodev|nosuid|noexec
required_exec → yes

Elle doit échouer avec :

mount policy conflicts with functional requirement

Le contrôle ne récompense pas une option plus restrictive lorsqu’elle contredit une exigence approuvée.

07Teste positivement la cible

Pour chaque montage, le lab exige :

  • nodev ;
  • nosuid ;
  • noexec sur /tmp lorsque l’exécution n’est pas requise ;
  • absence de noexec lorsqu’un besoin d’exécution est déclaré ;
  • propriétaire, test et rollback.

Sur un hôte autorisé, il faudrait compléter avec findmnt, un test d’écriture, un test d’exécution borné et une observation du démarrage.

08Prépare l’effet fonctionnel

Avant de changer un mode ou un montage :

identifier le processus et son identité
identifier lecture écriture exécution requises
capturer le before state
préparer une session de secours
appliquer sur un périmètre pilote
rejouer le test métier
annuler si le test échoue

Une absence d’erreur de syntaxe ne prouve pas la compatibilité applicative.

09Conserve la preuve du changement

Les rapports enregistrent :

  • mode ou options avant ;
  • cible ;
  • justification ;
  • test ;
  • exception ;
  • rollback ;
  • limite.

Le delta est conservé séparément de la baseline afin de distinguer la norme et le changement réellement proposé.

10Respecte la frontière

Le lab ne prouve pas :

  • le comportement du noyau ;
  • la persistance dans fstab ;
  • les ACL ou labels SELinux/AppArmor ;
  • la compatibilité d’une application réelle ;
  • la résistance à un attaquant local.
Livrable

Évalue quatre chemins

Pour deux fichiers sensibles et deux montages, documente propriétaire, mode ou options, besoin fonctionnel, test positif, test négatif, rollback et limite. Refuse une cible qui brise une fonction déclarée.

✓À retenir

Un mode ou un montage est sûr lorsqu’il réduit l’exposition tout en conservant uniquement les accès et fonctions approuvés.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.