Cybersécurité

Durcissement Windows : GPO, BitLocker, Defender, AppLocker et LAPS

15 دقائق للقراءة

📍 Article de référence : Sécuriser les systèmes d’information : guide complet 2026
Ce tutoriel détaille l’application opérationnelle du durcissement Windows. Pour la vue d’ensemble, consultez le guide de référence.

Un poste Windows 11 ou un serveur Windows Server installé par défaut accepte volontiers le chiffrement opportuniste, des stratégies de mot de passe minimales et des comptes administrateurs locaux avec des secrets identiques sur toute la flotte. C’est précisément ce que les attaquants exploitent — Pass-the-Hash, attaques sur le hash NTLM mis en cache, mouvement latéral entre postes via des identifiants administrateurs locaux dupliqués. Ce tutoriel applique les contrôles de durcissement Microsoft Security Baseline et les CIS Benchmarks Windows sur Windows 11 et Windows Server 2022/2025, en s’appuyant sur les stratégies de groupe (GPO) en environnement Active Directory et les outils intégrés (BitLocker, Defender, AppLocker, LAPS).

Prérequis

  • Windows Server 2022 ou 2025 (idéalement Domain Controller) et postes Windows 11 23H2 ou 24H2 joints au domaine.
  • Compte administrateur de domaine pour modifier les GPO.
  • TPM 2.0 activé dans le BIOS/UEFI sur tous les postes (obligatoire pour BitLocker et Windows 11).
  • Secure Boot activé.
  • Temps estimé : 3 à 4 heures pour un déploiement initial sur un OU pilote.

Étape 1 — Récupérer les Security Baselines Microsoft

Microsoft publie gratuitement, via le Security Compliance Toolkit, des packages GPO préconfigurés (Security Baselines) qui appliquent plusieurs centaines de contrôles conformes aux recommandations de la division Microsoft Security. C’est le point de départ officiellement supporté.

# Sur une station d'administration
# 1. Télécharger le Security Compliance Toolkit depuis le Microsoft Download Center
#    https://www.microsoft.com/en-us/download/details.aspx?id=55319

# 2. Extraire l'archive correspondant à la version cible (Windows 11 24H2 par exemple)

# 3. Le dossier extrait contient :
#    - GPOs         (objets à importer)
#    - Scripts      (Baseline-ADImport.ps1, Baseline-LocalInstall.ps1)
#    - Templates    (ADMX/ADML à copier dans le PolicyDefinitions central)
#    - Documentation (Excel décrivant chaque réglage)

L’importation se fait via le script PowerShell fourni, depuis une session élevée sur un serveur ayant accès au Group Policy Management Console :

# Importer toutes les Baselines dans la forêt AD (ne lie pas, importe seulement)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
cd .\Scripts
.\Baseline-ADImport.ps1

# Les GPO importées apparaissent dans GPMC, préfixées "MSFT Windows 11 - ..." etc.
# Elles ne sont PAS encore liées à des OU.

L’étape suivante consiste à lier ces GPO à une OU pilote (par exemple OU=Pilot-Workstations,DC=corp,DC=exemple,DC=io) contenant 5 à 10 postes représentatifs, à observer pendant deux semaines, puis à étendre par vagues à l’ensemble du parc. Sauter l’étape pilote — appliquer directement à toute la production — produit invariablement des cas de blocage métier qui forcent un rollback brutal et entachent la crédibilité du projet de sécurité.

Étape 2 — Politique de mots de passe et verrouillage de compte

Les paramètres se trouvent sous Computer Configuration → Policies → Windows Settings → Security Settings → Account Policies. Les recommandations du NIST SP 800-63B Rev. 4 (final juillet 2025) (et reprises par Microsoft) ont évolué — la rotation périodique forcée des mots de passe est devenue contre-productive : elle pousse les utilisateurs à des variations triviales (Password1, Password2) et est désormais déconseillée. À la place : longueur substantielle, pas de réutilisation, vérification contre les bases de mots de passe compromis (HaveIBeenPwned), et MFA universel.

