Aller au contenu
04 · Microsoft DefenderPartie 2 sur 4Fondamental

Auditer et réduire les exclusions Microsoft Defender

Trouver chaque exclusion Microsoft Defender (GPO, Intune, config locale), la justifier ou la supprimer, restreindre le reste, la masquer et surveiller les changements.

Florian Amette9 min de lecture

Chaque exclusion Microsoft Defender est un endroit où l'antivirus détourne délibérément le regard. La plupart ont été ajoutées pour une bonne raison à l'époque (un serveur de build lent, un appel au support d'un éditeur, un faux positif), puis oubliées. Les opérateurs de ransomware le savent : lister et ajouter des exclusions fait partie des premières choses qu'ils font avec des droits d'administration, et un dossier déjà exclu est l'endroit idéal pour préparer leurs outils.

Le guide pilier sur le durcissement de Defender liste les signaux d'alerte. Ce guide est l'audit complet : trouver chaque exclusion quelle que soit sa source, décider lesquelles survivent, restreindre les survivantes, puis empêcher la liste de repousser.

Les types d'exclusions à rechercher

Les « exclusions » ne forment pas une seule liste. Un audit qui ne vérifie que ExclusionPath passe à côté de la plupart d'entre elles.

TypeEmplacementEffet
CheminExclusionPathLes fichiers du dossier ou du chemin ne sont pas analysés
ExtensionExclusionExtensionLes fichiers portant cette extension ne sont analysés nulle part
ProcessusExclusionProcessLes fichiers ouverts par ce processus ne sont pas analysés
Adresse IPExclusionIpAddressTrafic exclu de l'inspection réseau
ASR uniquementAttackSurfaceReductionOnlyExclusionsExclu des règles ASR, toujours analysé
Accès contrôlé aux dossiersControlledFolderAccessAllowedApplicationsL'application peut écrire dans les dossiers protégés
Action par défaut sur une menaceThreatIDDefaultAction_Ids avec l'action AllowUne détection précise est autorisée
Defender for EndpointIndicateurs Allow (hash de fichier, certificat), exclusions de dossiers de l'automatisationAutorisé ou ignoré par l'investigation

Vérifiez aussi que les exclusions automatiques des rôles serveur ne sont pas désactivées (DisableAutoExclusions doit valoir false), car les désactiver conduit généralement quelqu'un à ajouter une liste manuelle bien plus large.

Étape 1 : collecter depuis toutes les sources

Les exclusions proviennent de la stratégie de groupe, d'Intune, de Configuration Manager et de la configuration locale, et Defender les fusionne sauf si vous avez désactivé la fusion locale. Commencez par la liste effective sur un échantillon d'appareils, en exécutant en tant qu'administrateur ou SYSTEM :

PowerShell
$p = Get-MpPreference
[pscustomobject]@{
  Computer   = $env:COMPUTERNAME
  Paths      = $p.ExclusionPath -join '; '
  Extensions = $p.ExclusionExtension -join '; '
  Processes  = $p.ExclusionProcess -join '; '
  AsrOnly    = $p.AttackSurfaceReductionOnlyExclusions -join '; '
  CfaApps    = $p.ControlledFolderAccessAllowedApplications -join '; '
  AllowIds   = $p.ThreatIDDefaultAction_Ids -join '; '
}

Exécutez-le via votre outil de gestion, collectez un CSV par appareil et regroupez par valeur pour voir quelles exclusions concernent tout le parc et lesquelles sont ponctuelles.

Lisez ensuite les sources, pour savoir qui a ajouté chacune d'elles :

PowerShell
# Exclusions distribuées par stratégie de groupe
Get-ChildItem "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Exclusions" -Recurse |
  ForEach-Object { $_.Name; $_.GetValueNames() }

# Exclusions ajoutées localement (lisibles uniquement en tant que SYSTEM sur les plateformes récentes)
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows Defender\Exclusions" -Recurse

Dans Intune, vérifiez chaque profil Endpoint security > Antivirus et tout profil Antivirus exclusions, ainsi que les profils du catalogue de paramètres utilisant le CSP Defender (ExcludedPaths, ExcludedExtensions, ExcludedProcesses). En stratégie de groupe, le paramètre se trouve sous Computer Configuration > Policies > Administrative Templates > Windows Components > Microsoft Defender Antivirus > Exclusions. Get-GPOReport -All -ReportType Xml suivi d'une recherche sur Exclusions trouve toutes les GPO qui en définissent.

Pour tester un chemin précis sur un appareil, les plateformes récentes prennent en charge :

PowerShell
& "$env:ProgramFiles\Windows Defender\MpCmdRun.exe" -CheckExclusion -path "D:\Build\out"

Les attaquants utilisent la même technique pour trouver les dossiers exclus : elle a donc aussi sa place dans votre liste de lignes de commande à surveiller.

Étape 2 : juger chaque exclusion

Pour chaque entrée, répondez à quatre questions et consignez les réponses :

  1. Qui en est responsable ? Une personne ou une équipe nommée, pas « l'éditeur ».
  2. Pourquoi existe-t-elle ? Performances, faux positif, exigence d'un éditeur. Conservez le ticket ou le document.
  3. Est-elle encore nécessaire ? Le logiciel est-il toujours installé ? L'éditeur a-t-il corrigé le faux positif ? Le problème de performances est-il réel avec le Defender actuel ?
  4. Est-elle aussi étroite que possible ? Un fichier précis plutôt qu'un dossier, un dossier plutôt qu'un lecteur, un chemin plutôt qu'un processus.

Tout ce qui reste sans responsable après une relance raisonnable est supprimé dans l'anneau suivant, avec une surveillance des conséquences.

Étape 3 : remplacer les exclusions larges par des exclusions étroites

Large (à supprimer)Alternative plus étroite
C:\, D:\, lecteurs de données entiersUniquement le dossier de base de données ou de cache nommé par l'éditeur
%TEMP%, C:\Windows\Temp, %APPDATA%, C:\Users, C:\ProgramDataAucune. C'est là qu'atterrissent les malwares
powershell.exe, cmd.exe, python.exe, java.exe, node.exeExclusion de chemin pour le dossier de sortie de build concerné
Extensions .exe, .dll, .ps1, .js, .zipNe jamais exclure de types exécutables ou d'archives
Processus par nom seul (sqlservr.exe)Chemin complet (C:\Program Files\Microsoft SQL Server\...\sqlservr.exe)

Deux détails techniques piègent souvent :

  • Les variables d'environnement sont résolues dans le contexte SYSTEM. %APPDATA% dans une exclusion pointe vers le profil système, pas vers celui de l'utilisateur. Utilisez des chemins explicites ou les caractères génériques pris en charge, et vérifiez le résultat avec -CheckExclusion.
  • Les exclusions de processus s'appliquent à ce que le processus ouvre, pas à l'image du processus, et uniquement à la protection en temps réel (pas aux analyses planifiées ou à la demande). Exclure un interpréteur par son nom exempte chaque script qu'il lit.

Pour les serveurs de build et les postes de développeurs, envisagez le mode performances sur un Dev Drive (Windows 11) plutôt que des exclusions de dossiers : Defender y analyse les fichiers de manière asynchrone au lieu de ne pas les analyser du tout. Pour un faux positif, soumettez le fichier à Microsoft et utilisez un indicateur Allow Defender for Endpoint sur le hash du fichier, qui couvre exactement un fichier, plutôt qu'un chemin.

Étape 4 : empêcher la liste de repousser

  • Désactiver la fusion locale. Microsoft Defender Antivirus > Configure local administrator merge behavior for lists = Disabled (Intune : DisableLocalAdminMerge). Les exclusions ajoutées localement, y compris celles d'un attaquant, sont alors ignorées.
  • Masquer les exclusions aux administrateurs locaux. Microsoft Defender Antivirus > Exclusions > Control whether or not exclusions are visible to Local Admins = Enabled (Intune : HideExclusionsFromLocalAdmins). L'activer active implicitement la variante Local Users évoquée dans le guide pilier ; les exclusions s'appliquent toujours mais n'apparaissent plus dans l'application Sécurité Windows, Get-MpPreference ou l'Éditeur du Registre, si bien qu'un attaquant disposant de droits d'administration n'a plus de carte toute prête. Le CSP Defender le mentionne pour Windows 10 1809 et versions ultérieures.
  • Protéger les exclusions contre les falsifications. Avec Tamper Protection activée, Defender protège aussi les exclusions contre les modifications locales lorsque toutes ces conditions sont réunies : plateforme 4.18.2211.5 ou ultérieure, DisableLocalAdminMerge activé, appareil géré uniquement par Intune ou uniquement par Configuration Manager (la cogestion n'est pas prise en charge) avec le capteur Defender for Endpoint actif, et exclusions distribuées par cet outil. HKLM\SOFTWARE\Microsoft\Windows Defender\Features\TPExclusions = 1 indique que cette protection est active.
  • Exiger un processus de changement. Toute nouvelle exclusion passe par un ticket avec responsable, justification et date de revue, et vit dans une seule stratégie centrale par périmètre, pas éparpillée dans plusieurs GPO.

Étape 5 : surveiller les changements

Defender journalise chaque modification de configuration sous la forme de l'événement 5007 dans Applications and Services Logs > Microsoft > Windows > Windows Defender > Operational, avec l'ancienne et la nouvelle valeur. Une exclusion apparaît comme un chemin de registre sous Windows Defender\Exclusions :

PowerShell
Get-WinEvent -FilterHashtable @{ LogName = 'Microsoft-Windows-Windows Defender/Operational'; Id = 5007 } |
  Where-Object Message -match 'Exclusions' |
  Select-Object TimeCreated, Message

Avec Defender for Endpoint, le repérage avancé (advanced hunting) détecte les changements sur tout le parc :

Text
DeviceRegistryEvents
| where RegistryKey has @"Windows Defender\Exclusions"
| where ActionType in ("RegistryValueSet", "RegistryKeyCreated")
| project Timestamp, DeviceName, RegistryKey, RegistryValueName, InitiatingProcessCommandLine

Alertez sur toute modification d'exclusion hors de votre fenêtre de changement, ainsi que sur Add-MpPreference ou Set-MpPreference avec -Exclusion dans les journaux de blocs de script PowerShell. N'oubliez pas que les exclusions antivirus n'aveuglent pas le capteur EDR : Defender for Endpoint enregistre toujours l'activité dans les chemins exclus, et c'est ce qui rend possible la détection ci-dessus.

Serveurs et cas particuliers

Les serveurs portent les listes d'exclusions les plus longues et les plus anciennes, généralement copiées de documents d'éditeurs rédigés pour Windows Server 2008. Traitez-les rôle par rôle :

  • Contrôleurs de domaine. Les exclusions automatiques couvrent déjà la base de données AD DS, ses journaux et SYSVOL. Supprimez les doublons manuels, et traitez toute exclusion large sur un contrôleur de domaine (un lecteur entier, C:\Windows\Temp) comme une constatation de gravité élevée, car c'est sur un DC qu'un attaquant veut le plus préparer ses outils sans être vu.
  • SQL Server, Exchange et serveurs de sauvegarde. Les éditeurs publient des listes précises. Comparez la vôtre avec la version actuelle, pas avec celle de l'installation d'origine ; beaucoup de listes ont raccourci.
  • Hôtes Hyper-V et VDI. Excluez les emplacements des disques virtuels et des fichiers de configuration cités par la documentation, pas le volume entier. Pour la VDI non persistante, suivez les recommandations VDI de Microsoft sur les renseignements de sécurité partagés et la planification des analyses plutôt que d'exclure l'image de référence.
  • Postes de développeurs. C'est là que les exclusions tendent à être les plus larges du parc. Préférez le mode performances du Dev Drive et des chemins de sortie de build étroits, et gardez ces appareils sous accès contrôlé aux dossiers en audit pour voir ce que touchent réellement les outils de build.

Ce qui casse

Supprimer des exclusions peut faire revenir le problème pour lequel elles avaient été ajoutées :

  • Performances : les bases de données, les agents de sauvegarde et les outils de build ralentissent. Mesurez avec l'analyseur de performances de Defender (New-MpPerformanceRecording et Get-MpPerformanceReport) avant de rajouter quoi que ce soit, et excluez le chemin critique précis qu'il identifie.
  • Faux positifs sur les outils internes. Signez-les et soumettez-les à Microsoft.
  • Support des éditeurs : certains refusent leur support sans leur liste. Négociez la version la plus étroite et consignez l'exception.

Supprimez par anneaux, comme pour tout autre changement, et gardez une stratégie de retour arrière prête.

Liste de contrôle

  • Exclusions effectives collectées sur un échantillon représentatif, regroupées par valeur
  • Toutes les GPO, profils Intune et stratégies ConfigMgr contenant des exclusions identifiés
  • Listes d'autorisation ASR, CFA, actions sur menaces et Defender for Endpoint incluses dans l'audit
  • Chaque exclusion a un responsable, une raison et une date de revue, ou est supprimée
  • Aucun dossier accessible en écriture par les utilisateurs, interpréteur ou extension exécutable exclu
  • Fusion admin local désactivée ; exclusions masquées aux administrateurs locaux
  • Exclusions protégées contre les falsifications là où c'est pris en charge
  • Alertes sur l'événement 5007 et sur les modifications de registre des exclusions

Questions fréquentes

Faut-il des exclusions pour les rôles Windows Server comme AD DS, DNS ou Hyper-V ?

En général, non. Sur Windows Server 2016 et versions ultérieures, Defender Antivirus applique des exclusions automatiques pour les rôles serveur installés, dont la base de données AD DS et SYSVOL sur les contrôleurs de domaine. Ajouter les longues listes manuelles des anciens documents d'éditeurs les duplique et ajoute souvent des chemins plus larges que nécessaire. Consultez la liste des rôles dans la documentation Microsoft et n'ajoutez que ce qui manque.

Quelle est la différence entre une exclusion de chemin et une exclusion de processus ?

Une exclusion de chemin empêche Defender d'analyser les fichiers situés à cet emplacement. Une exclusion de processus empêche Defender d'analyser les fichiers que le processus nommé ouvre, où qu'ils se trouvent, mais l'image du processus elle-même reste analysée. Les exclusions de processus pour des interpréteurs ou des outils courants sont donc très larges : tout ce que le processus lit ou écrit échappe à l'analyse.

Si les exclusions sont masquées aux administrateurs locaux, comment les auditer ?

Lisez-les à la source : vos objets de stratégie de groupe, profils Intune et stratégies Configuration Manager. Sur un appareil donné, SYSTEM peut toujours lire la liste effective, et Defender for Endpoint remonte la configuration dans le portail. Les masquer retire une carte facile aux attaquants, pas votre capacité à les revoir.

Auditer et réduire les exclusions Microsoft Defender

Guides associés

Microsoft Defender

EDR en mode blocage, mode passif et antivirus tiers

Comportement de Defender Antivirus à côté d'un autre antivirus : modes actif, passif et EDR en mode blocage, mode passif forcé sur serveur, pertes et vérification.

Avancé