1. Introduction : les GPO, pilier du durcissement Active Directory
Les Group Policy Objects (GPO) constituent le mécanisme natif et le plus puissant de Microsoft pour appliquer des configurations de sécurité à grande échelle dans un environnement Active Directory. Chaque domaine Windows repose sur des centaines, parfois des milliers de paramètres de stratégie de groupe qui définissent le comportement des postes de travail, des serveurs et des comptes utilisateurs. Pourtant, dans plus de 70 % des audits Active Directory que nous réalisons, les GPO de sécurité sont soit absentes, soit mal configurées, soit jamais auditées depuis leur création.
Le constat est alarmant : des politiques de mots de passe trop permissives, des audits d'événements désactivés, aucune restriction d'exécution logicielle, des droits utilisateurs excessifs. Autant de failles que les attaquants exploitent méthodiquement lors des campagnes de compromission. Le rapport ANSSI sur l'état de la menace informatique 2025 souligne que Active Directory reste la cible prioritaire dans 90 % des incidents majeurs traités par le CERT-FR, et que le durcissement par GPO constitue la première ligne de défense.
Ce guide technique couvre l'ensemble du spectre de sécurisation par GPO : des politiques fondamentales (mots de passe, verrouillage, audit) aux configurations avancées (AppLocker, Credential Guard, BitLocker), en passant par les mécanismes de ciblage (LSDOU, WMI filters, Security Filtering) et les outils d'audit (GPOZaurr, Microsoft Security Compliance Toolkit). Chaque section fournit les paramètres exacts à configurer, les valeurs recommandées et les pièges à éviter.
Point clé : Une GPO mal configurée peut être pire qu'aucune GPO. Un paramètre d'audit incomplet donne une fausse sensation de sécurité, tandis qu'une politique de mots de passe trop stricte pousse les utilisateurs vers des contournements dangereux (post-it, fichiers texte, réutilisation).
Prérequis de cet article
Cet article suppose une connaissance de base d'Active Directory et de la console GPMC (Group Policy Management Console). Pour une introduction aux attaques Active Directory et aux mécanismes de sécurisation globale, consultez nos guides dédiés.
2. Fondamentaux des GPO : architecture et traitement
2.1 Qu'est-ce qu'une GPO ?
Une Group Policy Object est un conteneur de paramètres de configuration stocké dans Active Directory (partie logique dans le conteneur CN=Policies,CN=System,DC=domain) et dans le dossier SYSVOL (partie physique sous \\domain\SYSVOL\domain\Policies\{GUID}). Chaque GPO possède un identifiant unique (GUID), un numéro de version et deux sections distinctes :
- Computer Configuration : paramètres appliqués au démarrage de la machine, indépendamment de l'utilisateur connecté. C'est ici que se trouvent les paramètres de sécurité critiques (audit, droits, services, pare-feu).
- User Configuration : paramètres appliqués à l'ouverture de session. Utile pour les restrictions d'interface, les scripts de logon et les redirections de dossiers.
Les GPO sont liées (linked) à des conteneurs Active Directory : sites, domaines ou Unités d'Organisation (OU). Cette liaison détermine le périmètre d'application. Un point critique souvent méconnu : une GPO non liée existe dans AD mais ne s'applique à rien. Inversement, une GPO peut être liée à plusieurs OU simultanément, ce qui en fait un outil de déploiement puissant mais potentiellement complexe à auditer.
2.2 L'ordre de traitement LSDOU
L'ordre de traitement des GPO suit l'acronyme LSDOU : Local, Site, Domain, Organizational Unit. Cet ordre est fondamental pour comprendre quelle configuration prévaut en cas de conflit :
| Ordre | Niveau | Description | Priorité |
|---|---|---|---|
| 1 | Local | GPO locale sur chaque machine (gpedit.msc) |
La plus basse |
| 2 | Site | GPO liées au site AD (rarement utilisé pour la sécurité) | Basse |
| 3 | Domain | GPO liées au domaine (Default Domain Policy) | Moyenne |
| 4 | OU | GPO liées aux OU (du plus haut au plus bas dans la hiérarchie) | La plus haute |
Le principe est simple : le dernier paramètre appliqué gagne. Une GPO liée à une OU enfant écrase le même paramètre défini dans une GPO de domaine. Deux mécanismes modifient ce comportement :
- Enforced (No Override) : force la GPO parente à prévaloir sur les GPO enfants. Utilisez-le pour les politiques de sécurité critiques qui ne doivent jamais être surchargées par les OU métier.
- Block Inheritance : empêche les GPO parentes de s'appliquer à une OU. Dangereux en sécurité car il peut désactiver des contrôles essentiels. Une GPO Enforced ignore ce blocage.
Bonne pratique LSDOU
Créez une GPO de sécurité de base liée au domaine en mode Enforced pour garantir que les paramètres critiques (audit, password policy, verrouillage) s'appliquent partout, même si un administrateur délégué utilise Block Inheritance sur son OU. C'est le principe de la baseline non contournable.
2.3 WMI Filters et Security Filtering
Les WMI Filters permettent de conditionner l'application d'une GPO à une requête WQL (WMI Query Language). Par exemple, appliquer une GPO BitLocker uniquement aux machines équipées d'un TPM 2.0 :
SELECT * FROM Win32_Tpm WHERE IsEnabled_InitialValue = TRUE AND SpecVersion LIKE "2.0%"
Les WMI Filters sont évalués côté client, ce qui peut impacter les performances de démarrage. Utilisez-les avec parcimonie et préférez le Security Filtering (filtrage par groupes de sécurité) lorsque c'est possible. Le Security Filtering par défaut est Authenticated Users, ce qui signifie que la GPO s'applique à tous les objets dans le périmètre de la liaison. Pour restreindre l'application :
- Retirez
Authenticated Usersde la section Security Filtering. - Ajoutez le groupe de sécurité cible.
- Critique : ajoutez
Authenticated UsersouDomain Computersavec la permission Read uniquement dans l'onglet Delegation. Sans cette permission, le client ne peut pas lire la GPO et elle ne s'applique pas du tout -- un bug classique qui a piégé des milliers d'administrateurs depuis Windows Server 2016.
3. GPO critiques de sécurité : les paramètres indispensables
3.1 Password Policy (Politique de mots de passe)
La politique de mots de passe du domaine est définie exclusivement dans la GPO liée au domaine (typiquement la Default Domain Policy). Une GPO de mots de passe liée à une OU n'a aucun effet sur les comptes du domaine -- c'est l'erreur la plus fréquente que nous rencontrons. Pour des politiques granulaires par groupe, il faut utiliser les Fine-Grained Password Policies (FGPP) via msDS-PasswordSettings.
Les paramètres recommandés pour 2026, alignés sur les recommandations ANSSI et NIST SP 800-63B :
| Paramètre | Chemin GPO | Valeur recommandée | Justification |
|---|---|---|---|
| Minimum password length | Computer Config > Policies > Windows Settings > Security Settings > Account Policies > Password Policy | 14 caractères minimum | ANSSI recommande 12+, NIST 8+, notre recommandation 14+ pour les comptes standards |
| Password must meet complexity | Idem | Enabled | Exige 3/4 types de caractères. Completer avec une liste de mots interdits via Azure AD Password Protection |
| Maximum password age | Idem | 365 jours (ou 0 avec MFA) | NIST 800-63B recommande de ne plus forcer l'expiration si d'autres controles compensent. ANSSI accepte 1 an avec MFA |
| Minimum password age | Idem | 1 jour | Empeche le cycle rapide pour revenir au mot de passe precedent |
| Enforce password history | Idem | 24 mots de passe | Valeur maximum. Combinee avec minimum age = 1 jour, empeche efficacement la reutilisation |
| Store passwords using reversible encryption | Idem | Disabled | Stocker en clair est une vulnerabilite critique. Doit toujours etre desactive |
Fine-Grained Password Policies (FGPP)
Pour les comptes a privileges (Domain Admins, Service Accounts), creez une FGPP via le Active Directory Administrative Center avec des exigences renforcees : 20 caracteres minimum, historique de 24, verrouillage apres 3 tentatives. Les FGPP s'appliquent aux utilisateurs et groupes globaux, pas aux OU. Priorite determinee par la valeur msDS-PasswordSettingsPrecedence (plus basse = plus prioritaire). Pour approfondir les attaques sur les mots de passe AD, consultez notre article sur les Password Attacks.
3.2 Account Lockout Policy (Politique de verrouillage)
La politique de verrouillage protege contre le brute force et le password spraying. Attention a l'equilibre : un seuil trop bas permet le denial of service par verrouillage volontaire des comptes.
| Paramètre | Valeur recommandée | Notes |
|---|---|---|
| Account lockout threshold | 5 tentatives | Suffisant pour bloquer le spraying sans impacter les utilisateurs legitimes |
| Account lockout duration | 30 minutes | Deverrouillage automatique. 0 = verrouillage permanent (necessite admin) |
| Reset account lockout counter after | 30 minutes | Doit etre inferieur ou egal a la duree de verrouillage |
Pour les comptes administrateurs, le seuil de verrouillage est souvent source de debat. Un attaquant menant une campagne de password spraying cible des centaines de comptes avec 1-2 tentatives chacun, en dessous du seuil de verrouillage. C'est pourquoi le verrouillage seul ne suffit pas : il doit etre combine avec la detection (evenements 4625 et 4771 dans les logs) et l'Azure AD Password Protection pour bloquer les mots de passe faibles a la source.
3.3 Audit Policy (Politique d'audit)
La politique d'audit est le nerf de la guerre en detection. Sans logs, aucune investigation n'est possible. Windows propose deux niveaux de configuration : les Basic Audit Policies (9 categories) et les Advanced Audit Policies (53 sous-categories). Les deux ne doivent jamais etre utilises simultanement -- les Advanced Policies ecrasent les Basic si le parametre Audit: Force audit policy subcategory settings est active (ce qu'il doit etre).
Les sous-categories critiques a activer en Success and Failure :
| Sous-catégorie | Event IDs clés | Détection |
|---|---|---|
| Logon/Logoff > Logon | 4624, 4625 | Connexions reussies/echouees, brute force, lateral movement |
| Logon/Logoff > Special Logon | 4672 | Attribution de privileges administrateurs |
| Account Management > User Account Management | 4720, 4722, 4724, 4738 | Creation, activation, reset password, modification de comptes |
| Account Management > Security Group Management | 4728, 4732, 4756 | Ajout de membres aux groupes (Domain Admins, etc.) |
| DS Access > Directory Service Changes | 5136, 5137, 5141 | Modifications AD : attributs, objets, suppressions. Essentiel pour detecter DCSync, DCShadow |
| Object Access > File System | 4663 | Acces aux fichiers sensibles (SYSVOL, partages admin) |
| Privilege Use > Sensitive Privilege Use | 4673, 4674 | Utilisation de privileges sensibles (SeDebugPrivilege, etc.) |
| Policy Change > Audit Policy Change | 4719 | Modification de la politique d'audit elle-meme (signe de compromission) |
# Verifier la politique d'audit effective sur un serveur
auditpol /get /category:*
# Exporter dans un fichier CSV pour analyse
auditpol /get /category:* /r > C:\audit-policy-export.csv
3.4 User Rights Assignment (Attribution des droits utilisateurs)
Cette section de la GPO definit qui peut faire quoi sur les machines ciblees. Plusieurs droits sont critiques du point de vue securite et constituent des vecteurs d'elevation de privileges :
| Droit | Risque | Recommandation |
|---|---|---|
| Debug programs (SeDebugPrivilege) | Permet l'injection de code dans tout processus, y compris LSASS. Vecteur de credential dumping via Mimikatz | Administrateurs uniquement. Retirer pour les postes de travail |
| Act as part of the operating system (SeTcbPrivilege) | Permet de se faire passer pour n'importe quel utilisateur | Vide (aucun compte) |
| Allow log on through Remote Desktop | Acces RDP. Vecteur de lateral movement | Groupe restreint d'administrateurs. Jamais Domain Users |
| Access this computer from the network | Acces reseau (partages, RPC). Necessaire mais a restreindre | Authenticated Users + Administrators. Retirer le compte Guest |
| Deny log on locally / Deny log on through RDP | Protection des comptes de service et comptes privilegies | Ajouter les comptes de service et les Tier 0 sur les postes Tier 1/2 |
| Back up files and directories (SeBackupPrivilege) | Permet de lire tout fichier, y compris NTDS.dit et SAM | Backup Operators uniquement sur les DC |
Attention au Tiering Model
Les droits utilisateurs doivent etre configures en coherence avec le modele de tiering (Tier 0 = DC/AD, Tier 1 = serveurs, Tier 2 = postes). Les comptes Tier 0 ne doivent jamais pouvoir se connecter sur des machines Tier 1 ou 2, et inversement. Cela se configure via les GPO Deny log on locally et Deny log on through Remote Desktop Services appliquees aux OU correspondantes. Pour une vision complete du tiering, consultez notre guide de securisation AD.
3.5 Security Options (Options de sécurité)
Les Security Options contiennent des dizaines de parametres critiques souvent negliges. Voici les plus impactants :
- Network security: LAN Manager authentication level : regler sur
Send NTLMv2 response only. Refuse LM & NTLM. Desactive les protocoles LM et NTLM v1, vulnerables au cracking et au relay. Prerequis : verifier qu'aucune application legacy ne depend de NTLM v1. - Network security: Restrict NTLM : activer l'audit NTLM d'abord (
Audit all), puis bloquer progressivement. L'objectif est le zero NTLM a terme, en migrant vers Kerberos partout. - Interactive logon: Machine inactivity limit : configurer a
900 secondes(15 minutes). Verrouille automatiquement les sessions inactives. - Microsoft network server: Digitally sign communications (always) :
Enabled. Empeche le SMB relay en exigeant la signature des paquets SMB. - Network access: Do not allow anonymous enumeration of SAM accounts :
Enabled. Empeche l'enumeration anonyme des comptes, utilisee par des outils commeenum4linux. - Accounts: Administrator account status :
Disabledsur les postes de travail. Utiliser LAPS pour le mot de passe administrateur local.
La restriction NTLM merite un traitement approfondi. Le protocole NTLM est exploite dans de nombreuses attaques : NTLM Relay, Pass-the-Hash, credential cracking. Notre article sur les attaques NTLM Relay detaille les techniques d'exploitation et les contre-mesures.
4. GPO de durcissement des postes de travail
4.1 AppLocker : controle d'exécution des applications
AppLocker est la technologie Microsoft de controle d'execution des applications (application whitelisting). Elle permet de definir quels executables, scripts, DLL et packages MSIX sont autorises a s'executer, en fonction de leur editeur (signature numerique), de leur chemin ou de leur hash. Correctement deploye, AppLocker bloque l'execution de malwares, d'outils de pentest et de binaires non autorises.
La configuration se fait via GPO : Computer Configuration > Policies > Windows Settings > Security Settings > Application Control Policies > AppLocker. Les quatre types de regles :
- Executable Rules : controle les .exe et .com. Commencez par les regles par defaut (autoriser Windows et Program Files), puis ajoutez les editeurs approuves.
- Windows Installer Rules : controle les .msi et .msp. Empeche l'installation de logiciels non autorises.
- Script Rules : controle les .ps1, .bat, .cmd, .vbs, .js. Critique pour bloquer les LOLScripts utilises par les attaquants.
- DLL Rules : controle les .dll et .ocx. Impact performance significatif -- activer uniquement sur les systemes critiques.
# Etape 1 : Demarrer le service AppIDSvc (prerequis)
# Via GPO : Computer Config > Policies > Windows Settings >
# Security Settings > System Services > Application Identity
# Startup Mode : Automatic
# Etape 2 : Generer les regles par defaut
# GPMC > AppLocker > Executable Rules > Create Default Rules
# Etape 3 : Passer en mode Audit Only d'abord
# AppLocker Properties > Executable Rules > Configured: Audit Only
# Etape 4 : Analyser les logs (Event Viewer)
# Applications and Services Logs > Microsoft > Windows > AppLocker
# Etape 5 : Basculer en Enforce apres validation
# AppLocker Properties > Executable Rules > Configured: Enforce Rules
Deploiement progressif obligatoire
Ne passez jamais directement en mode Enforce sans phase d'audit. Un AppLocker mal configure peut bloquer des applications metier critiques et provoquer un incident de production majeur. Utilisez le mode Audit Only pendant au minimum 2 semaines, analysez les evenements 8003 (bloques) et 8006 (autorises), puis affinez vos regles avant l'enforcement.
4.2 Windows Defender Firewall avec securité avancée
Le pare-feu Windows, configure par GPO, constitue une couche de microsegmentation essentielle. Il permet de restreindre les flux reseau poste a poste et de bloquer les vecteurs de lateral movement comme SMB, WinRM et RPC entre postes de travail.
La configuration se fait via : Computer Configuration > Policies > Windows Settings > Security Settings > Windows Defender Firewall with Advanced Security. Regles prioritaires :
- Bloquer SMB (445/TCP) entre postes de travail : empeche le lateral movement via PsExec, WMIExec, SMBExec. Autoriser uniquement vers les serveurs de fichiers et les DC.
- Bloquer RDP (3389/TCP) entre postes : les utilisateurs ne doivent pas pouvoir faire du RDP entre postes. Le RDP doit passer par un jump server (bastion).
- Bloquer WinRM (5985-5986/TCP) entre postes : empeche l'execution de commandes PowerShell a distance entre postes, un vecteur d'attaque courant.
- Activer les logs du pare-feu :
%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log, taille 32 Mo. Enregistrer les connexions refusees et autorisees.
4.3 BitLocker : chiffrement des disques
BitLocker protege les donnees en cas de vol ou de perte d'un poste de travail. La configuration par GPO permet un deploiement uniforme et le stockage centralise des cles de recuperation dans Active Directory.
Parametres GPO essentiels (Computer Configuration > Policies > Administrative Templates > Windows Components > BitLocker Drive Encryption) :
- Require additional authentication at startup :
Enabled, avec TPM + PIN. Le TPM seul ne protege pas contre les attaques Evil Maid ou les attaques DMA. - Choose drive encryption method :
XTS-AES 256-bitpour les disques systeme,AES-CBC 256-bitpour les disques amovibles (compatibilite). - Store BitLocker recovery information in AD DS :
Enabled. Stocke les cles de recuperation dans l'attributms-FVE-RecoveryPasswordde l'objet ordinateur. - Do not enable BitLocker until recovery information is stored :
Enabled. Empeche le chiffrement si la cle de recuperation n'est pas sauvegardee dans AD.
4.4 Credential Guard : protection des identifiants en mémoire
Windows Defender Credential Guard utilise la virtualisation (VBS - Virtualization Based Security) pour isoler les secrets (hashes NTLM, tickets Kerberos TGT) dans un conteneur securise inaccessible meme avec les privileges SYSTEM. Il rend inefficaces les attaques de type Pass-the-Hash et credential dumping via Mimikatz.
Activation via GPO : Computer Configuration > Policies > Administrative Templates > System > Device Guard > Turn On Virtualization Based Security :
- Select Platform Security Level :
Secure Boot and DMA Protection - Credential Guard Configuration :
Enabled with UEFI lock(irreversible sans acces physique -- le niveau le plus securise) - Secure Launch Configuration :
Enabled
Prerequis materiels : CPU avec virtualisation (Intel VT-x/AMD-V), TPM 2.0, UEFI Secure Boot, 64 bits. La plupart des postes recents (2020+) supportent Credential Guard. Testez la compatibilite avec msinfo32 (verifier "Virtualization-based security" = Running).
Credential Guard et compatibilite
Credential Guard bloque l'utilisation de NTLMv1, WDigest et Kerberos DES/RC4 non contraint. Avant le deploiement, verifiez qu'aucune application ne depend de ces protocoles obsoletes. Credential Guard est incompatible avec certaines technologies de virtualisation legacy (notamment les anciennes versions de VMware Workstation). Pour les details sur les attaques que Credential Guard previent, voir notre article sur les techniques de credential dumping.
5. Administrative Templates et Microsoft Security Baseline
5.1 Administrative Templates critiques
Les Administrative Templates (ADMX/ADML) exposent des milliers de parametres de registre via l'interface GPO. Plusieurs sont critiques pour la securite :
Protection PowerShell
- Turn on Script Block Logging :
Enabled. Enregistre le contenu de chaque bloc de script PowerShell execute, meme si obfusque. Evenement 4104 dans le logMicrosoft-Windows-PowerShell/Operational. - Turn on Module Logging :
Enabled, modules =*. Enregistre les commandes et parametres. Plus verbeux mais essentiel pour le forensics. - Turn on PowerShell Transcription :
Enabled, avec chemin de sortie vers un partage securise. Enregistre une transcription complete de chaque session PowerShell. - Script Execution Policy :
AllSignedouRemoteSignedselon le contexte. Note : l'execution policy n'est pas un controle de securite robuste (facilement contournable), mais elle ajoute une friction utile.
Protection contre les macros Office
- Block macros from running in Office files from the Internet :
Enabled. Bloque l'execution des macros VBA dans les fichiers telecharges (Mark of the Web). Le controle le plus impactant contre le phishing avec pieces jointes macro. - VBA Macro Notification Settings :
Disable all with notificationouDisable all except digitally signed macros. - Block Win32 API calls from Office macros :
Enabled. Empeche les macros d'appeler des API Win32 pour executer du code malveillant.
Restriction des services distants
- WinRM Client/Service : restreindre les hotes autorises via
TrustedHosts. Activer HTTPS uniquement en production. - Remote Desktop > Network Level Authentication :
Enabled. Exige l'authentification avant l'etablissement de la session RDP. - Windows Remote Management (WinRM) > Disallow WinRM from storing RunAs credentials :
Enabled.
5.2 Microsoft Security Compliance Toolkit (SCT)
Le Security Compliance Toolkit est un ensemble d'outils gratuits fournis par Microsoft pour deployer les Security Baselines officielles. Il contient des GPO preconfigures pour chaque version de Windows (Windows 11 24H2, Windows Server 2025), Office 365 et Edge.
Le processus de deploiement :
- Telecharger le SCT depuis le Microsoft Download Center (gratuit).
- Extraire les baselines dans un repertoire dedie.
- Analyser avec l'outil
Policy Analyzer(compare vos GPO actuelles avec la baseline Microsoft). - Importer les GPO baseline via le script
Baseline-LocalInstall.ps1dans un environnement de test. - Comparer et adapter : la baseline Microsoft est un point de depart, pas une solution universelle. Certains parametres peuvent casser des applications metier.
- Deployer progressivement en production, OU par OU.
# Importer une baseline Microsoft dans GPMC
# Depuis le dossier extrait de la baseline Windows 11 24H2
.\Baseline-LocalInstall.ps1
# Comparer vos GPO avec la baseline
# Ouvrir Policy Analyzer > Add > pointer vers vos GPO exportees
# Resultat : tableau de differences parametre par parametre
L'outil Policy Analyzer est particulierement utile pour identifier les ecarts entre votre configuration actuelle et les recommandations Microsoft. Il genere un rapport Excel detaillant chaque parametre, sa valeur actuelle, la valeur recommandee et l'impact potentiel de la modification.
6. Audit et analyse des GPO
6.1 GPOZaurr : l'outil PowerShell ultime
GPOZaurr (partie du module PSWinDocumentation.GPO par Evotec) est l'outil PowerShell le plus complet pour auditer les GPO d'un domaine Active Directory. Il genere un rapport HTML interactif couvrant des dizaines de points de controle :
- GPO non liees : GPO qui existent mais ne s'appliquent nulle part. Nettoyage necessaire.
- GPO vides : GPO sans aucun parametre configure. Source de confusion.
- GPO avec permissions excessives : tout utilisateur pouvant modifier une GPO peut potentiellement compromettre toutes les machines dans son perimetre.
- GPO desactivees : liens de GPO desactives qui peuvent masquer des configurations attendues.
- Incoherences SYSVOL/AD : la partie AD et la partie fichier d'une GPO peuvent se desynchroniser (orphaned GPO).
- Analyse des permissions GPO : qui peut creer, modifier, lier des GPO ?
# Installation
Install-Module GPOZaurr -Force -Verbose
# Rapport complet HTML
Invoke-GPOZaurr -Type All -OutputPath C:\GPOAudit\
# Verifications specifiques
Invoke-GPOZaurr -Type GPOOrphans # GPO orphelines
Invoke-GPOZaurr -Type GPOEmpty # GPO vides
Invoke-GPOZaurr -Type GPOPermissions # Permissions
Invoke-GPOZaurr -Type GPOLinks # Liaisons
# Rapport de securite des permissions
Get-GPOZaurrPermission -Type AuthenticatedUsers -IncludePermissionType GpoEditDeleteModifySecurity
6.2 Group Policy Reporter et RSOP
Pour diagnostiquer les GPO effectivement appliquees sur une machine ou un utilisateur specifique :
- gpresult /H rapport.html : genere un rapport HTML detaille du Resultant Set of Policy (RSoP) pour la machine et l'utilisateur courant. Indispensable pour le troubleshooting.
- gpresult /R : version texte rapide montrant les GPO appliquees et refusees.
- Group Policy Results Wizard (GPMC) : permet d'interroger une machine distante pour voir ses GPO effectives. Necessite WMI accessible.
- Group Policy Modeling Wizard (GPMC) : simule l'application des GPO pour un scenario hypothetique (utilisateur X sur machine Y dans l'OU Z).
# Rapport GPO detaille pour la machine courante
gpresult /H C:\gpresult_report.html /F
# Rapport pour un utilisateur specifique sur une machine distante
gpresult /S WORKSTATION01 /USER domain\jean.dupont /H C:\gpresult_jean.html
# Forcer l'application immediate des GPO (sans attendre le cycle de 90 min)
gpupdate /force /boot /logoff
7. Attaques ciblant les GPO
7.1 GPO Abuse : de la permission à la compromission
Les GPO sont des cibles de choix pour les attaquants qui ont obtenu un premier acces au domaine. Un utilisateur ou un groupe disposant de la permission GenericAll, GenericWrite ou WriteDacl sur une GPO peut modifier ses parametres et ainsi executer du code sur toutes les machines dans le perimetre de la GPO. C'est l'attaque dite de GPO Abuse.
Scenario typique :
- L'attaquant compromet un compte utilisateur disposant du droit
GpoEditDeleteModifySecuritysur une GPO liee a l'OU des serveurs. - Il ajoute une Scheduled Task immediate dans la GPO (Computer Configuration > Preferences > Control Panel > Scheduled Tasks).
- La tache planifiee execute un reverse shell en tant que SYSTEM sur chaque serveur a la prochaine application de la GPO (max 120 minutes par defaut, ou immediate avec
gpupdate /force). - L'attaquant obtient un acces SYSTEM sur potentiellement des dizaines de serveurs simultanement.
Les outils d'attaque comme SharpGPOAbuse et pyGPOAbuse automatisent cette technique. BloodHound cartographie les chemins d'attaque GPO via les edges GenericAll, GenericWrite et WriteDacl sur les objets GPO. Pour une analyse complete des chemins d'attaque AD, consultez notre article sur les Top 10 attaques Active Directory.
7.2 GPLink Manipulation
Un attaquant disposant du droit WriteProperty sur l'attribut gPLink d'une OU peut lier une GPO malveillante a cette OU. Il peut egalement modifier l'ordre de liaison (gPOptions) ou supprimer la liaison d'une GPO de securite, desactivant ainsi les controles en place.
Cette attaque est plus subtile que la modification directe d'une GPO car elle ne necessite pas de droits sur l'objet GPO lui-meme, mais sur l'objet OU. Les ACL des OU sont souvent moins surveillees que celles des GPO.
Detection et prevention des attaques GPO
Pour proteger vos GPO contre l'abus :
- Auditer les permissions GPO regulierement avec GPOZaurr. Seuls les
Domain AdminsetGroup Policy Creator Ownersdevraient pouvoir modifier les GPO de securite. - Monitorer les evenements 5136 (modification d'objet AD) sur les objets
groupPolicyContaineret l'attributgPLinkdes OU. - Configurer des alertes SIEM sur toute modification des GPO critiques (security baseline, audit policy, password policy).
- Utiliser AGPM (Advanced Group Policy Management) de MDOP pour implementer un workflow d'approbation sur les modifications GPO.
8. Checklist GPO Sécurité : 20 points de contrôle
Cette checklist resume les 20 points de controle essentiels a verifier et implementer dans votre environnement Active Directory. Utilisez-la comme base d'audit periodique (trimestriel recommande).
| # | Point de controle | Priorite | Statut |
|---|---|---|---|
| 1 | Password Policy : 14+ caracteres, complexite activee | Critique | ☐ |
| 2 | Account Lockout : 5 tentatives, 30 min de verrouillage | Critique | ☐ |
| 3 | FGPP pour les comptes privilegies (20+ caracteres) | Haute | ☐ |
| 4 | Advanced Audit Policy active avec sous-categories critiques | Critique | ☐ |
| 5 | SeDebugPrivilege restreint aux administrateurs | Haute | ☐ |
| 6 | NTLM restreint (NTLMv2 only, audit puis blocage) | Haute | ☐ |
| 7 | SMB Signing active (always) | Haute | ☐ |
| 8 | Tiering model enforce via Deny log on | Critique | ☐ |
| 9 | AppLocker deploye en mode Enforce | Haute | ☐ |
| 10 | Windows Firewall : bloquer SMB/RDP/WinRM entre postes | Haute | ☐ |
| 11 | BitLocker avec TPM + PIN, cles dans AD | Moyenne | ☐ |
| 12 | Credential Guard active avec UEFI lock | Haute | ☐ |
| 13 | PowerShell Script Block Logging active | Haute | ☐ |
| 14 | Macros Office bloquees pour fichiers Internet | Haute | ☐ |
| 15 | LAPS deploye pour les mots de passe admin locaux | Critique | ☐ |
| 16 | Security Baseline Microsoft importee et comparee | Moyenne | ☐ |
| 17 | GPO de securite en mode Enforced | Haute | ☐ |
| 18 | Audit GPOZaurr trimestriel (GPO vides, orphelines, permissions) | Moyenne | ☐ |
| 19 | Monitoring SIEM des modifications GPO (Event 5136) | Haute | ☐ |
| 20 | Enumeration anonyme desactivee (SAM, LSA) | Haute | ☐ |
9. Conclusion : les GPO comme fondation de la posture de sécurité AD
Les Group Policy Objects constituent la fondation technique du durcissement Active Directory. Sans GPO de securite correctement configurees, auditees et maintenues, toute strategie de protection de l'annuaire repose sur du sable. Les attaquants l'ont bien compris : les GPO sont a la fois leur obstacle principal et leur vecteur d'attaque preferentiel une fois qu'ils disposent de permissions suffisantes.
L'approche recommandee repose sur trois piliers :
- Defense en profondeur : empiler les couches de protection (password policy + audit + AppLocker + Credential Guard + firewall). Chaque couche compense les faiblesses des autres.
- Audit continu : deployer GPOZaurr et les rapports SIEM pour detecter les derives et les modifications non autorisees. Un audit trimestriel des GPO devrait faire partie du plan de securite de toute organisation.
- Alignement sur les baselines : utiliser le Microsoft Security Compliance Toolkit comme reference et adapter les parametres au contexte metier. Ne pas reinventer ce que Microsoft a deja documente et teste.
La securisation par GPO s'inscrit dans une demarche plus large de hardening Active Directory qui inclut le tiering model, la securisation des identites cloud, la conformite ISO 27001 et la surveillance continue via un SOC. Les GPO ne sont qu'une piece du puzzle, mais elles en constituent le socle indispensable.
Besoin d'un audit de vos GPO Active Directory ?
Nos experts analysent vos strategies de groupe, identifient les failles et deploient les baselines de securite. Rapport detaille avec plan d'action priorise sous 10 jours ouvres.
Demander un audit GPOArticles connexes
References et ressources externes
- Microsoft Learn -- Credential Guard -- Documentation officielle Credential Guard / VBS
- Microsoft Learn -- AppLocker -- Configuration et deploiement AppLocker
- Microsoft Security Compliance Toolkit -- Telecharger les baselines de securite
- GPOZaurr (GitHub) -- Module PowerShell d'audit GPO
- ANSSI -- Recommandations Active Directory -- Guide de durcissement officiel ANSSI