Paramètre Valeur recommandée Justification
Longueur minimale 14 caractères Cassage hors-ligne d’un hash NTLM 14c en GPU coûte des années en 2026
Complexité (Password must meet complexity requirements) Activé 3 catégories sur 4 minimum
Historique (Enforce password history) 24 mots de passe Empêche le cycle court de réutilisation
Âge maximal 0 (jamais) Recommandation NIST SP 800-63B Rev. 4 (juillet 2025) — pas de rotation systématique
Verrouillage de compte 5 échecs Bloque le brute force en ligne
Durée de verrouillage 15 minutes Suffisant pour stopper l’automate
Réinitialisation du compteur 15 minutes Aligné avec la durée de verrouillage

En PowerShell, l’application via stratégie de groupe locale (pour test rapide) :

# Stratégies locales — équivalent secpol.msc
secedit /export /cfg C:\Temp\local-secpol.cfg

# Éditer le fichier exporté et modifier les sections [System Access] :
# MinimumPasswordLength = 14
# PasswordComplexity = 1
# PasswordHistorySize = 24
# MaximumPasswordAge = -1
# LockoutBadCount = 5
# ResetLockoutCount = 15
# LockoutDuration = 15

secedit /configure /db C:\Windows\security\local.sdb /cfg C:\Temp\local-secpol.cfg /areas SECURITYPOLICY

Étape 3 — BitLocker avec TPM 2.0 et PIN au démarrage

BitLocker chiffre intégralement le disque système avec AES-128-XTS ou AES-256-XTS. Le mode TPM only est confortable mais vulnérable aux attaques physiques (DMA, vol de poste avec extraction du TPM). Le mode TPM + PIN au démarrage ajoute un facteur de connaissance — l’attaquant qui obtient physiquement le poste ne peut plus le démarrer sans le PIN.

Activation via GPO sous Computer Configuration → Policies → Administrative Templates → Windows Components → BitLocker Drive Encryption → Operating System Drives :

  • Require additional authentication at startup : Activé, avec « Configure TPM startup PIN » défini sur « Require startup PIN with TPM ».
  • Choose drive encryption method and cipher strength : XTS-AES 256-bit pour les disques OS.
  • Allow enhanced PINs for startup : Activé — autorise les PIN alphanumériques (jusqu’à 20 caractères), bien plus résistants qu’un PIN numérique 6 chiffres.
  • Choose how BitLocker-protected operating system drives can be recovered : Activé, avec sauvegarde obligatoire de la clé de récupération dans Active Directory (« Save BitLocker recovery information to AD DS »).

Une fois la GPO appliquée, l’activation BitLocker sur un poste se déclenche par PowerShell :

# Vérifier les prérequis TPM
Get-Tpm
# TpmPresent : True, TpmReady : True, TpmEnabled : True

# Activer BitLocker avec TPM + PIN
$pin = Read-Host -AsSecureString "Entrer un PIN BitLocker (8 à 20 caractères)"
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -TpmAndPinProtector -Pin $pin -UsedSpaceOnly

# Sauvegarder la clé de récupération vers AD
$key = (Get-BitLockerVolume -MountPoint "C:").KeyProtector | Where-Object KeyProtectorType -eq RecoveryPassword
Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $key.KeyProtectorId

# Vérifier le statut du chiffrement
Get-BitLockerVolume -MountPoint "C:"

L’option -UsedSpaceOnly chiffre uniquement les blocs occupés — bien plus rapide sur un disque récemment provisionné. Pour un disque existant qui a déjà contenu des données sensibles, utiliser le mode complet (omettre l’option) pour éviter qu’une donnée résiduelle reste lisible. Sur Windows 11 24H2, l’écran de récupération BitLocker affiche désormais un indice du compte Microsoft associé à la clé, simplifiant la récupération en cas d’incident.

Étape 4 — Microsoft Defender Antivirus et SmartScreen

Microsoft Defender Antivirus est intégré à Windows 10/11 et Windows Server 2019+ ; il n’est plus nécessaire de déployer un antivirus tiers pour les déploiements standards. Sa qualité de détection est régulièrement primée dans les tests indépendants AV-Comparatives et AV-TEST. La configuration durcie est obtenue via les GPO sous Computer Configuration → Policies → Administrative Templates → Windows Components → Microsoft Defender Antivirus.

