Supervisión del estado y auditoría de la integridad de las reglas de análisis

Para garantizar una detección completa, sin interrupciones y sin alteraciones de amenazas en el servicio de Microsoft Sentinel, realice un seguimiento del estado y la integridad de las reglas de análisis. Mantenga el funcionamiento óptimo mediante la supervisión de sus conclusiones de ejecución de reglas de análisis, consultando los registros de mantenimiento y auditoría, y usando la reejecución manual para probar y optimizar las reglas de análisis.

Configure las notificaciones de eventos de estado y auditoría para las partes interesadas pertinentes, que luego pueden tomar medidas. Por ejemplo, definir y enviar mensajes de correo electrónico o de Microsoft Teams, crear nuevos tickets en su sistema de tickets, etc.

En este artículo se describe cómo usar la auditoría y la supervisión de estado de Microsoft Sentinel en Microsoft Sentinel para realizar un seguimiento del estado y la integridad de las reglas de análisis desde Microsoft Sentinel.

Para obtener información sobre los detalles de las reglas y la reejecución manual de las reglas, consulte Supervise y optimice la ejecución de sus reglas analíticas programadas.

Resumen

Microsoft Sentinel proporciona dos tipos de registros para supervisar reglas de análisis: registros de estado y registros de auditoría. En las secciones siguientes se resume lo que captura cada registro y dónde se almacenan los datos.

  • Registros de estado de la regla analítica de Microsoft Sentinel:

    • Este registro captura eventos que registran la ejecución de reglas de análisis y el resultado final de estas ejecuciones: si se realizaron correctamente o no, y si se produjeron errores, por qué.
    • El registro también registra, para cada ejecución de una regla de análisis:
      • Cuántos eventos capturó la consulta de la regla.
      • Si el número de eventos superó el umbral definido en la regla, lo que hace que la regla active una alerta.

    Estos registros se recopilan en la tabla SentinelHealth de Log Analytics.

  • Registros de auditoría de reglas de análisis de Microsoft Sentinel:

    • Este registro captura eventos que registran los cambios realizados en cualquier regla de análisis, incluidos los detalles siguientes:
      • Nombre de la regla que se ha cambiado.
      • Qué propiedades de la regla se cambiaron.
      • Estado de la configuración de la regla antes y después del cambio.
      • El usuario o la identidad que realizó el cambio.
      • La dirección IP de origen y la fecha y hora del cambio.
      • ... y mucho más.

    Estos registros se recopilan en la tabla SentinelAudit de Log Analytics.

Uso de las tablas de datos SentinelHealth y SentinelAudit

Para obtener datos de auditoría y estado de las tablas SentinelHealth y SentinelAudit, primero debe activar la característica de mantenimiento de Microsoft Sentinel para el área de trabajo. Para obtener más información, consulte Activar la auditoría y la supervisión de estado para Microsoft Sentinel.

Una vez activada la función de salud, la tabla de datos de SentinelHealth se crea en el primer evento de éxito o fracaso generado para tus reglas de analítica.

Descripción de los eventos de tabla SentinelHealth y SentinelAudit

Los siguientes tipos de eventos de estado de la regla de análisis se registran en la tabla SentinelHealth:

  • Ejecución de reglas de análisis programadas.
  • Reglas de análisis casi en tiempo real (NRT).

Para obtener más información, consulte Esquema de columnas de tabla sentinelhealth.

La tabla SentinelAudit registra los siguientes tipos de eventos de auditoría de reglas de análisis:

  • Cree o actualice la regla de análisis.
  • Regla de análisis eliminada.

Para obtener más información, consulte Esquema de columnas de tabla SentinelAudit.

Ejecutar consultas para detectar problemas de estado e integridad

Para obtener los mejores resultados, compile las consultas en las funciones precompiladas de estas tablas, _SentinelHealth() y _SentinelAudit(), en lugar de consultar las tablas directamente. Estas funciones mantienen la compatibilidad con versiones anteriores de las consultas si se realizan cambios en el esquema de las tablas.

