Besoin d'un audit de sécurité ?
Devis personnalisé sous 24h
Active Directory / Hardening

GPO Sécurisation Active Directory : Hardening par Stratégies de Groupe

Par Ayi NEDJIMI 1 mars 2026 Lecture : 30 min ~5000 mots
#GPO #ActiveDirectory #Hardening #SecurityBaseline #AppLocker #CredentialGuard

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 :

  1. Retirez Authenticated Users de la section Security Filtering.
  2. Ajoutez le groupe de sécurité cible.
  3. Critique : ajoutez Authenticated Users ou Domain Computers avec 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.
Ordre de traitement GPO : LSDOU 1. LOCAL gpedit.msc Priorité la plus basse 2. SITE Sites AD Rarement utilisé 3. DOMAIN Default Domain Policy Password / Lockout 4. OU OU enfants Priorite MAX ENFORCED (No Override) Force la GPO parente a prevaloir Ignore le Block Inheritance Recommande pour les baselines securite BLOCK INHERITANCE Empeche les GPO parentes Dangereux pour la securite A eviter sauf cas justifie SECURITY FILTERING Filtre par groupes de securite Default: Authenticated Users Penser a ajouter Read dans Delegation WMI FILTERS Requete WQL cote client Ciblage par OS, TPM, hardware Impact performances au demarrage

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 comme enum4linux.
  • Accounts: Administrator account status : Disabled sur 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-bit pour les disques systeme, AES-CBC 256-bit pour les disques amovibles (compatibilite).
  • Store BitLocker recovery information in AD DS : Enabled. Stocke les cles de recuperation dans l'attribut ms-FVE-RecoveryPassword de 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 log Microsoft-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 : AllSigned ou RemoteSigned selon 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 notification ou Disable 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.
GPO Hardening Stack : Defense en Profondeur Couche 1 : Password Policy + Account Lockout + FGPP 14 car. min | 5 tentatives verrouillage | FGPP 20 car. pour admins | Azure AD Password Protection Couche 2 : Advanced Audit Policy + SIEM Integration Logon 4624/4625 | Group Mgmt 4728/4732 | DS Changes 5136 | PowerShell 4104 Couche 3 : User Rights Assignment + Security Options SeDebugPrivilege restreint | NTLM desactive | SMB signing | Tiering model enforce Couche 4 : AppLocker + Windows Firewall (Microsegmentation) Whitelisting editeurs | Bloquer SMB/RDP/WinRM entre postes | Regles LOLBins Couche 5 : BitLocker (XTS-AES 256) + Credential Guard (VBS) TPM + PIN | Cles stockees dans AD | Isolation LSASS | Anti Pass-the-Hash Couche 6 : Microsoft Security Baseline + LAPS + Admin Templates SCT import | PowerShell logging | Macros Office bloquees | LAPS mot de passe unique Defense en profondeur

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 :

  1. Telecharger le SCT depuis le Microsoft Download Center (gratuit).
  2. Extraire les baselines dans un repertoire dedie.
  3. Analyser avec l'outil Policy Analyzer (compare vos GPO actuelles avec la baseline Microsoft).
  4. Importer les GPO baseline via le script Baseline-LocalInstall.ps1 dans un environnement de test.
  5. Comparer et adapter : la baseline Microsoft est un point de depart, pas une solution universelle. Certains parametres peuvent casser des applications metier.
  6. 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 :

  1. L'attaquant compromet un compte utilisateur disposant du droit GpoEditDeleteModifySecurity sur une GPO liee a l'OU des serveurs.
  2. Il ajoute une Scheduled Task immediate dans la GPO (Computer Configuration > Preferences > Control Panel > Scheduled Tasks).
  3. 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).
  4. 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 Admins et Group Policy Creator Owners devraient pouvoir modifier les GPO de securite.
  • Monitorer les evenements 5136 (modification d'objet AD) sur les objets groupPolicyContainer et l'attribut gPLink des 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.
Surface d'attaque GPO : Vecteurs et Defenses Vecteurs d'Attaque GPO Abuse (SharpGPOAbuse) GenericAll/Write sur objet GPO > code execution GPLink Manipulation WriteProperty sur gPLink de l'OU cible SYSVOL Tampering Modification fichiers GPO dans SYSVOL (si acces en ecriture) GPP cPassword (MS14-025) Mots de passe stockes dans Group Policy Preferences Scheduled Task Injection via GPO Execution de code SYSTEM sur toutes les machines ciblees Mesures Defensives Audit ACL GPO (GPOZaurr) Restreindre GenericAll/Write aux Domain Admins Monitoring SIEM (Event 5136) Alertes sur modification GPO et gPLink AGPM (Workflow approbation) Change management formalise pour les GPO GPO Enforced + Baseline non contournable Empeche le Block Inheritance sur les controles critiques BloodHound : cartographie chemins GPO Identifier les chemins d'attaque avant l'attaquant

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 :

  1. Defense en profondeur : empiler les couches de protection (password policy + audit + AppLocker + Credential Guard + firewall). Chaque couche compense les faiblesses des autres.
  2. 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.
  3. 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 GPO

References et ressources externes

Ayi NEDJIMI

Ayi NEDJIMI

Expert en Cybersécurité & Intelligence Artificielle

Consultant senior, certifié OSCP, CISSP et ISO 27001 Lead Auditor. Plus de 15 ans d'expérience en pentest, audit et solutions IA.

Besoin d'une expertise en cybersécurité ?

Securisez votre Active Directory avec un audit GPO professionnel

Nos Services