Réglages essentiels à activer :

  • Real-time Protection → Turn off real-time protection : Désactivé (la protection temps réel doit rester active).
  • MAPS → Join Microsoft MAPS : Advanced MAPS — partage des télémétries pour bénéficier de la détection cloud.
  • MpEngine → Configure extended cloud check : Activé à 50 secondes — délai d’analyse cloud avant action sur un fichier suspect.
  • Attack Surface Reduction (ASR) rules : Mode Block sur les règles couramment activées sans casser les applications métier (bloquer les processus enfants Office, l’exécution de scripts depuis email, le credential stealing depuis lsass.exe, les processus persistants WMI).
  • Controlled Folder Access : Activé en mode Audit pendant 30 jours puis Block — bloque les ransomwares en empêchant les processus non autorisés d’écrire dans les dossiers protégés (Documents, Pictures, Desktop).
  • Network Protection : Activé — bloque la résolution de domaines malveillants connus avant que la connexion s’établisse.

Pour activer les règles ASR en PowerShell, par GUID officiel :

# Liste des GUID des règles ASR principales (documentation Microsoft Learn)
# Bloquer les processus enfants depuis Office :
Set-MpPreference -AttackSurfaceReductionRules_Ids D4F940AB-401B-4EFC-AADC-AD5F3C50688A -AttackSurfaceReductionRules_Actions Enabled

# Bloquer le vol de credentials depuis LSASS :
Set-MpPreference -AttackSurfaceReductionRules_Ids 9E6C4E1F-7D60-472F-BA1A-A39EF669E4B2 -AttackSurfaceReductionRules_Actions Enabled

# Bloquer JavaScript/VBScript téléchargé :
Set-MpPreference -AttackSurfaceReductionRules_Ids D3E037E1-3EB8-44C8-A917-57927947596D -AttackSurfaceReductionRules_Actions Enabled

# Vérifier les règles actives
Get-MpPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Ids

SmartScreen, qui filtre les téléchargements et applications depuis le web, doit être activé en mode Block and prompt via Windows Components → File Explorer → Configure Windows Defender SmartScreen.

Étape 5 — AppLocker : contrôle d’application par liste blanche

AppLocker est l’outil intégré de contrôle d’exécution applicative. Il permet d’autoriser explicitement les exécutables, scripts et installateurs Windows par règle (chemin, hash, ou éditeur signé), bloquant tout le reste. Sur les serveurs et postes utilisateur sensibles, c’est une protection puissante contre l’exécution de malwares non signés.

Configuration via GPO sous Computer Configuration → Policies → Windows Settings → Security Settings → Application Control Policies → AppLocker. AppLocker s’appuie sur le service Application Identity (AppIDSvc), qui doit être démarré automatiquement.

# Activer le service AppIDSvc par GPO ou par PowerShell sur les machines cibles
Set-Service -Name AppIDSvc -StartupType Automatic
Start-Service AppIDSvc

# Générer les règles par défaut (autorise Program Files et Windows, bloque le reste)
# Dans GPMC : Application Control Policies → AppLocker → Executable Rules
# Clic droit → Create Default Rules

Les règles par défaut autorisent uniquement les exécutables dans C:\Windows et C:\Program Files — emplacements protégés par les ACL système. Tout ce qui s’exécute depuis %TEMP%, %APPDATA% ou un dossier utilisateur est bloqué. C’est un saut majeur de sécurité car la quasi-totalité des charges malveillantes s’exécutent depuis ces emplacements.

Pour éviter le blocage de logiciels métiers légitimes installés hors de Program Files, on crée des règles d’exception au cas par cas par éditeur signé (préféré au chemin et au hash, car résistant aux mises à jour applicatives). On commence toujours par le mode Audit only pendant deux à quatre semaines pour identifier toutes les applications à autoriser explicitement avant de basculer en mode Enforce.

Étape 6 — Windows LAPS : mots de passe administrateurs locaux uniques

