Auditar y minimizar las exclusiones de Microsoft Defender
Localiza cada exclusión de Microsoft Defender en GPO, Intune y configuración local, justifícala o elimínala, acota el resto, ocúltalas y supervisa los cambios.
Cada exclusión de Microsoft Defender es un lugar hacia el que el antivirus aparta la vista deliberadamente. La mayoría se añadieron en su momento por un buen motivo (un servidor de compilación lento, una llamada al soporte de un fabricante, un falso positivo) y luego se olvidaron. Los operadores de ransomware lo saben: enumerar y añadir exclusiones es una de las primeras cosas que hacen con derechos de administrador, y una carpeta ya excluida es el sitio ideal para preparar sus herramientas.
El pilar de endurecimiento de Defender enumera las señales de alarma. Esta guía es la auditoría completa: encontrar cada exclusión en cada fuente, decidir cuáles sobreviven, acotar las supervivientes y evitar que la lista vuelva a crecer.
Los tipos de exclusión que hay que buscar
«Exclusiones» no es una sola lista. Una auditoría que solo revisa ExclusionPath se deja la mayoría.
| Tipo | Dónde reside | Efecto |
|---|---|---|
| Ruta | ExclusionPath | No se examinan los archivos de la carpeta o ruta de archivo |
| Extensión | ExclusionExtension | No se examinan los archivos con esa extensión, estén donde estén |
| Proceso | ExclusionProcess | No se examinan los archivos que abre ese proceso |
| Dirección IP | ExclusionIpAddress | Tráfico excluido de la inspección de red |
| Solo ASR | AttackSurfaceReductionOnlyExclusions | Excluido de las reglas ASR, pero se sigue examinando |
| Acceso controlado a carpetas | ControlledFolderAccessAllowedApplications | La aplicación puede escribir en carpetas protegidas |
| Acción por defecto ante amenazas | ThreatIDDefaultAction_Ids con la acción Allow | Se permite una detección concreta |
| Defender for Endpoint | Indicadores Allow (hash de archivo, certificado), exclusiones de carpetas de automatización | Permitido u omitido por la investigación |
Comprueba también que las exclusiones automáticas de los roles de servidor no estén desactivadas (DisableAutoExclusions debe ser false), porque desactivarlas suele llevar a alguien a añadir una lista manual mucho más amplia.
Paso 1: recopilar desde todas las fuentes
Las exclusiones proceden de la directiva de grupo, Intune, Configuration Manager y la configuración local, y Defender las combina salvo que hayas desactivado la combinación local. Empieza por la lista efectiva en una muestra de dispositivos, ejecutando como administrador o como SYSTEM:
$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 '; '
}Ejecútalo con tu herramienta de administración, recoge un CSV por dispositivo y agrupa por valor para ver qué exclusiones son comunes a toda la flota y cuáles son casos aislados.
Después lee las fuentes, para saber quién añadió cada una:
# Exclusiones entregadas por directiva de grupo
Get-ChildItem "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Exclusions" -Recurse |
ForEach-Object { $_.Name; $_.GetValueNames() }
# Exclusiones añadidas localmente (en plataformas recientes solo legibles como SYSTEM)
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows Defender\Exclusions" -RecurseEn Intune, revisa cada perfil de Endpoint security > Antivirus y cualquier perfil de Antivirus exclusions, además de los perfiles del catálogo de configuración que usan el CSP de Defender (ExcludedPaths, ExcludedExtensions, ExcludedProcesses). En directiva de grupo, la opción está en Computer Configuration > Policies > Administrative Templates > Windows Components > Microsoft Defender Antivirus > Exclusions. Get-GPOReport -All -ReportType Xml y una búsqueda de Exclusions encuentran todas las GPO que las definen.
Para probar una ruta concreta en un dispositivo, las plataformas recientes admiten:
& "$env:ProgramFiles\Windows Defender\MpCmdRun.exe" -CheckExclusion -path "D:\Build\out"Los atacantes usan la misma técnica para encontrar carpetas excluidas, así que también debe figurar en tu lista de líneas de comandos que vigilar.
Paso 2: evaluar cada exclusión
Para cada entrada, responde a cuatro preguntas y deja las respuestas por escrito:
- ¿Quién es el responsable? Una persona o un equipo con nombre, no «el fabricante».
- ¿Por qué existe? Rendimiento, un falso positivo, un requisito del fabricante. Conserva el ticket o el documento.
- ¿Sigue siendo necesaria? ¿Sigue instalado el software? ¿Ha corregido el fabricante el falso positivo? ¿Es real el problema de rendimiento con el Defender actual?
- ¿Es lo más acotada posible? Un archivo concreto mejor que una carpeta, una carpeta mejor que una unidad, una ruta mejor que un proceso.
Lo que siga sin responsable tras una búsqueda razonable se elimina en el siguiente anillo, con supervisión de las consecuencias.
Paso 3: sustituir las exclusiones amplias por otras acotadas
| Amplia (eliminar) | Alternativa más acotada |
|---|---|
C:\, D:\, unidades de datos enteras | Solo la carpeta de base de datos o de caché que indique el fabricante |
%TEMP%, C:\Windows\Temp, %APPDATA%, C:\Users, C:\ProgramData | Ninguna. Ahí es donde aterriza el malware |
powershell.exe, cmd.exe, python.exe, java.exe, node.exe | Exclusión de ruta para la carpeta concreta de salida de compilación |
Extensiones .exe, .dll, .ps1, .js, .zip | Nunca excluyas tipos ejecutables ni de archivo comprimido |
Proceso solo por nombre (sqlservr.exe) | Ruta completa (C:\Program Files\Microsoft SQL Server\...\sqlservr.exe) |
Dos detalles técnicos pillan a mucha gente:
- Las variables de entorno se resuelven en el contexto de SYSTEM.
%APPDATA%en una exclusión apunta al perfil del sistema, no al del usuario. Usa rutas explícitas o comodines compatibles, y comprueba el resultado con-CheckExclusion. - Las exclusiones de proceso se aplican a lo que el proceso abre, no a la imagen del proceso, y solo a la protección en tiempo real (no a los exámenes programados ni a petición). Excluir un intérprete por su nombre exime a todos los scripts que lee.
Para servidores de compilación y equipos de desarrollo, plantéate el modo de rendimiento en una Dev Drive (Windows 11) en lugar de exclusiones de carpetas: Defender examina los archivos de la Dev Drive de forma asíncrona en vez de no examinarlos. Ante un falso positivo, envía el archivo a Microsoft y usa un indicador Allow de Defender for Endpoint sobre el hash del archivo, que cubre exactamente un archivo, en lugar de una ruta.
Paso 4: evitar que la lista vuelva a crecer
- Desactiva la combinación local. Microsoft Defender Antivirus > Configure local administrator merge behavior for lists = Disabled (Intune:
DisableLocalAdminMerge). Así se ignoran las exclusiones añadidas localmente, incluidas las de un atacante. - Oculta las exclusiones a los administradores locales. Microsoft Defender Antivirus > Exclusions > Control whether or not exclusions are visible to Local Admins = Enabled (Intune:
HideExclusionsFromLocalAdmins). Activarla activa implícitamente la variante Local Users del pilar; las exclusiones se siguen aplicando pero ya no aparecen en la aplicación Seguridad de Windows, enGet-MpPreferenceni en el Editor del Registro, de modo que un atacante con derechos de administrador no dispone de un mapa ya hecho. El CSP de Defender la documenta para Windows 10 1809 y posteriores. - Protege las exclusiones frente a alteraciones. Con la protección contra alteraciones activada, Defender protege también las exclusiones frente a modificaciones locales cuando se cumplen todas estas condiciones: plataforma
4.18.2211.5o posterior,DisableLocalAdminMergeactivado, dispositivo administrado solo por Intune o solo por Configuration Manager (no se admite la administración conjunta) con el sensor de Defender for Endpoint en ejecución, y exclusiones entregadas por esa herramienta.HKLM\SOFTWARE\Microsoft\Windows Defender\Features\TPExclusions=1indica que está activa. - Exige un proceso de cambios. Las nuevas exclusiones pasan por un ticket con responsable, justificación y fecha de revisión, y residen en una única directiva central por ámbito, no repartidas entre varias GPO.
Paso 5: supervisar los cambios
Defender registra cada cambio de configuración como evento 5007 en Applications and Services Logs > Microsoft > Windows > Windows Defender > Operational, con el valor anterior y el nuevo. Una exclusión aparece como una ruta del Registro bajo Windows Defender\Exclusions:
Get-WinEvent -FilterHashtable @{ LogName = 'Microsoft-Windows-Windows Defender/Operational'; Id = 5007 } |
Where-Object Message -match 'Exclusions' |
Select-Object TimeCreated, MessageCon Defender for Endpoint, la búsqueda avanzada detecta los cambios en toda la flota:
DeviceRegistryEvents
| where RegistryKey has @"Windows Defender\Exclusions"
| where ActionType in ("RegistryValueSet", "RegistryKeyCreated")
| project Timestamp, DeviceName, RegistryKey, RegistryValueName, InitiatingProcessCommandLineGenera alertas ante cualquier cambio de exclusiones fuera de tu ventana de cambios, y ante Add-MpPreference o Set-MpPreference con -Exclusion en los registros de bloques de script de PowerShell. Recuerda que las exclusiones del antivirus no ciegan al sensor EDR: Defender for Endpoint sigue registrando la actividad en las rutas excluidas, que es lo que hace posible la detección anterior.
Servidores y casos especiales
Los servidores acumulan las listas de exclusiones más largas y antiguas, normalmente copiadas de documentos de fabricantes escritos para Windows Server 2008. Revísalas rol por rol:
- Controladores de dominio. Las exclusiones automáticas ya cubren la base de datos de AD DS, los registros y SYSVOL. Elimina los duplicados manuales y trata cualquier exclusión amplia en un DC (una unidad entera,
C:\Windows\Temp) como un hallazgo de gravedad alta, porque un DC es donde un atacante más desea preparar sus herramientas sin ser visto. - SQL Server, Exchange y servidores de copia de seguridad. Los fabricantes publican listas precisas. Compara la tuya con la versión actual, no con la de la instalación original; muchas listas se han acortado.
- Hosts de Hyper-V y VDI. Excluye las ubicaciones de discos virtuales y archivos de configuración que indica la documentación, no el volumen entero. Para VDI no persistente, sigue la guía de Microsoft sobre VDI para la inteligencia de seguridad compartida y la programación de exámenes en lugar de excluir la imagen maestra.
- Puestos de desarrollo. Aquí las exclusiones suelen ser las más amplias de todo el parque. Prefiere el modo de rendimiento de Dev Drive y rutas acotadas de salida de compilación, y mantén estos dispositivos con el acceso controlado a carpetas en auditoría para ver qué tocan realmente las herramientas de compilación.
Qué se rompe
Eliminar exclusiones puede hacer que vuelva el problema por el que se añadieron:
- Rendimiento: las bases de datos, los agentes de copia de seguridad y las herramientas de compilación se ralentizan. Mide con el analizador de rendimiento de Defender (
New-MpPerformanceRecordingyGet-MpPerformanceReport) antes de volver a añadir nada, y excluye la ruta crítica concreta que identifique. - Falsos positivos en herramientas internas. Fírmalas y envíalas a Microsoft.
- Soporte del fabricante: algunos fabricantes se niegan a dar soporte sin su lista. Negocia la versión más acotada y registra la excepción.
Elimina por anillos, como con cualquier otro cambio, y ten lista una directiva de reversión.
Lista de comprobación
- Exclusiones efectivas recopiladas de una muestra representativa y agrupadas por valor
- Identificadas todas las GPO, perfiles de Intune y directivas de ConfigMgr con exclusiones
- Listas de permitidos de ASR, CFA, acciones ante amenazas y Defender for Endpoint incluidas en la auditoría
- Cada exclusión tiene responsable, motivo y fecha de revisión, o se elimina
- Ninguna carpeta con escritura para usuarios, intérprete ni extensión ejecutable excluidos
- Combinación de administradores locales desactivada; exclusiones ocultas a los administradores locales
- Exclusiones protegidas frente a alteraciones donde sea compatible
- Alertas sobre el evento 5007 y los cambios del Registro de exclusiones
Preguntas frecuentes
¿Necesito exclusiones para roles de Windows Server como AD DS, DNS o Hyper-V?
Normalmente no. En Windows Server 2016 y posteriores, Defender Antivirus aplica exclusiones automáticas para los roles de servidor instalados, incluidos la base de datos de AD DS y SYSVOL en los controladores de dominio. Añadir las largas listas manuales de documentos antiguos de fabricantes las duplica y a menudo introduce rutas más amplias de lo necesario. Consulta la lista de roles en la documentación de Microsoft y añade solo lo que falte.
¿Qué diferencia hay entre una exclusión de ruta y una exclusión de proceso?
Una exclusión de ruta hace que Defender no examine los archivos de esa ubicación. Una exclusión de proceso hace que Defender no examine los archivos que abre el proceso indicado, estén donde estén, aunque sigue examinando la imagen del propio proceso. Por eso las exclusiones de proceso para intérpretes o herramientas comunes son muy amplias: todo lo que el proceso lee o escribe queda sin examinar.
Si las exclusiones están ocultas para los administradores locales, ¿cómo las audito?
Léelas en la fuente de verdad: tus objetos de directiva de grupo, perfiles de Intune y directivas de Configuration Manager. En un dispositivo concreto, SYSTEM sigue pudiendo leer la lista efectiva, y Defender for Endpoint informa de la configuración en el portal. Ocultarlas quita a los atacantes un mapa fácil, no tu capacidad de revisarlas.
Auditar y minimizar las exclusiones de Microsoft Defender