Como primer paso, filtre las tablas por los datos relacionados con las reglas de análisis. Use el SentinelResourceType parámetro .

_SentinelHealth()
| where SentinelResourceType == "Analytics Rule"

Si lo desea, puede filtrar aún más la lista para un tipo determinado de regla de análisis. Use el SentinelResourceKind parámetro para esto.

| where SentinelResourceKind == "Scheduled"

# OR

| where SentinelResourceKind == "NRT"

Estas son algunas consultas de ejemplo que le ayudarán a empezar:

  • Busque reglas que sean "reglas de análisis programadas deshabilitadas automáticamente":

    _SentinelHealth()
    | where SentinelResourceType == "Analytics Rule"
    | where Reason == "The analytics rule is disabled and was not executed."
    
  • Cuente las reglas y las ejecuciones que se realizaron correctamente o con errores, por motivo:

    _SentinelHealth()
    | where SentinelResourceType == "Analytics Rule"
    | summarize Occurrence=count(), Unique_rule=dcount(SentinelResourceId) by Status, Reason
    
  • Busque la actividad de eliminación de reglas en la tabla SentinelAudit . Esta consulta devuelve registros de auditoría en los que se eliminó una regla de análisis, por lo que puede realizar un seguimiento de quién quitó una regla y cuándo:

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | where Description =="Analytics rule deleted"
    
  • Busque la actividad en las reglas, por nombre de regla y nombre de actividad:

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | summarize Count= count() by RuleName=SentinelResourceName, Activity=Description
    
  • Busque la actividad en las reglas, por nombre del autor de la llamada (la identidad que realizó la actividad):

    _SentinelAudit()
    | where SentinelResourceType =="Analytic Rule"
    | extend Caller= tostring(ExtendedProperties.CallerName)
    | summarize Count = count() by Caller, Activity=Description
    

Para obtener más información sobre los operadores y funciones de Kusto que se usan en las consultas de ejemplo, consulte la documentación de Kusto:

Para obtener más información sobre KQL, consulte introducción a Lenguaje de consulta Kusto (KQL).

Otros recursos:

Consulta problemas de estado e integridad de las reglas programadas

Cuando se produce un error en una regla de programación, se reintenta cinco veces más en la misma ventana exacta. La regla no omite la ventana ni pierde una alerta, siempre que al menos uno de los seis intentos sea correcto.

El error en uno de los seis intentos indica un retraso en el desencadenamiento de la alerta. La consulta siguiente calcula el retraso exacto:

_SentinelHealth()
| where SentinelResourceType == @"Analytics Rule" 
| where SentinelResourceKind == "Scheduled"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), executionStart = todatetime(ExtendedProperties["executionStart"])
| extend delay = datetime_diff('minute', startTime, executionStart)

Para buscar errores completos (es decir, una ventana que se omitió), use la consulta siguiente:

_SentinelHealth()| where SentinelResourceType == @"Analytics Rule" 
| where SentinelResourceKind == "Scheduled"
| where Status != "Success"
| extend startTime = tostring(ExtendedProperties["QueryStartTimeUTC"])
| summarize failuresByStartTime = count() by startTime, SentinelResourceId
| where failuresByStartTime == 6
| summarize count() by SentinelResourceId

Esta consulta busca ejecuciones programadas de reglas de análisis en las que ninguno de los seis reintentos tuvo éxito. Puede identificar si se trata de un reintento observando la hora de inicio de la ventana de la regla, ya que los reintentos siempre toman como referencia la hora de inicio original. Esta consulta proporciona la cantidad de ventanas omitidas para cada regla de análisis. Esperamos que las ventanas omitidas sean poco frecuentes. Si ve que tiene reglas de análisis con ventanas omitidas, use las consultas para comprender el motivo del error de estas reglas específicas y la tabla de motivos y mitigaciones de errores para corregirlas.

Consultar problemas de estado e integridad de las reglas NRT

El mecanismo de reintento de las reglas de NRT se comporta de forma diferente a las reglas programadas. Si se produce un error en la ejecución de una regla, el sistema también considera la ventana con errores en la siguiente ejecución (un minuto más tarde). Este comportamiento continúa durante un máximo de 60 fallos (una hora).