Le compte Administrator local existe sur chaque poste Windows. Si son mot de passe est identique sur toute la flotte (cas hélas fréquent), un attaquant qui obtient le hash NTLM sur un poste peut se déplacer latéralement (Pass-the-Hash) vers tous les autres. Windows LAPS résout définitivement ce problème en générant et faisant tourner automatiquement un mot de passe unique pour chaque poste, stocké en AD ou Entra ID, accessible seulement aux administrateurs autorisés.

Windows LAPS est intégré nativement à Windows depuis la mise à jour du 11 avril 2023 sur Windows 10/11, Windows Server 2019/2022 et Windows Server 2025. Le produit historique Microsoft LAPS (MSI séparé) est déprécié et son installation est bloquée sur les OS récents. Aucun téléchargement séparé n’est requis sur les systèmes à jour.

# Préparer le schéma AD (à exécuter une seule fois sur un Domain Controller)
Update-LapsADSchema

# Donner aux ordinateurs le droit d'écrire leur mot de passe LAPS
# Sur l'OU contenant les ordinateurs cibles :
Set-LapsADComputerSelfPermission -Identity "OU=Workstations,DC=corp,DC=exemple,DC=io"

# Configurer les permissions de lecture pour les administrateurs (par GPO ou ACL AD)
# Seuls les Tier 0 (Domain Admins) doivent pouvoir lire les mots de passe Workstations.

Configuration via GPO sous Computer Configuration → Policies → Administrative Templates → System → LAPS :

  • Configure password backup directory : Active Directory (ou Microsoft Entra ID en environnement cloud).
  • Password complexity : Large letters + small letters + numbers + special characters.
  • Password length : 20 caractères minimum.
  • Password age (days) : 30.
  • Post-authentication actions : Reset the password and logoff the managed account.
  • Name of administrator account to manage : Administrator (ou le SID 500 si compte renommé).

Récupération d’un mot de passe LAPS pour intervention :

# Depuis une station d'administration
Get-LapsADPassword -Identity "WKSTN-01" -AsPlainText

# Forcer la rotation immédiate après usage
Reset-LapsPassword -Identity "WKSTN-01"

La règle d’hygiène : après chaque utilisation d’un mot de passe administrateur local pour une intervention, forcer immédiatement la rotation. Le mot de passe que l’administrateur a vu, lu, ou potentiellement saisi sur une machine compromise est considéré comme exposé.

Étape 7 — Audit avec PingCastle et BloodHound

Deux outils gratuits sont devenus la référence pour auditer une infrastructure Active Directory. PingCastle (édition gratuite community) scanne l’AD et produit un rapport HTML détaillé avec un score global de risque, des recommandations priorisées, et une cartographie des objets dangereux. BloodHound (open-source) utilise la théorie des graphes pour identifier les chemins d’attaque vers les comptes à privilèges les plus convoités (Domain Admins, Tier 0).

# PingCastle — audit healthcheck
# Télécharger depuis https://www.pingcastle.com/download/
# Lancer depuis une station de domaine avec un compte ayant les droits de lecture standard
.\PingCastle.exe --healthcheck --server corp.exemple.io
# Génère ad_hc_.html avec score 0-100 (0 = parfait, 100 = catastrophique)

# BloodHound + SharpHound
# Collecter les données AD (depuis une station de domaine, compte lecture AD)
.\SharpHound.exe -c All,GPOLocalGroup
# Importer les fichiers JSON produits dans BloodHound GUI
# Lancer la requête "Shortest Path to Domain Admins" pour identifier les chemins d'attaque

Un score PingCastle inférieur à 40 sur un domaine de production indique une posture acceptable ; au-dessus de 60, des actions correctives prioritaires sont à planifier sous 90 jours. Ces audits doivent être répétés trimestriellement et intégrés au tableau de bord du RSSI.

Erreurs fréquentes à éviter

