« Une GPO peut être généralisée dès qu’elle fonctionne sur une machine. »
Un pilote unique ne couvre pas les rôles, les délais de traitement, les redémarrages ni les effets différés.
01Observe les anneaux
column -s, -t "$lab/source/rollout/rings.csv"
R0-Observe → R1-Pilot → R2-Limited → R3-General
Chaque anneau possède une portée, des critères d’entrée, des tests, des critères d’arrêt, un délai d’observation, un rollback et un propriétaire.
02Exécute les préchecks
column -s, -t "$lab/output/precheck-report.csv"
La sauvegarde, l’OU pilote, le management, les prérequis LAPS, la baseline fonctionnelle et le responsable du rollback sont bloquants.
03Planifie sans modifier
.\module4-windows-ad-hardening.ps1 -Action Setup
.\module4-windows-ad-hardening.ps1 -Action Plan `
-PilotOU 'OU=ServersPilot,OU=SORIA-Lab,DC=soria,DC=lab'
Plan résout domaine et OU, inventorie les groupes privilégiés et vérifie la disponibilité LAPS sans lire de secret.
04Applique uniquement après autorisation
.\module4-windows-ad-hardening.ps1 -Action Apply `
-PilotOU 'OU=ServersPilot,OU=SORIA-Lab,DC=soria,DC=lab' `
-ConfirmAuthorizedLab
Le script refuse la racine du domaine, exige le préfixe SORIA-LAB-, sauvegarde un GPO existant et lie seulement l’OU pilote.
05Combine les tests
cat "$lab/output/positive-test-report.csv"
cat "$lab/output/negative-test-report.csv"
cat "$lab/output/functional-test-report.csv"
Les tests positifs prouvent le chemin légitime. Les négatifs prouvent les refus. Les fonctionnels protègent DNS, Kerberos, l’application et le management.
06Respecte les critères d’arrêt
Arrête immédiatement si l’accès administratif ou une fonction échoue. Une absence de supervision, un traitement GPO incomplet ou un dépassement de délai doit aussi empêcher la progression.
07Prépare le rollback réel
.\module4-windows-ad-hardening.ps1 -Action Rollback `
-PilotOU 'OU=ServersPilot,OU=SORIA-Lab,DC=soria,DC=lab' `
-ConfirmAuthorizedLab
Le script retire le lien pilote, puis supprime le GPO créé par le lab ou restaure la sauvegarde du GPO préexistant. Reset refuse de supprimer les preuves tant que le GPO subsiste.
08Vérifie le rollback synthétique
cat "$lab/output/rollback-report.txt"
cmp "$lab/output/rollback-manifest-before.csv" \
"$lab/output/rollback-manifest-restored.csv"
Cette égalité concerne les fixtures. Elle ne remplace pas une restauration GPO observée dans un domaine autorisé.
09Rends la décision
cat "$lab/output/final-decision.txt"
Résultat de référence : WINDOWS_AD_HARDENING_WITH_ACTIONS. READY exige l’exécution réelle, le traitement GPO, LAPS, Defender, pare-feu, accès, fonctions et rollback. BLOCKED s’impose dès qu’un contrôle ou une fonction échoue.
10Nettoie le validateur
bash module4-windows-fixtures-validator.sh validate "$lab"
bash module4-windows-fixtures-validator.sh reset "$lab"
test ! -e "$lab"
Défends la décision Windows/AD
Présente baseline, LAPS, GPO, chemins privilégiés, anneaux, huit tests négatifs et rollback. Distingue clairement ce que la CI prouve de ce qui nécessite une VM ou un domaine autorisé.
✓Lot 4 terminé
Tu sais préparer un durcissement Windows et Active Directory par rôle, OU pilote, tests, anneaux et rollback, sans dépasser les preuves disponibles.