Cómo analizar correctamente las alertas Missing Heartbeat de Sophos Firewall
Una alerta Missing Heartbeat no significa automáticamente que haya malware. Sophos Firewall informa de que un endpoint detectado previamente sigue generando tráfico de red, pero ya no envía el Security Heartbeat correspondiente. La causa puede ser un Sophos Endpoint defectuoso, aunque también puede deberse a cambios entre LAN y WLAN, estados de suspensión y reactivación, un diseño DNS incorrecto o una ruta de red inadecuada.
Por eso, un buen análisis no empieza desactivando Security Heartbeat. Primero hay que comprobar si el firewall debe supervisar ese dispositivo, qué tráfico provoca el estado y si el endpoint, el firewall y Sophos Central reflejan la misma situación.
Comprobación rápida
- Si dos endpoints diferentes utilizan la misma estación de acoplamiento o interfaz USB, compruebe primero la versión del firmware. SFOS 22.0 MR2 Build 546 corrige NC-176012 para este caso. En una compilación anterior de SFOS 22, actualice antes de cambiar temporizadores o políticas.
- En System > Sophos Central > Optional configurations, compruebe que la zona esté incluida deliberadamente en Missing heartbeat zones.
- Revise las condiciones de heartbeat en la regla de firewall que se aplica realmente y compare en Sophos Central el estado y los eventos del mismo endpoint.
- En Log Viewer, correlacione Rule ID, Source IP y No Heartbeat con cambios de adaptador, DNS, VPN o ciclos de suspensión y reactivación.
- Cambie un temporizador únicamente si el problema de transición es reproducible y el firmware está actualizado.
Cómo se genera un estado Missing Heartbeat
Sophos Endpoint envía su estado a Sophos Firewall cada 15 segundos. Si faltan tres heartbeats consecutivos mientras el endpoint sigue enviando tráfico de red, el firewall cambia su estado a Missing. En cuanto vuelve a recibir un heartbeat, considera que el endpoint está activo de nuevo.
La asociación se realiza mediante la dirección MAC y el firewall tiene en cuenta todas las interfaces del dispositivo. Cuando un endpoint cambia entre Ethernet y WLAN, una ruta de red anterior todavía puede generar tráfico mientras el heartbeat ya circula por otra interfaz. Dos endpoints diferentes que utilizan la misma estación de acoplamiento o interfaz USB constituyen un caso de error independiente que depende de la versión.
Además, Missing no equivale a un heartbeat rojo o amarillo:
- Missing: El firewall ve tráfico, pero no recibe un heartbeat actual.
- Yellow: El endpoint comunica un estado de advertencia, como una firma obsoleta o una PUA.
- Red: El endpoint comunica un estado crítico, por ejemplo, malware activo que no se ha podido limpiar.
Por tanto, un estado Missing debe considerarse un problema de comunicación y asociación hasta que el análisis demuestre lo contrario.
Comprobar primero el alcance y el modelo operativo
Security Heartbeat requiere un Sophos Firewall registrado, Sophos Central Endpoint Protection y una suscripción válida de Network Protection. La configuración básica se explica en Conectar Sophos Firewall con Sophos Central.
En entornos AD compatibles con Windows 10, el mismo heartbeat también puede transportar la identidad del usuario. Synchronized User ID Authentication explica la asignación de AD y por qué la pérdida del heartbeat puede cerrar la sesión del usuario detectado.
Revisar Missing heartbeat zones
En System > Sophos Central > Optional configurations, el campo Missing heartbeat zones determina en qué zonas detecta el firewall los heartbeats ausentes. Solo deben incluirse zonas en las que se esperen endpoints Sophos administrados.
Las redes de invitados, IoT, impresoras o servidores sin Sophos Endpoint normalmente no deben formar parte de este alcance. En entornos mixtos con Microsoft Defender u otro EDR, los dispositivos pueden estar bien protegidos, pero no pueden enviar un Sophos Security Heartbeat.
El alcance debe coincidir con la política del firewall. Sophos señala un caso especial poco intuitivo: si una política de heartbeat bloquea una zona que no figura en Missing heartbeat zones, el widget de Security Heartbeat del Control Center puede mostrar Missing de todos modos. Por eso, siempre hay que revisar conjuntamente el campo de zonas y las reglas de firewall afectadas.
Verificar la licencia y el estado de Central
En System > Sophos Central, el registro y Security Heartbeat deben estar activos. En Sophos Central, compruebe lo siguiente para el equipo afectado:
- ¿Está el endpoint conectado y asignado al tenant correcto?
- ¿Muestra un estado de salud verde, amarillo o rojo?
- ¿Hay Endpoint Events en el mismo periodo?
- ¿Se ha reinstalado, cambiado de nombre, duplicado o eliminado el dispositivo de Central?
Si varios dispositivos se ven afectados al mismo tiempo, es más probable que la causa esté en el registro, la ruta de red o la política. Los dispositivos individuales que presentan el problema de forma recurrente apuntan más bien al servicio del endpoint, a cambios de adaptador o a la configuración de red local.
En un entorno compuesto exclusivamente por Sophos Endpoint, puede tener sentido utilizar el heartbeat como requisito estricto de acceso. En ese caso, las zonas, el alcance de las reglas, la supervisión en Central y un runbook para los heartbeats ausentes deben estar coordinados. En entornos mixtos, el heartbeat debe utilizarse de forma selectiva: los dispositivos con Microsoft Defender u otro EDR pueden estar protegidos, pero no envían una señal de Sophos. Las reglas independientes y la segmentación son más fiables que una obligación global de heartbeat con una lista de excepciones en constante crecimiento.
Clasificar correctamente las causas habituales
Cambios de adaptador, suspensión y hardware compartido
Si dos endpoints diferentes utilizan la misma estación de acoplamiento o interfaz USB, la versión del firmware es decisiva antes de analizar las causas generales. Sophos corrigió NC-176012 en SFOS 22.0 MR2 Build 546. Las notas de la versión no indican en qué versión se introdujo el problema; en una compilación anterior de SFOS 22, actualice primero y repita la misma prueba. Un temporizador más largo solo ocultaría este error.
El temporizador predeterminado para detectar un heartbeat ausente es de 60 segundos. Durante un cambio de adaptador, el firewall puede seguir viendo consultas DNS o conexiones en segundo plano mediante la asociación anterior de IP o MAC. El apagado, la suspensión, la hibernación y la reactivación pueden producir un patrón similar.
Los dispositivos Windows con Modern Standby y Sophos Endpoint Protection Core Agent 2023.2 o posterior informan al firewall antes de entrar en suspensión. Por tanto, Modern Standby por sí solo no debería generar una alerta Missing. Con versiones anteriores del agente u otros estados de ahorro de energía, la correlación temporal sigue siendo importante.
Descartar falsas alarmas en macOS
Sophos sigue registrando en MACEP-6842 falsas interrupciones de heartbeat en macOS 12 Monterey y versiones posteriores. Pueden producirse varias veces al día aunque la conexión no se haya interrumpido realmente; la corrección aún no está programada y Sophos no ofrece ninguna solución temporal. Si solo se ven afectados equipos Mac, compruebe primero las versiones de macOS y del endpoint, así como los Central Events del mismo periodo, en lugar de modificar reglas de firewall o temporizadores sin pruebas.
Tráfico DNS durante un cambio de red
El tráfico DNS suele ser el último tráfico visible de un cliente que cambia de red. Sophos documenta este patrón en el problema conocido NC-178843 para SFOS 21.5 GA: especialmente los resolvers DNS externos pueden generar alertas Missing adicionales durante un cambio de red.
En clientes administrados conviene utilizar un diseño DNS coherente. Si Sophos Firewall actúa como único reenviador DNS, los dominios internos deben enviarse a los resolvers internos mediante las DNS Request Routes adecuadas. El procedimiento se explica en Configurar DNS Request Routes en Sophos Firewall.
Usar servidores DNS internos directamente también es un diseño válido. Lo importante es que DHCP, los perfiles VPN y la configuración del endpoint esperen la misma ruta de resolución. Cambiar al firewall como reenviador DNS no es una obligación general, sino una corrección específica cuando se ha demostrado que los resolvers externos provocan ruido en las alertas.
VPN, routers y NAT en la ruta
Security Heartbeat solo funciona de forma fiable si el endpoint y el firewall comparten la ruta esperada:
- Antes de establecer la conexión de heartbeat, el tráfico del endpoint no debe estar ya encaminado por otro túnel VPN.
- Con Sophos Connect, puede ser necesario activar Send Security Heartbeat through tunnel en Remote access VPN > IPsec > Advanced settings.
- Un endpoint situado detrás de un router intermedio puede producir resultados incorrectos.
- Detrás de una puerta de enlace NAT, los endpoints no pueden compartir correctamente su estado de salud individual con el firewall.
En estos casos, una captura de paquetes y la comprobación del enrutamiento aportan más información que observar de forma aislada el estado en Central.
NC-147863 es otro caso especial: si un usuario detrás del firewall local utiliza autenticación por heartbeat y establece una conexión SSL VPN con split tunneling hacia un firewall externo, el nuevo adaptador VPN puede provocar un bucle de conexión y desconexión que bloquea el acceso a Internet. Como solución temporal, Sophos recomienda eliminar Match known users de la regla VPN local o utilizar Captive Portal. El procedimiento general del cliente se explica en Configurar Sophos Connect Client para Sophos Firewall.
Comprobar la regla de firewall con precisión
La configuración del heartbeat se encuentra en Rules and policies > Firewall rules > [rule] > Configure Synchronized Security Heartbeat. Las cuatro opciones cumplen funciones distintas:
- Minimum source HB permitted: Solo permite endpoints de origen con un estado mínimo Green o Yellow. No restriction también permite dispositivos sin heartbeat o con estado rojo.
- Block clients with no heartbeat: Bloquea los dispositivos de origen sin heartbeat.
- Minimum destination HB permitted: Comprueba el estado de salud de los dispositivos de destino internos. Este control no se aplica a destinos de la zona WAN.
- Block request to destination with no heartbeat: Bloquea las solicitudes dirigidas a destinos internos sin heartbeat.
Hay un caso especial importante que resulta fácil pasar por alto: si un endpoint ha enviado primero un heartbeat y lo pierde posteriormente, el firewall lo trata según la política configurada. En cambio, un dispositivo que nunca ha enviado un heartbeat sigue estando permitido mientras no estén activadas ambas opciones, Block clients with no heartbeat y Block request to destination with no heartbeat.
El tráfico web presenta otra excepción. Una excepción aplicable en Web > Exceptions puede permitir solicitudes web a pesar de que esté activado Block clients with no heartbeat. Para los puertos 80 y 443, revise tanto los registros del firewall como los del filtro web. La guía Probar una regla de firewall con Log Viewer, Policy Test y Packet Capture explica cómo combinar Rule ID, Policy Test y Packet Capture.
Las condiciones de heartbeat solo deberían aplicarse a grupos de Sophos Endpoint claramente definidos. Las impresoras, los escáneres, los dispositivos IoT, los invitados y los clientes con EDR de terceros suelen necesitar una regla independiente y con un alcance estricto, en lugar de una excepción amplia en la regla principal.
Reducir las falsas alarmas de forma controlada
Sophos ofrece dos temporizadores compatibles en Device Console. No sustituyen la corrección de firmware para estaciones de acoplamiento compartidas ni la comprobación del problema conocido de macOS. Antes de realizar cualquier cambio, muestre el valor actual y documente las horas de las alertas.
Retrasar la detección en el firewall
En la CLI, seleccione 4. Device Console y compruebe:
system synchronized-security delay-missing-heartbeat-detection show
El intervalo permitido es de 30 a 285 segundos, en pasos de 15 segundos, y el valor predeterminado es de 60 segundos. Si se ha demostrado que los cambios de adaptador provocan falsas alarmas, puede aumentarse, por ejemplo, a 90 segundos:
system synchronized-security delay-missing-heartbeat-detection set seconds 90
A continuación, repita el mismo proceso de cambio entre LAN y WLAN o de conexión a la estación de acoplamiento. Un valor mayor reduce las falsas alarmas breves, pero también retrasa la detección de un heartbeat realmente ausente.
Un valor mayor no es adecuado para todos los síntomas. Si Block clients with no heartbeat retrasa el acceso a recursos al utilizar switches o LAG, el procedimiento de Sophos empieza con 30 segundos y solo aumenta el valor en pasos de 15 segundos cuando es necesario. Es un caso distinto de los cambios de adaptador recurrentes, para los que puede probarse, por ejemplo, un valor de 90 segundos.
Retrasar la notificación a Sophos Central
Si el firewall detecta correctamente el estado, pero Sophos Central genera la alerta demasiado pronto durante la suspensión, la hibernación, el apagado o la reactivación, compruebe:
system synchronized-security suppress-missing-heartbeat-to-central show
El intervalo es de 0 a 120 segundos y el valor predeterminado es 0. Para establecer un retraso específico de 60 segundos, utilice:
system synchronized-security suppress-missing-heartbeat-to-central set seconds 60
Este temporizador no modifica la política local de heartbeat. Solo retrasa el momento en que el firewall comunica el estado Missing a Sophos Central.
Eliminar entradas Missing obsoletas
Una vez concluido el análisis de la causa, las entradas antiguas pueden eliminarse de Control Center y de los informes:
system synchronized-security missing-endpoints delete name endpoint1
system synchronized-security missing-endpoints delete days-missing 7
La eliminación solo retira el estado mostrado. No repara ni el endpoint ni la comunicación de heartbeat. No elimine ninguna entrada antes de documentar el dispositivo, la hora y la causa.
Comprobación después del cambio
Un cambio solo está completo cuando se ha reproducido y probado el proceso original:
- Anote la hora de la alerta, el nombre del endpoint, la IP, la MAC, la zona y la Rule ID afectada.
- Revise el estado de Security Heartbeat en Control Center y el alcance de las zonas en System > Sophos Central.
- Compare en Sophos Central el estado de salud y los Endpoint Events del mismo periodo.
- En Log Viewer, filtre por Rule ID, Source IP y el estado No Heartbeat. Para el tráfico web, compruebe también el filtro web.
- Si hay problemas con la ruta, utilice Diagnostics > Packet capture para comprobar por qué interfaz circulan el tráfico DNS y el tráfico de aplicaciones.
- Repita el desencadenante real, por ejemplo, el cambio de Ethernet a WLAN, y compruebe si la alerta y el acceso reaccionan ahora de la forma esperada.
Para un análisis más profundo, en Diagnostics > Tools > Troubleshooting logs están disponibles especialmente heartbeatd.log, que contiene información sobre el estado del endpoint y las aplicaciones, y hbtrust.log, que registra la comunicación entre el firewall y Sophos Central. La guía Localizar y clasificar los registros de servicio de Sophos Firewall explica cómo interpretar otros archivos.
En cambio, los errores de heartbeatd.log al detectar aplicaciones nuevas pertenecen a Synchronized Application Control y no indican automáticamente un problema de Missing Heartbeat. En ese caso, el procedimiento adecuado es Comprobar de forma segura los errores de Synchronized Application Control.