Erreur Conséquence Bonne pratique
BitLocker en mode TPM only Vol physique = accès complet aux données TPM + PIN au démarrage, PIN alphanumérique 8+ caractères
Mots de passe administrateurs locaux identiques sur la flotte Pass-the-Hash fatal au premier compromis Windows LAPS déployé sur toute la flotte, rotation 30 jours, lecture restreinte Tier 0
Application des Security Baselines en production sans pilote Blocages métier en cascade, rollback brutal OU pilote pendant 2 semaines, observation, déploiement par vagues
AppLocker en Enforce sans phase Audit Applications métier bloquées, perte de productivité Audit only 30 jours, identification des exceptions, puis Enforce progressif
Clés de récupération BitLocker non sauvegardées Disque incassable après changement matériel ou erreur TPM Sauvegarde obligatoire AD DS via GPO, audit régulier de la complétude
Rotation forcée des mots de passe tous les 90 jours Mots de passe triviaux, post-it sous le clavier Mots de passe longs sans rotation systématique + MFA, alignement NIST SP 800-63B Rev. 4 (juillet 2025)
Defender désactivé au profit d’un antivirus tiers léger Couverture inférieure, télémétrie cloud perdue Defender en couche principale, ASR rules activées, complément EDR si nécessaire

Tutoriels complémentaires

Questions fréquentes (FAQ)

Q : Security Baselines Microsoft ou CIS Benchmarks Windows ?
R : Les deux sont valides et largement compatibles. Les Microsoft Security Baselines sont gratuites, supportées officiellement par Microsoft et alignées sur les recommandations de la division Microsoft Security Compliance. Les CIS Benchmarks Windows sont également gratuits pour usage interne, plus exhaustifs, et incluent des niveaux Level 1 / Level 2. La pratique courante est d’appliquer les Microsoft Baselines comme socle puis de compléter par les contrôles CIS pertinents non couverts.

Q : Faut-il désactiver NTLM complètement ?
R : À terme, oui — NTLM (en particulier NTLMv1) est vulnérable au Pass-the-Hash et au relay. La pratique sage est de migrer progressivement vers Kerberos exclusif, en passant par un audit (Restrict NTLM: Audit Incoming NTLM Traffic en GPO) pour identifier les applications encore dépendantes, puis en les remplaçant ou les actualisant avant de basculer en Deny All. Microsoft a annoncé en 2023 la dépréciation à long terme de NTLM au profit de Kerberos négocié et de l’authentification moderne.

Q : Pourquoi pas de rotation périodique des mots de passe ?
R : Le NIST SP 800-63B publié en 2017 et révisé en Rev. 4 finale en juillet 2025 démontre que la rotation forcée pousse les utilisateurs à des stratégies prévisibles (incrémentation, substitution de caractères) qui réduisent l’entropie réelle. Microsoft a suivi en supprimant cette recommandation de ses Baselines en 2019. La protection moderne repose sur : mot de passe long, MFA universel, vérification contre les bases de mots de passe compromis, rotation déclenchée uniquement en cas d’indice de compromission.

Q : Microsoft Defender for Endpoint est-il nécessaire en plus de Defender Antivirus ?
R : Defender Antivirus est l’antivirus gratuit intégré ; Defender for Endpoint (anciennement ATP) est la suite EDR payante qui ajoute la télémétrie comportementale, la chasse aux menaces, l’investigation automatique et l’isolation. Pour un environnement professionnel sensible, Defender for Endpoint (inclus dans Microsoft 365 E5 et Defender for Endpoint Plan 2) est la couche EDR de référence dans l’écosystème Microsoft.

Q : Comment durcir un serveur Windows exposé sur Internet ?
R : Question piégée — la première recommandation est de ne pas exposer directement un serveur Windows sur Internet. Mettre une couche de reverse-proxy Linux (Nginx/HAProxy) ou un service managé (Cloudflare, Azure Application Gateway) devant. Si l’exposition est inévitable : durcissement complet selon ce tutoriel, désactivation de SMB v1/v2, RDP uniquement via VPN ou bastion (jamais ouvert sur Internet), Windows Firewall en politique restrictive, surveillance EDR active 24/7.

Références et ressources officielles

Sponsoriser ce contenu

Cet emplacement est à vous

Position premium en fin d'article — c'est l'instant où les lecteurs sont le plus engagés. Réservez cet espace pour votre marque, votre formation ou votre offre.

Recevoir nos tarifs
Publicité