Ir al contenido
Avanet

Sophos Switch: consultar datos de dispositivos y clientes con Live Discover

Con Live Discover puede consultar la telemetría de los Sophos Switch administrados en Sophos Fusion. Los datos del Data Lake permiten, por ejemplo, investigar dispositivos que estuvieron conectados a un switch determinado. No obstante, no constituyen una vista en tiempo real del estado actual del switch.

Requisitos previos

Necesita al menos un Sophos Switch administrado en Sophos Fusion y acceso al tenant correcto y a Threat Analysis Center > Live Discover. Live Discover requiere una licencia de Sophos EDR, XDR o MDR. Aparte de eso, la documentación no indica ningún paquete de licencia de Switch ni ningún rol de administrador concretos. Por tanto, si no aparecen Live Discover, Switch o una función de edición, solicite que comprueben la asignación de licencias, sus derechos de acceso y la activación de la función en el tenant afectado.

Defina de antemano el objetivo de la investigación. Algunos puntos de referencia adecuados son el ID del switch, el nombre del dispositivo, el número de serie, la dirección MAC del cliente, el puerto, la VLAN y el periodo. Solo necesita Designer Mode para editar o crear una consulta.

Consultar datos del switch

Empiece con una consulta de switch integrada. Así obtendrá primero un resultado de comparación y solo tendrá que pasar al diseñador si la consulta existente no responde a su pregunta.

  1. En Sophos Fusion, abra Threat Analysis Center > Live Discover > Switch.
  2. Seleccione una consulta de Data Lake integrada para Sophos Switch. Compruebe su finalidad, la definición visible y los parámetros requeridos.
  3. Si se ofrece la opción, establezca el periodo de investigación en Select a Time Period y ejecute la consulta.
  4. Interprete los resultados mediante la identidad del switch, type_of_data y los campos temporales. Compare un switch conocido o un cliente de prueba con los datos de la administración de switches.
  5. Si basta con la consulta integrada, documente la consulta, los parámetros, el intervalo temporal y el resultado. De lo contrario, active Designer Mode y elija una de estas opciones:
    • Adaptar una consulta existente: seleccione la consulta en Query y haga clic en Edit. Guarde la definición original antes de modificarla.
    • Crear una consulta: en Query, haga clic en Create new query y seleccione Data Lake como Source.
  6. En el cuadro de diálogo SQL, abra Schema en la esquina superior derecha. El Schema Viewer se abre en una nueva pestaña. Seleccione NSG Cswitch > nsg_cswitch_data y compruebe las columnas y los tipos de datos disponibles.
  7. Utilice únicamente las tablas, los campos y los valores que muestre el Schema Viewer actual o la consulta integrada. Modifique cada vez una sola parte relacionada, como la selección de campos o el filtro para un switch conocido.
  8. Ejecute primero la consulta adaptada con un switch o cliente conocido y bien delimitado. Compare el resultado con la consulta integrada sin modificar y con los datos de inventario o conexión conocidos.

Para buscar los clientes de un switch concreto, identifique inequívocamente el dispositivo de destino mediante device_id o el número de serie. Después, evalúe conjuntamente la dirección MAC del cliente, device_port, client_vlan, el estado de conexión y los campos temporales. Esta delimitación evita confusiones, pero todavía no demuestra que la lista de clientes esté completa; también deben coincidir el periodo y is_full_set.

Seleccionar un intervalo temporal

Select a Time Period es opcional en las consultas de Data Lake. Si no selecciona nada, se aplican los últimos 7 días. Una sola consulta puede abarcar como máximo 30 días.

Para investigaciones más largas, ejecute varias consultas con intervalos distintos. Para 90 días, por ejemplo, Sophos indica 0–30, 31–60 y 61–90 días. Documente cada intervalo por separado y mantenga sin cambios el switch, el tipo de datos y los demás filtros durante la comparación.

Campos del esquema del switch

