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

Traduis une décision de risque en exigences de durcissement testables

Transforme un traitement de risque en état cible, tests positifs et négatifs, effet fonctionnel, rollback et limite de preuve.

Durée indicative · ~1 h 30Niveau intermédiairePrérequis conseillé · Fondamentaux de la cybersécurité — registre de risques et traitementsPratique · TP
L’idée reçue

« Durcir signifie appliquer une checklist maximale. »

Une checklist ne connaît ni la mission, ni les dépendances, ni le risque d’interruption. Le durcissement commence par une exigence adaptée et testable.

01Pars d’une décision déjà justifiée

SORIA Distribution a déjà identifié ses missions, actifs, vulnérabilités et traitements dans la matière de fondations. Tu ne recommences pas l’analyse complète.

Tu prends une décision précise :

Risque : administration du portail trop exposée
Traitement : REDUCE
Actif : AST-001
Mission : recevoir les commandes clients

Une décision de risque ne dit pas encore quoi configurer. Elle doit devenir un résultat observable.

02Manipule le dossier de référence

lab=/tmp/soria-hardening-lot1-$USER
bash module1-baseline-change-recovery.sh setup "$lab"
bash module1-baseline-change-recovery.sh status "$lab"
bash module1-baseline-change-recovery.sh run "$lab"

column -s, -t "$lab/source/change/risk-requirements.csv"

Le fichier contient six exigences. Observe REQ-001 :

décision        REDUCE
actif           AST-001
cible           exposer uniquement HTTPS et restreindre SSH
test positif    HTTPS présent
test négatif    Telnet absent
test fonctionnel portail représenté disponible
limite          aucun port réel testé

La ligne ne prétend pas que le serveur existe. Elle définit le contrat que devra respecter une mise en œuvre autorisée.

03Distingue les six parties de l’exigence

Partie
Question
Exemple
État cible
Que doit devenir vrai ?
SSH accessible uniquement par le chemin d’administration
Test positif
Ce qui doit fonctionner fonctionne-t-il ?
HTTPS reste disponible
Test négatif
Ce qui doit être interdit est-il refusé ?
Telnet n’est plus présent
Test fonctionnel
La mission reste-t-elle assurée ?
une commande peut encore être lue
Rollback
Comment revenir à l’état connu ?
restaurer snapshot et configuration
Limite
Qu’est-ce qui n’a pas été démontré ?
aucun paquet réel n’a traversé le réseau

Une action comme « désactiver Telnet » n’est qu’un moyen. L’exigence contient le résultat et les preuves attendues.

04Relie la cible à la mission

Compare deux formulations :

Mauvais
Désactiver tous les services inutiles.

Testable
Sur AST-002 :
- conserver erp-api ;
- retirer ftp ;
- vérifier la lecture des commandes ;
- restaurer paquet et configuration si le test métier échoue.

La seconde formulation protège à la fois la sécurité et la disponibilité métier.

05Observe la séparation entre preuve et promesse

grep '^REQ-005,' "$lab/source/change/risk-requirements.csv"

REQ-005 exige deux dépôts et des rôles séparés. Mais sa limite déclare :

Immutabilité réelle non prouvée

Une propriété inscrite dans une politique n’est pas encore une propriété technique. La preuve doit venir d’un mécanisme observé et d’un test.

06Prépare les critères avant le changement

Pour chaque exigence, produis cette fiche :

ID
décision de risque
actif et propriétaire
mission à préserver
état initial connu
état cible
action bornée
test positif
test négatif
test fonctionnel
précheck
critère d'arrêt
rollback
preuve attendue
limite de preuve

L’ordre est important. Écrire les assertions après coup permettrait de les adapter à ce que l’outil a produit.

07Reconnais les modes d’échec

L’exigence est incomplète si :

  • l’actif ou le propriétaire est absent ;
  • la cible est une commande sans résultat attendu ;
  • seul le test positif est prévu ;
  • la mission n’est jamais vérifiée ;
  • le rollback est « à définir » ;
  • la preuve est une capture sans contexte ;
  • une conformité complète est annoncée à partir d’un contrôle partiel.

Le lab bloque volontairement des variantes incohérentes pendant validate.

08Valide sans dépasser le périmètre

bash module1-baseline-change-recovery.sh validate "$lab"

Le résultat confirme la cohérence des fixtures. Il ne confirme pas :

un serveur durci
un patch installé
un port fermé
une restauration de production
une conformité ANSSI ou CIS

La frontière de preuve est un livrable, pas une réserve ajoutée à la fin.

Livrable

Rédige trois exigences pour SORIA Distribution

Sélectionne trois décisions du registre de risques publié. Pour chacune, fournis cible, tests positif/négatif/fonctionnel, rollback et limite. Refuse toute formulation qui ne permet pas de conclure.

✓À retenir

Le durcissement ne commence pas par une commande. Il commence par un résultat lié au risque, à la mission, aux preuves et au retour arrière.

Ta progression

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