Ir al contenido
07 · Firewall de WindowsParte 2 de 4Básico

Registro y supervisión del Firewall de Windows

Convierta el Firewall de Windows en fuente de detección: pfirewall.log, eventos WFP 5156/5157 y de cambio de reglas 4946-4950, reenviados de forma centralizada.

Florian Amette9 min de lectura

Un firewall de host que bloquea tráfico pero no avisa a nadie es solo medio control. Los descartes que registra revelan escaneos, intentos de movimiento lateral y aplicaciones mal configuradas. Sus eventos de cambio de configuración muestran a un atacante abriendo un puerto para sus herramientas o apagando el firewall. La mayoría de los entornos no recopilan ni lo uno ni lo otro.

El pilar de endurecimiento del Firewall de Windows fija la directiva: todos los perfiles activados, entrada bloqueada por defecto, protocolos de administración limitados a los equipos de gestión. Esta guía construye la supervisión encima. Hay tres fuentes, y cada una tiene una finalidad distinta:

FuenteDóndeIdeal para
pfirewall.logArchivo de texto en cada hostInvestigación local, construcción de listas de permisos
Eventos de auditoría de Plataforma de filtrado de Windows (WFP)Registro de seguridad, 5150-5159Detección central de conexiones bloqueadas y permitidas, con la ruta del proceso
Eventos de cambio de directiva del firewallRegistro de seguridad, 4944-4958Detectar la manipulación de reglas y configuración

La visión general del área está en la página temática del Firewall de Windows.

Paso 1: configurar pfirewall.log por perfil

Ruta de GPO: Computer Configuration > Policies > Windows Settings > Security Settings > Windows Defender Firewall with Advanced Security. Abra las propiedades y, en cada una de las pestañas Domain Profile, Private Profile y Public Profile, haga clic en Customize en Logging:

ConfiguraciónValor recomendado
Name%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log (por defecto)
Size limit (KB)De 16 384 a 32 767 (32 767 es el máximo)
Log dropped packetsYes
Log successful connectionsNo en los puestos de trabajo; Yes en servidores sensibles o durante el descubrimiento de reglas

Cuando el archivo alcanza su límite de tamaño, Windows lo renombra a pfirewall.log.old y empieza uno nuevo, sobrescribiendo el .old anterior. En un servidor con mucho ruido eso puede significar solo unas horas de historial, así que recopile el archivo o apóyese en los eventos del paso 2.

Puede usar un archivo distinto por perfil (domainfw.log, publicfw.log) para ver de un vistazo en qué perfil estaba un portátil cuando se descartó algo. Si mueve el registro fuera de la carpeta por defecto, el servicio de firewall debe poder escribir allí:

PowerShell
$path = 'D:\Logs\Firewall'
New-Item -ItemType Directory -Path $path -Force | Out-Null
$acl = Get-Acl $path
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
  'NT SERVICE\mpssvc','Modify','ContainerInherit,ObjectInherit','None','Allow')
$acl.AddAccessRule($rule); Set-Acl -Path $path -AclObject $acl

En Intune, las opciones de perfil equivalentes están en el catálogo de configuración, en la categoría Firewall, por perfil: Log File Path, Log Max File Size, Enable Log Dropped Packets y Enable Log Success Connections (Firewall CSP MdmStore/DomainProfile/LogFilePath, LogMaxFileSize, EnableLogDroppedPackets, EnableLogSuccessConnections, y lo mismo bajo PrivateProfile y PublicProfile). En un dispositivo que también recibe directiva de grupo, el valor de la GPO para la ruta y el tamaño del registro prevalece sobre el valor MDM.

Leer el archivo

El archivo está delimitado por espacios y tiene una línea de encabezado #Fields:. Analícelo a partir del encabezado en lugar de suponer un orden de columnas fijo, porque las compilaciones recientes de Windows han añadido campos:

PowerShell
$log = "$env:SystemRoot\System32\LogFiles\Firewall\pfirewall.log"
$fields = (Get-Content $log -TotalCount 10 | Where-Object { $_ -like '#Fields:*' }) -replace '^#Fields:\s*' -split ' '
Get-Content $log | Where-Object { $_ -and $_ -notlike '#*' } |
  ConvertFrom-Csv -Delimiter ' ' -Header $fields |
  Where-Object action -eq 'DROP' |
  Group-Object 'src-ip','dst-port' | Sort-Object Count -Descending | Select-Object -First 20 Count, Name

Un único origen que toca muchos puertos, o muchos orígenes internos que atacan TCP 445 o 5985 en los puestos de trabajo, es exactamente el patrón que las reglas del pilar pretenden detener.

Paso 2: habilitar la auditoría de Plataforma de filtrado de Windows

WFP es el motor que hay debajo del firewall. Sus eventos de auditoría son más útiles que el registro de texto para la supervisión central porque incluyen la ruta de la aplicación y la dirección, y pasan por la canalización de eventos normal.

Ruta de GPO: Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies > Object Access:

SubcategoríaConfiguraciónEventos
Audit Filtering Platform ConnectionFailure (en todo el parque); Success solo en servidores seleccionados5157 conexión bloqueada, 5159 enlace bloqueado, 5155 escucha bloqueada; 5156, 5158, 5154 en caso de acierto
Audit Filtering Platform Packet DropFailure solo en servidores seleccionados5152 paquete descartado, 5153

Recuerde que la directiva de auditoría avanzada solo se aplica si Audit: Force audit policy subcategory settings to override audit policy category settings está habilitada en Security Options, algo que cualquier línea base moderna ya hace.

En un solo equipo, para pruebas:

PowerShell
auditpol /set /subcategory:"Filtering Platform Connection" /failure:enable
auditpol /get /subcategory:"Filtering Platform Connection","MPSSVC Rule-Level Policy Change"

El evento 5157 indica «The Windows Filtering Platform has blocked a connection» y contiene el proceso (como ruta de dispositivo, por ejemplo \device\harddiskvolume3\windows\system32\svchost.exe), la dirección, las direcciones y puertos de origen y destino, el protocolo y un Filter Run-Time ID. Para averiguar qué filtro o regla produjo un bloqueo, vuelque el estado de WFP y busque ese ID:

PowerShell
netsh wfp show filters file="$env:TEMP\filters.xml"
Select-String -Path "$env:TEMP\filters.xml" -Pattern '<filterId>123456</filterId>' -Context 0,20

Tenga en cuenta que 5157 también se dispara con los paquetes descartados por la acción de bloqueo por defecto, no solo por reglas de bloqueo explícitas, así que un flujo de eventos 5157 es normal. Lo que importa es a quién se bloquea y desde dónde.

Paso 3: auditar siempre los cambios de configuración del firewall

Los cambios de configuración son raros, baratos de recopilar y de gran valor. Habilite Audit MPSSVC Rule-Level Policy Change para Success y Failure en Advanced Audit Policy Configuration > Audit Policies > Policy Change. Los eventos clave del registro de seguridad:

EventoSignificado
4944 / 4945Directiva activa y reglas enumeradas al iniciarse el servicio de firewall
4946Se añadió una regla a la lista de excepciones
4947Se modificó una regla
4948Se eliminó una regla
4949Se restauró la configuración predeterminada del firewall
4950Se cambió una opción del firewall (por ejemplo, se desactivó el firewall en un perfil)
4954La configuración de firewall de directiva de grupo cambió y se aplicó
4956El perfil activo cambió

La actualización de la directiva de grupo produce 4954 y, en algunas compilaciones, ráfagas de 4946/4948 al volver a aplicarse las reglas de directiva. Construya la detección en torno a los cambios que no coinciden con una actualización de directiva o que proceden de un proceso distinto de los que usa su pila de gestión.

El registro Applications and Services Logs > Microsoft > Windows > Windows Firewall With Advanced Security > Firewall recoge los mismos cambios con el detalle de la regla y la aplicación que la modificó. Sus identificadores de evento varían entre versiones de Windows (las compilaciones antiguas usaban 2004, 2005 y 2006 para reglas añadidas, modificadas y eliminadas), así que compruebe los ID en sus imágenes actuales de Windows 11 24H2/25H2 y Server 2025 antes de escribir reglas contra él.

Vigile también el propio servicio. Un atacante que detiene MpsSvc o cambia su tipo de inicio deja los eventos 7036 y 7040 del Administrador de control de servicios en el registro del sistema.

Paso 4: reenviar lo que importa

Para los eventos de WFP y de cambio de directiva, el transporte es Windows Event Forwarding (vea la entrada del glosario sobre WEF) o el agente de su SIEM. Mantenga la suscripción ajustada para que 5157 no ahogue al recopilador:

XML
<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[(EventID&gt;=4946 and EventID&lt;=4950) or EventID=4954 or EventID=4956]]</Select>
    <Select Path="Security">*[System[EventID=5157]] and *[EventData[Data[@Name='Direction']='%%14592']]</Select>
  </Query>
</QueryList>

%%14592 es el valor de dirección entrante. Las conexiones entrantes bloqueadas en los puestos de trabajo son las interesantes para el movimiento lateral; las salientes bloqueadas generan más ruido y son útiles sobre todo en servidores con salida denegada por defecto. Si el volumen sigue siendo excesivo, recopile 5157 solo de los servidores y de una muestra de puestos, y apóyese en la telemetría de red del EDR para el resto.

Para pfirewall.log, apunte su agente de registros al archivo (y al archivo .old) y analícelo con los campos de encabezado mostrados antes.

Ideas de detección

  • Firewall desactivado o entrada por defecto en Allow: 4950 en cualquier perfil, fuera de una ventana de cambios. Alerta inmediata.
  • Nueva regla de permiso entrante creada localmente: un 4946 en un dispositivo con la combinación de reglas locales desactivada suele ser un atacante o un instalador cuya acción no tendrá efecto, pero sigue revelando intención.
  • Escaneo interno: una dirección de origen que produce eventos 5157 contra muchos hosts o puertos de destino en pocos minutos.
  • Tráfico de administración entre puestos de trabajo: 5157 entrante en TCP 445, 135, 3389 o 5985 desde subredes que no son de administración.
  • SMB saliente bloqueado hacia Internet: un intento de autenticación forzada o de exfiltración de datos.