El esquema comprende la identidad del switch, los clientes conectados y los registros. type_of_data indica el tipo de datos enviados, por ejemplo, datos de cliente o de registro. Por ello, no todas las filas contienen a la vez todos los campos de cliente y de registro.

CampoSignificado documentado
message_identifierID único generado por la canalización de ingesta
ingest_dateFecha en la que se ingirieron los datos
ingestion_timestampHora de ingesta en segundos epoch
schema_versionVersión del esquema del Data Lake
record_sizeTamaño de los datos
customer_idID del cliente
type_of_dataTipo de datos enviados en el flujo, por ejemplo, datos de cliente o de registro
is_full_setIndica si la entrega es completa o incremental
timestampHora en que se generó el evento
device_idID único del switch
device_nameNombre del switch
device_modelModelo del switch
device_firmwareVersión del firmware del switch
device_serial_idNúmero de serie del switch
client_macDirección MAC del dispositivo conectado
client_ipDirección IP del dispositivo conectado
client_hostnameNombre de host del dispositivo conectado
client_event_timestampHora en que se conectó el dispositivo
client_conn_statusEstado de conexión del dispositivo
log_idID del registro
log_subtypeSubtipo del registro
log_componentComponente del registro
log_messageMensaje del registro
log_severityGravedad del mensaje del registro
device_ipDirección IP del switch
device_portPuerto del switch al que está conectado el cliente
client_vlanVLAN asignada al dispositivo conectado
direct_end_deviceIndica si el dispositivo está conectado directamente al switch

Los valores de estado, subtipo y gravedad pueden variar según los datos mostrados. Adopte su grafía y significado exactos del esquema actual y del resultado de la consulta.

Interpretar correctamente los resultados

Una fila sin procesar del Data Lake es, en principio, un resultado de consulta. type_of_data y los campos rellenados indican si contiene datos de cliente o de registro. Si la consulta SQL agrupa varios registros, la fila resultante es un resumen calculado y no un evento de red individual. Por tanto, no traslade el significado de timestamp a un agregado sin comprobarlo.

Identidad y tenant

device_id es el ID único del switch. Compare además con el dispositivo de destino al menos otro punto de referencia, como device_serial_id, device_name, device_model o device_ip. Los nombres y las direcciones IP pueden cambiar o reutilizarse. customer_id asigna los datos al tenant; no es un ID de switch, de serie ni de cliente.

Hora del evento y de la ingesta

  • timestamp indica la hora en que se generó el evento.
  • client_event_timestamp indica la hora en que se conectó el dispositivo.
  • ingestion_timestamp indica la hora de ingesta en segundos epoch.
  • ingest_date es la fecha de ingesta.

Una ingesta posterior no implica automáticamente un evento de red posterior. Para las series temporales, compruebe también la conversión epoch y la zona horaria del entorno de consulta utilizado.

Datos completos e incrementales

is_full_set indica si una entrega es completa o incremental. No trate un conjunto de datos incremental como un inventario completo de clientes. Incluso una entrega marcada como completa no garantiza por sí sola que todos los clientes previstos aparezcan en el periodo investigado.

Clientes y registros

device_port y client_vlan relacionan un cliente con un puerto y una VLAN. Solo el valor de direct_end_device, y no la mera existencia del campo, indica si está conectado directamente. La dirección IP y el nombre de host pueden faltar o cambiar; utilice también client_mac y los campos temporales para la asociación. Además, un registro de telemetría solo es una observación referida a un momento y no una prueba del estado actual ni de un historial de conexión sin lagunas.

Para los datos de registro, log_id, log_subtype, log_component, log_message y log_severity proporcionan el contexto. La gravedad por sí sola no demuestra ni la causa ni el efecto de un problema de red.

Comprobar el resultado