Dado que un error de una ejecución específica refleja solo un retraso de un minuto, no examine los errores únicos. En su lugar, use la siguiente consulta para supervisar el retraso de cada regla de análisis:

_SentinelHealth()
| where SentinelResourceKind == "NRT"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), endTime = todatetime(ExtendedProperties["QueryEndTimeUTC"]), alertsCreated = toint(ExtendedProperties["AlertsGeneratedAmount"])
| where alertsCreated == 0 
| extend ruleDelay = datetime_diff('minute', endTime, startTime)
| project TimeGenerated, ruleDelay, SentinelResourceId
| render timechart

También puede definir una regla de análisis para desencadenar alertas sobre retrasos significativos (por ejemplo, si una regla de NRT tiene un retraso de más de 10 minutos).

Estados, errores y pasos sugeridos

Tanto en el caso de una ejecución programada de una regla de análisis como de una ejecución NRT de una regla de análisis, es posible que aparezca alguno de los siguientes estados y descripciones:

  • Correcto: la regla se ejecutó correctamente, generando <n> alertas.

  • Correcto: la regla se ejecutó correctamente, pero no alcanzó el umbral (<n>) necesario para generar una alerta.

  • Fallo: Estas descripciones explican el fallo de una regla y qué puede hacer al respecto.

    Descripción Corrección
    Error interno del servidor al ejecutar la consulta.
    El tiempo de espera de ejecución de la consulta se ha agotado.
    No se encontró una tabla a la que se hace referencia en la consulta. Compruebe que el origen de datos pertinente está conectado.
    Error semántico al ejecutar la consulta. Intente restablecer la regla de análisis editándola y guardándola (sin cambiar ninguna configuración).
    Una función a la que llama la consulta se denomina con una palabra reservada. Quite o cambie el nombre de la función.
    Error de sintaxis al ejecutar la consulta. Intente restablecer la regla de análisis editándola y guardándola (sin cambiar ninguna configuración).
    El área de trabajo no existe.
    Esta consulta usa demasiados recursos del sistema y no se pudo ejecutar. Revise y ajuste la regla de análisis. Consulte nuestra documentación sobre la descripción general del lenguaje de consulta Kusto y los procedimientos recomendados para el lenguaje de consulta Kusto.
    No se encontró una función llamada por la consulta. Compruebe la existencia en el área de trabajo de todas las funciones a las que llama la consulta.
    No se encontró el área de trabajo usada en la consulta. Compruebe que existen todas las áreas de trabajo de la consulta.
    No tiene permisos para ejecutar esta consulta. Intente restablecer la regla de análisis editándola y guardándola (sin cambiar ninguna configuración).
    No tiene permisos de acceso a uno o varios de los recursos de la consulta.
    La consulta hace referencia a una ruta de acceso de almacenamiento que no se encontró.
    Se denegó a la consulta el acceso a una ruta de almacenamiento.
    En este área de trabajo se definen varias funciones con el mismo nombre. Quite o cambie el nombre de la función redundante y restablezca la regla editándola y guardándola.
    Esta consulta no devolvía ningún resultado.
    No se permiten varios conjuntos de resultados en esta consulta.
    Los resultados de la consulta contienen un número incoherente de campos por fila.
    La ejecución de la regla se retrasó debido a largos tiempos de ingesta de datos.
    La ejecución de la regla se retrasó debido a problemas temporales.
    La alerta no se enriqueció debido a problemas temporales.
    La alerta no se enriqueció debido a problemas de asignación de entidades.
    < número> entidades se han descartado en la alerta <nombre> debido al límite de tamaño de la alerta de 32 KB.
    < número> entidades se han omitido en la alerta <nombre> debido a problemas de asignación de entidades.
    La consulta ha dado como resultado <número> eventos, lo que supera el máximo de <límite> resultados permitidos para reglas de <tipo de regla> con la configuración de agrupación de eventos alerta por fila. Se generó una alerta por cada fila para los primeros <limit-1> eventos y, además, se generó una alerta agregada para contabilizar todos los eventos.
    - <number> = número de eventos devueltos por la consulta
    - <límite> = actualmente 150 alertas para reglas programadas, 30 para reglas NRT
    - <tipo de regla> = Programada o NRT

