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 Fusion (antes 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 Fusion > 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 Fusion 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
En la primera conexión, el endpoint envía al firewall su estado de salud actual, sus interfaces de red y los usuarios que han iniciado sesión.
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.
El firewall distribuye a los endpoints la lista de dispositivos con estado de salud rojo o amarillo cada segundo heartbeat, es decir, cada 30 segundos. Esta distribución no equivale al intervalo de envío de 15 segundos de los endpoints ni al tiempo de espera para detectar Missing.
Estado de salud y respuesta
- Green: El software de seguridad de Sophos informa de un funcionamiento correcto; no se ha detectado malware activo ni inactivo, ni aplicaciones potencialmente no deseadas (PUA). El estado en sí no requiere ninguna medida, pero no garantiza que el dispositivo esté libre de cualquier amenaza.
- Yellow: Las causas habituales son una PUA recién instalada o detectada, malware inactivo detectado o el transcurso de 24 horas desde la última actualización de firmas. Este estado suele ser temporal y normalmente no requiere ninguna medida inmediata. No obstante, se pueden investigar y limpiar las PUA o el malware detectados; si Yellow persiste, se deben revisar Endpoint Events y las actualizaciones de firmas en lugar de ignorar el incidente de forma generalizada.
- Red: Es necesario actuar, por ejemplo, ante malware activo o que ya se está ejecutando, malware no eliminado o software de seguridad de Sophos que no funciona correctamente. Esto también incluye el tráfico de red malicioso detectado, por ejemplo hacia un servidor de Command-and-Control (C2) de una botnet, y la comunicación con un host malicioso conocido identificado mediante su dirección IP o la resolución DNS.
En caso de Red, revisar Endpoint Events, comprobar el funcionamiento de la protección y la limpieza, y gestionar el incidente de seguridad según el procedimiento operativo de incidentes propio. Un temporizador de Missing más largo no resuelve ninguna de estas causas. A la inversa, Missing por sí solo no demuestra una infección.
Comprobar primero el alcance y el modelo operativo
Security Heartbeat requiere un Sophos Firewall registrado, Sophos Endpoint Protection y una suscripción válida de Network Protection. La configuración básica se explica en Conectar Sophos Firewall con Sophos Fusion.
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 Fusion > 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 Fusion, el registro y Security Heartbeat deben estar activos. En Sophos Fusion, 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.
Tras la notificación de suspensión, el firewall marca el endpoint como desconectado y no genera Missing Heartbeat Alerts. Al reactivarse, el endpoint vuelve a notificar al firewall, que lo marca de nuevo como conectado. Este proceso se aplica a los dispositivos Windows indicados con Modern Standby y Core Agent 2023.2 o posterior, no de forma general a cualquier tipo de Sleep o Hibernate.
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.
Canal de comunicación y modo TAP
El endpoint y el firewall intercambian el heartbeat mediante una conexión TLS cifrada con 52.5.76.173 por TCP 8347. Sophos Fusion proporciona certificados con los que el firewall asocia los endpoints a la cuenta correcta. Deben coincidir el tenant, el certificado del endpoint y el estado de salud visible.
Sophos Firewall establece conexiones Heartbeat exclusivamente con endpoints cuyos certificados posee. Sophos Fusion transmite los certificados al firewall; por tanto, no basta con pertenecer a la misma cuenta. La apertura de un puerto por sí sola no demuestra ni una conexión TLS correcta ni un Heartbeat operativo.
En TAP mode, el firewall necesita al menos una interfaz de la zona LAN conectada permanentemente y accesible desde los endpoints. SFOS transmite las direcciones de todas las interfaces de la zona LAN a Sophos Fusion, y los endpoints intentan enviar su heartbeat a través de ellas. Si ninguna de estas direcciones es accesible desde la red del endpoint, el análisis TAP queda incompleto aunque el tráfico se refleje correctamente.
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.
- Detrás de un router intermedio sin NAT, el endpoint puede seguir compartiendo su estado de salud con el firewall. Sin embargo, el firewall no puede detectar allí un heartbeat ausente; que el estado de salud sea visible no demuestra que funcione la supervisión Missing.
- Detrás de una puerta de enlace NAT, los endpoints no pueden compartir su estado de salud con el firewall. Es una restricción distinta de la imposibilidad de detectar Missing detrás de un router sin NAT.
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.
Distinguir la protección lateral de las reglas de firewall
La protección contra movimientos laterales limita la comunicación entre endpoints según el estado de salud y la política de endpoint definida en Sophos Fusion. Si un dispositivo comunica Red, otros endpoints dejan de comunicarse con él solo si se aplica una política correspondiente. El firewall actúa como proxy MAC de capa 2: informa a los endpoints del mismo dominio de difusión de las direcciones MAC y los estados de salud de los demás endpoints. Esto no demuestra aislamiento entre redes separadas por enrutamiento.
No es el mismo control que una condición Heartbeat en una regla para tráfico que atraviesa el firewall. Si la comunicación entre endpoints se permite o bloquea de forma inesperada, compruebe primero la política de endpoint efectiva y el dominio de difusión compartido. Una prueba satisfactoria de la regla de firewall no demuestra por sí sola la protección lateral. Para asignar políticas y realizar cambios controlados, consulte Configurar Sophos Endpoint Threat Protection de forma segura. No desactive globalmente una política de producción ni provoque un estado de malware para probarlo; limite las pruebas necesarias a un piloto autorizado con valores iniciales documentados y un procedimiento de reversión.
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.
Para este caso de switch/LAG, documentar primero el resultado actual de system synchronized-security delay-missing-heartbeat-detection show como referencia para la reversión y confirmar la regla que realmente coincide. El cambio afecta al temporizador de detección del firewall; por tanto, realizarlo en una ventana de pruebas autorizada y no al mismo tiempo que el ejemplo de 90 segundos. Tras iniciar sesión en la CLI del firewall, seleccionar 4. Device Console y establecer:
system synchronized-security delay-missing-heartbeat-detection set seconds 30
Después, volver a comprobar el valor con show y probar el acceso a la red de los dispositivos que utilizan esta regla. Aumentarlo en incrementos de 15 segundos solo si es necesario y volver a comprobarlo después de cada cambio. Si el comportamiento empeora, restaurar el valor documentado anteriormente con la misma sintaxis set seconds y volver a probar. Se sale de la Console con exit. Los 30 segundos son el valor inicial documentado para este escenario de fallo concreto, no un nuevo valor predeterminado general.
Retrasar la notificación a Sophos Fusion
Si el firewall detecta correctamente el estado, pero Sophos Fusion 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 Fusion.
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. Los siguientes comandos son alternativas, no una secuencia. Ejecute únicamente la opción que corresponda a la selección aprobada en 4. Device Console:
- Para un único endpoint conocido con una entrada obsoleta, utilice preferentemente
namey sustituyaendpoint1por su nombre exacto. days-missingactúa de forma independiente de la selección por nombre: elimina todas las entradas de estado Missing que lleven el número de días elegido o más. El intervalo permitido es de 1 a 90 días. Por tanto,7elimina todas las entradas que lleven al menos siete días en estado Missing, no solo la deendpoint1ni únicamente las que tengan exactamente siete días. Sustituya7por la antigüedad mínima aprobada y, antes de esta limpieza más amplia, documente el conjunto completo seleccionado por antigüedad, incluido el dispositivo, la hora y la causa de cada entrada. Ejecute el comando solo cuando se haya aprobado la limpieza de todo ese conjunto.
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.
Tras la limpieza, vuelva a cargar Control Center y los informes y compárelos con la selección documentada: solo deben haber desaparecido las entradas de estado Missing previstas.
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 Fusion.
- Compare en Sophos Fusion 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 Fusion. 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.