Antes de utilizar el resultado, responda a estas preguntas:

  • ¿Pertenecen customer_id y la identidad del switch al tenant y al dispositivo de destino correctos?
  • ¿Coinciden type_of_data y los campos de cliente o de registro realmente rellenados con la pregunta de la investigación?
  • ¿Se encuentran las horas del evento, del cliente y de la ingesta en el intervalo esperado y se han interpretado por separado?
  • ¿Se ha tenido en cuenta is_full_set si se afirma algo sobre la integridad?
  • Para un cliente de prueba conocido, ¿coinciden la dirección MAC, el puerto, la VLAN y el valor de direct_end_device con la conexión esperada?
  • ¿Ofrece la consulta integrada un resultado de comparación plausible para el mismo destino e intervalo temporal?

Un registro ausente solo constituye una falta de evidencia en las condiciones seleccionadas. No demuestra que el switch o el cliente no existan ni, por sí solo, que haya un error de telemetría.

Delimitar problemas

Faltan las consultas de switch o las funciones de edición

Si falta la sección Switch, compruebe primero el tenant de Fusion correcto, que haya un switch administrado mediante Fusion y la asignación de licencia de Sophos EDR, XDR o MDR. Después, solicite que comprueben sus derechos de acceso y la activación de la función en el tenant. Además, Designer Mode debe estar activado para Edit y Create new query.

Falta el esquema o la tabla

El Schema Viewer se puede abrir desde el cuadro de diálogo SQL de una consulta editada o nueva. En una consulta nueva debe estar seleccionado Source: Data Lake. Para la telemetría del switch, utilice únicamente la ruta NSG Cswitch > nsg_cswitch_data mostrada en el viewer y sus campos actuales.

La consulta no devuelve filas

Pruebe primero una consulta de switch integrada para un switch conocido. Anote el tenant, el filtro del switch, el registro de prueba esperado y el intervalo temporal. Después, retire los filtros propios de uno en uno y compare los nombres de los campos con el esquema.

Si no ha seleccionado un periodo propio, tenga en cuenta el valor predeterminado de 7 días. Manteniendo sin cambios las demás condiciones, amplíe gradualmente el intervalo hasta un máximo de 30 días. Para investigaciones más largas, utilice intervalos separados y documentados. Compare también la hora del evento con la de ingesta y compruebe type_of_data e is_full_set. Registre el resultado como «ninguna fila en las condiciones de consulta y el periodo seleccionados».

También puede comprobar el estado operativo y de sincronización del dispositivo de destino con el runbook Administrar una flota de Sophos Switch.

Hay filas, pero faltan datos de clientes

Una fila de registro no tiene por qué contener campos de cliente. Por tanto, compruebe primero type_of_data e is_full_set y, después, evalúe conjuntamente client_mac, client_ip, client_hostname, client_event_timestamp y client_conn_status. No complete los valores que faltan a partir del inventario ni de convenciones de nomenclatura.

La serie temporal parece contradictoria

Compare por separado la hora del evento y la de ingesta, y compruebe la conversión epoch y la zona horaria. Una ingesta retrasada no implica automáticamente un segundo evento de red. Puede utilizar message_identifier para la deduplicación, pero su unicidad solo está documentada dentro de la canalización de ingesta.

Revertir cambios y proteger los datos

Una consulta modifica su definición o selección SQL, no la configuración del switch. Si una consulta adaptada no es fiable, deje de utilizarla y vuelva a la consulta integrada sin modificar. Si es necesario, restaure la definición guardada anteriormente o descarte la nueva variante con la función que ofrece su interfaz. Después, utilice la consulta integrada para comprobar que el proceso normal sigue funcionando.

Los resultados exportados pueden contener ID de clientes, números de serie, direcciones IP y MAC, nombres de host, puertos, VLAN y mensajes de registro. Proteja y elimine las exportaciones, capturas de pantalla y notas conforme a sus requisitos de conservación y protección de datos. Revertir una consulta no elimina las copias ya guardadas; estas se deben tratar en sus respectivas ubicaciones de almacenamiento.