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

Conçois une baseline Linux par rôle

Construis un socle Linux lié à la mission de chaque hôte, avec contrôle, test, rollback et limite de preuve.

Durée indicative · ~1 h 40Niveau intermédiairePrérequis conseillé · Lot 2 — identités, privilèges, administration et secretsPratique · TP
L’idée reçue

« Une bonne baseline Linux est identique sur tous les serveurs. »

Un bastion, une base de données, un serveur web et un dépôt de sauvegarde n’ont ni les mêmes fonctions ni les mêmes chemins d’administration. Le socle commun existe, mais sa cible doit rester liée au rôle.

01Pars de la mission, pas d’une liste générique

SORIA Distribution représente quatre hôtes :

lin-web-01      servir le portail
lin-db-01       stocker les commandes
lin-bastion-01  fournir l'entrée d'administration
lin-backup-01   protéger les sauvegardes

La baseline commence par les fonctions à préserver, les propriétaires et les interdictions. Elle ne commence pas par une commande copiée d’un guide.

02Manipule le dossier de référence

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

column -s, -t "$lab/source/inventory/hosts.csv"
column -s, -t "$lab/output/linux-role-baseline.csv"

Le lab ne lit pas /etc. Il copie dix-sept fixtures synthétiques dans une racine protégée et rend source/ non modifiable.

03Observe les différences de rôle

Le serveur web cible notamment :

SSH root refusé
/tmp avec nodev nosuid noexec
avahi-daemon désactivé

Le serveur de sauvegarde cible :

service exécuté par soria-backup
volume de travail avec nodev nosuid
pas de noexec car un helper représenté doit s'exécuter

Appliquer mécaniquement noexec au second volume produirait un contrôle plus strict sur le papier, mais casserait la fonction déclarée.

04Comprends le contrat d’un contrôle

Chaque ligne de baseline possède :

rôle
catégorie
paramètre
état source
état cible
justification
propriétaire
test
rollback
limite de preuve

Une cible sans test ni rollback n’est pas prête à être déployée. Une cible sans propriétaire ne peut pas être acceptée ni maintenue.

05Distingue commun et spécifique

Contrôle
Commun
Adaptation
Accès root distant
Refusé
Chemin nommé différent selon le rôle
Réduction des services
Service non requis désactivé
Liste requise liée à la mission
Montages
nodev et nosuid évalués
noexec dépend du workload
Exécution
Privilèges minimisés
Utilisateur et capacités liés au service

Le socle commun exprime un principe. La baseline par rôle transforme ce principe en cible testable.

06Teste positivement la couverture

awk -F, 'NR>1 {count[$2]++} END {for (r in count) print r,count[r]}' \
  "$lab/source/baseline/controls.csv"

Le validateur exige les rôles web, database, bastion et backup, ainsi qu’un propriétaire, une justification, un test et un rollback pour chaque contrôle.

07Teste négativement une baseline orpheline

Pendant validate, une copie de contrôle perd son propriétaire. Elle doit être rejetée avec :

baseline control missing role owner justification test or rollback

Le test empêche de considérer une ligne techniquement plausible comme un contrôle gouverné.

08Mesure la conséquence fonctionnelle

La baseline web doit conserver nginx. La baseline base de données doit conserver postgresql. La baseline bastion doit conserver sshd et le compte admin-ops. La baseline sauvegarde doit conserver backup-agent.

Le lab croise ces exigences avec l’état cible. Il ne se contente pas de compter les contrôles de sécurité.

09Prépare le rollback dès la conception

Chaque contrôle référence RB-LNX-001. Le rollback ne signifie pas « remettre comme avant si nécessaire ». Il définit :

source de restauration
artefacts concernés
condition d'arrêt
méthode de vérification
propriétaire
limite

Le lab restaure les copies before vers une destination séparée et compare leurs manifestes SHA-256.

10Respecte la limite de preuve

Le résultat peut démontrer :

  • cohérence de la baseline ;
  • présence des exigences ;
  • détection des écarts ;
  • préservation des fonctions représentées ;
  • rollback par copie.

Il ne démontre ni une machine durcie ni l’application d’un paramètre Linux réel.

Livrable

Défends une baseline par rôle

Choisis deux rôles SORIA Distribution. Pour chacun, fournis cinq contrôles avec état source, cible, justification, test positif, test négatif, test fonctionnel, rollback et limite. Explique une différence de cible entre les deux rôles.

✓À retenir

Une baseline Linux n’est pas un maximum uniforme. C’est un contrat de sécurité adapté au rôle, à la mission et aux preuves disponibles.

Ta progression

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