La referencia de identificadores de eventos de seguridad los sitúa junto a los eventos de inicio de sesión y de proceso con los que los correlacionará.

Qué se rompe

  • Rotación del registro de seguridad: habilitar la auditoría de aciertos de Filtering Platform Connection en todo el parque puede hacer rotar el registro de seguridad en minutos y ocultar los eventos de inicio de sesión. Aumente el tamaño del registro de seguridad (al menos 1 GB en los servidores) y limítese a los errores en los clientes.
  • Carga del recopilador: una suscripción a 5157 sin filtrar suele ser la mayor fuente de eventos de una implementación de WEF. Filtre en origen con XPath.
  • Rutas de registro personalizadas sin permiso de escritura para NT SERVICE\mpssvc no producen ningún archivo, sin avisar.
  • Desajuste de perfil: un registro configurado solo en el perfil de dominio no da nada cuando un portátil está en el perfil público en casa.

Comprobarlo

Revise la configuración de registro efectiva, que refleja la GPO y el MDM y no la configuración local:

PowerShell
Get-NetFirewallProfile -PolicyStore ActiveStore |
  Select-Object Name, LogFileName, LogMaxSizeKilobytes, LogBlocked, LogAllowed
Get-NetConnectionProfile | Select-Object InterfaceAlias, NetworkCategory
auditpol /get /subcategory:"Filtering Platform Connection","MPSSVC Rule-Level Policy Change"

Después pruebe de extremo a extremo: desde un puesto de trabajo sin privilegios de administración, ejecute Test-NetConnection <target> -Port 445 contra otro puesto. En el destino debería ver una línea DROP TCP en pfirewall.log y un evento 5157; en el recopilador, el 5157 debería llegar dentro de su intervalo de reenvío. Por último, añada y elimine una regla de prueba inofensiva y confirme que 4946 y 4948 llegan al SIEM.

Lista de comprobación

  • Registro de paquetes descartados activado en los tres perfiles, tamaño de archivo de al menos 16 MB
  • Rutas de registro personalizadas con permiso de escritura para NT SERVICE\mpssvc
  • Filtering Platform Connection auditado en errores; aciertos solo en servidores seleccionados
  • MPSSVC Rule-Level Policy Change auditado en aciertos y errores
  • Eventos 4946-4950, 4954 y 5157 (filtrado) reenviados al SIEM
  • Alertas sobre firewall desactivado, reglas de permiso locales y patrones de escaneo interno
  • Prueba de extremo a extremo realizada: conexión bloqueada y cambio de regla visibles de forma centralizada

El registro solo es útil si la directiva que lo respalda es coherente en todo el parque; el siguiente paso es gestionar la directiva de firewall a escala.

Preguntas frecuentes

¿Uso pfirewall.log o los eventos de seguridad de WFP?

Use ambos, para tareas distintas. pfirewall.log es un archivo de texto local y barato, excelente durante una investigación en un host pero incómodo de recopilar a escala. Los eventos de auditoría de WFP (5157 para conexiones bloqueadas, 5156 para las permitidas) llegan al registro de seguridad, incluyen la ruta del proceso y viajan por Windows Event Forwarding o por su agente como cualquier otro evento. Para la detección centralizada, prefiera los eventos y fíltrelos con rigor.

¿Por qué mi pfirewall.log está vacío aunque el registro esté habilitado?

Las causas más comunes son una ruta de registro personalizada en la que el servicio de firewall no puede escribir, un registro habilitado en un perfil que no está activo, o una configuración local de perfil anulada por una GPO que deja el registro desactivado. Compruebe el almacén activo con Get-NetFirewallProfile, confirme en qué perfil está el adaptador de red y conceda permiso de escritura a NT SERVICE\mpssvc si ha movido el registro.

¿Auditar las conexiones correctas (5156) genera demasiado ruido?

En un servidor o puesto de trabajo con mucha actividad, sí: puede generar miles de eventos por minuto y expulsar eventos útiles del registro de seguridad. Habilítelo solo en unos pocos servidores sensibles, o temporalmente mientras construye una lista de permisos de salida. Para la recopilación en todo el parque, audite solo los errores (5157) y audite siempre los cambios de reglas y de configuración, que son raros y valiosos.

Registro y supervisión del Firewall de Windows

Guías relacionadas

Firewall de Windows

Firewall de Windows a escala con GPO e Intune

Gestione el Firewall de Windows en todo el parque: cómo se combinan las reglas de GPO e Intune, por qué prevalece el bloqueo y cómo revisar el almacén activo.

Intermedio
Firewall de Windows

Aislamiento de dominio y de servidor con IPsec

Use reglas de seguridad de conexión IPsec para que solo equipos del dominio autenticados lleguen a sus servidores: aislamiento, criptografía y despliegue seguro.

Avanzado