Uso de la auditoría y libro de seguimiento de estado

Para visualizar el estado de las reglas de análisis y los datos de auditoría, instale y configure el libro Analytics Health & Audit desde el centro de contenido de Microsoft Sentinel.

  1. Para que el libro esté disponible en el área de trabajo, instale la solución del libro desde el centro de contenido de Microsoft Sentinel:

    1. En el portal de Microsoft Sentinel, seleccione Centro de contenido (versión preliminar) en el menú Administración de contenido.

    2. En el Centro de contenido, escriba estado en la barra de búsqueda y seleccione Análisis de estado & auditoría entre las soluciones del libro en Independiente en los resultados.

      Recorte de pantalla de la selección del libro de análisis de estado del centro de contenido.

    3. Seleccione Instalar en el panel de detalles y, a continuación, seleccione Guardar que aparece en su lugar.

  2. Cuando la solución indique que está instalada, seleccione Libros en el menú Administración de amenazas.

    Recorte de pantalla de la indicación de que la solución del libro de análisis de estado está instalada desde el centro de contenido.

  3. En la galería Libros de trabajo, seleccione la pestaña Plantillas, escriba health en la barra de búsqueda y seleccione Analytics Health & Audit de entre los resultados.

    Recorte de pantalla de la selección del libro de análisis de estado de la galería de plantillas.

  4. Seleccione Guardar en el panel de detalles para crear una copia editable y utilizable del libro. Cuando se cree la copia, seleccione Ver libro guardado.

  5. Una vez en el libro, seleccione primero la suscripción y el área de trabajo que desea ver (es posible que ya estén seleccionadas) y, a continuación, defina TimeRange para filtrar los datos según sus necesidades. Usa el interruptor Mostrar ayuda para mostrar una explicación integrada en el libro.

    Recorte de pantalla de la pestaña Información general del libro de estado de las reglas de análisis.

Este libro tiene tres secciones con pestañas:

Consulte los resúmenes de estado y auditoría en la pestaña Información general.

En la pestaña Información general se muestran los resúmenes de estado y auditoría:

  • Resúmenes del estado de las ejecuciones de las reglas de análisis en el área de trabajo seleccionada: número de ejecuciones, ejecuciones correctas y con errores, y detalles de los eventos de error.
  • Auditoría de resúmenes de actividades sobre reglas de análisis en el área de trabajo seleccionada: número de actividades a lo largo del tiempo, número de actividades por tipo y número de actividades de diferentes tipos por regla.

Usa la pestaña Salud para identificar problemas en las reglas de análisis

La pestaña Salud te permite explorar eventos de salud específicos.

Recorte de pantalla de la selección de la pestaña de estado en el libro de análisis de estado.

  • Filtre todos los datos de página por estado (correcto o error) y tipo de regla (programado o NRT).
  • Consulte las tendencias de ejecuciones de reglas correctas y erróneas (en función del filtro de estado) durante el período de tiempo seleccionado. Puede usar el "pincel de tiempo" en el gráfico de tendencias para ver un subconjunto del intervalo de tiempo original. Recorte de pantalla de las ejecuciones de reglas analíticas a lo largo del tiempo en el libro de análisis de estado.
  • Filtre el resto de la página por motivos.
  • Consulte el número total de ejecuciones de todas las reglas de análisis, que se muestran proporcionalmente por estado en un gráfico circular.
  • A continuación, se muestra una tabla que muestra el número de reglas de análisis únicas que se ejecutaron, desglosadas por tipo de regla y estado.
    • Seleccione un estado para filtrar los demás gráficos que correspondan a ese estado.
    • Borre el filtro seleccionando el icono "Borrar selección" (parece un icono "Deshacer") en la esquina superior derecha del gráfico. Recorte de pantalla del número de reglas ejecutadas por estado y tipo en el libro de análisis de estado.
  • Vea cada estado, con el número de razones posibles para ese estado. (Solo se mostrarán los motivos representados en las ejecuciones en el período de tiempo seleccionado).
    • Seleccione un estado para filtrar los demás gráficos que correspondan a ese estado.
    • Borre el filtro seleccionando el icono "Borrar selección" (parece un icono "Deshacer") en la esquina superior derecha del gráfico. Recorte de pantalla del número de razones únicas por estado en el libro de análisis de estado.
  • A continuación, vea una lista de esos motivos, con el número total de ejecuciones de reglas combinadas y el número de reglas únicas que se ejecutaron.
    • Seleccione un motivo para filtrar los siguientes gráficos por ese motivo.
    • Borre el filtro seleccionando el icono "Borrar selección" (parece un icono "Deshacer") en la esquina superior derecha del gráfico. Recorte de pantalla de ejecuciones de reglas por motivo único en el libro de análisis de estado.
  • Después, se muestra una lista de las reglas de análisis únicas que se ejecutaron, con los resultados y líneas de tendencia más recientes de su éxito y error (en función del estado seleccionado para filtrar la lista).
    • Seleccione una regla para explorar en profundidad y mostrar una nueva tabla con todas las ejecuciones de esa regla (en el período de tiempo seleccionado).
    • Borre esa tabla seleccionando el icono "Borrar selección" (parece un icono "Deshacer") en la esquina superior derecha del gráfico. Recorte de pantalla de la lista de reglas únicas ejecutadas, con estado y líneas de tendencia, en el libro de análisis de estado.
  • Si selecciona una regla en la lista, aparecerá una nueva tabla con los detalles de estado de la regla seleccionada. Recorte de pantalla de la lista de ejecuciones de la regla de análisis seleccionada, en el libro de análisis de estado.

Use la pestaña Auditoría para revisar los cambios en las reglas de análisis.

La pestaña Auditoría le permite explorar en profundidad eventos de auditoría concretos.

Recorte de pantalla de la selección de la pestaña de auditoría en el libro de análisis de estado.

  • Filtra los datos completos de la página por tipo de regla de auditoría (programada o Fusion, que son reglas basadas en correlación que detectan ataques multietapa).
  • Consulte las tendencias de la actividad auditada en las reglas de análisis durante el período de tiempo seleccionado. Puede usar el "pincel de tiempo" en el gráfico de tendencias para ver un subconjunto del intervalo de tiempo original. Recorte de pantalla de la actividad de auditoría de tendencias en el libro de análisis de estado.
  • Consulte el número de eventos auditados, desglosados por tipo de actividad y regla.
    • Seleccione una actividad para filtrar los siguientes gráficos para esa actividad.
    • Borre el filtro seleccionando el icono "Borrar selección" (parece un icono "Deshacer") en la esquina superior derecha del gráfico. Recorte de pantalla del número de eventos de auditoría por actividad y tipo en el libro de análisis de estado.
  • Consulte el número de eventos auditados por nombre de regla.
    • Seleccione un nombre de regla para filtrar la tabla siguiente para esa regla y explorar en profundidad y mostrar una nueva tabla con toda la actividad de esa regla (en el período de tiempo seleccionado). (Vea después de la siguiente captura de pantalla).
    • Borre el filtro seleccionando el icono "Borrar selección" (parece un icono "Deshacer") en la esquina superior derecha del gráfico. Recorte de pantalla de los eventos auditados por nombre de regla y autor de la llamada en el libro de análisis de estado.
  • Ver el número de eventos auditados por autor de llamada (la identidad que realizó la actividad).
  • Si seleccionó un nombre de regla en el gráfico anterior, aparece otra tabla que muestra las actividades auditadas en esa regla. Seleccione el valor que aparece como vínculo en la columna ExtendedProperties para abrir un panel lateral que muestre los cambios realizados en la regla. Recorte de pantalla de la actividad de auditoría para la regla seleccionada en el libro de trabajo de análisis de estado.