Auditar y realizar un seguimiento de los cambios en las tareas de incidentes en Microsoft Sentinel
Las tareas de incidentes garantizan un tratamiento integral y uniforme de los incidentes en todo el personal del SOC. Por lo general, las listas de tareas se definen de acuerdo con las determinaciones realizadas por analistas sénior o administradores de SOC, y se ponen en práctica mediante reglas de automatización o cuadernos de estrategias.
Sus analistas pueden ver la lista de tareas que deben realizar para un incidente determinado en la página de detalles del incidente y marcarlas como completadas según su progreso. Los analistas también pueden crear sus propias tareas en el lugar, de forma manual, directamente desde dentro del incidente.
En este artículo se explica cómo, como administrador de SOC, puede auditar el historial de las tareas de incidentes de Microsoft Sentinel y realizar un seguimiento de los cambios realizados a lo largo de su ciclo de vida, con el fin de medir la eficacia de las asignaciones de tareas y su contribución a la eficiencia del SOC y el funcionamiento correcto.
Estructura de la matriz Taras en la tabla SecurityIncident
La tabla SecurityIncident es una tabla de auditoría; no almacena los propios incidentes, sino los registros de la vida de un incidente: su creación y los cambios realizados en él. Cada vez que se crea un incidente o se realiza un cambio en un incidente, se genera un registro en esta tabla que muestra el estado actual del incidente.
La adición de detalles de tareas al esquema de esta tabla permite auditar las tareas con mayor profundidad.
La información detallada agregada al campo Tareas consta de pares clave-valor que toman la siguiente estructura:
Clave | Descripción del valor |
---|---|
createdBy | La identidad que ha creado la tarea: - email: correo electrónico de la identidad - name: nombre de la identidad - objectId: GUID de la identidad - userPrincipalName: UPN de la identidad |
createdTimeUtc | Hora en que se ha creado la tarea, en UTC. |
lastCompletedTimeUtc | Hora en que la tarea se ha marcado como completada, en UTC. |
lastModifiedBy | Identidad que ha modificado por última vez la tarea: - email: correo electrónico de la identidad - name: nombre de la identidad - objectId: GUID de la identidad - userPrincipalName: UPN de la identidad |
lastModifiedTimeUtc | Hora en que se ha modificado por última vez la tarea, en UTC. |
status | Estado actual de la tarea: Nuevo, Completado, Eliminado. |
taskId | Identificador de recurso de la tarea. |
title | Nombre descriptivo dado a la tarea por su creador. |
Visualización de tareas de incidentes en la tabla SecurityIncident
Además del libro Tareas de incidentes, puede auditar la actividad de tareas consultando la tabla SecurityIncident en Registros. En el resto de este artículo, se muestra cómo realizar el proceso y también cómo leer y comprender los resultados de la consulta para obtener información sobre la actividad de tareas.
En la página Registros, escriba la consulta siguiente en la ventana de consulta y ejecútela. Esta consulta devolverá todos los incidentes que tengan asignadas las tareas.
SecurityIncident | where array_length( Tasks) > 0
Puede agregar cualquier número de instrucciones a la consulta para filtrar y restringir los resultados. Para demostrar cómo ver y comprender los resultados, vamos a agregar instrucciones para filtrar los resultados de modo que solo veamos las tareas de un único incidente y también agregaremos una instrucción
project
para que veamos solo los campos que serán útiles para nuestros propósitos, sin mucho desorden.Más información sobre el uso del lenguaje de consulta Kusto.
SecurityIncident | where array_length( Tasks) > 0 | where IncidentNumber == "405211" | sort by LastModifiedTime desc | project IncidentName, Title, LastModifiedTime, Tasks
Echemos un vistazo al registro más reciente de este incidente y busquemos la lista de tareas asociadas a él.
Seleccione el ampliador situado junto a la fila superior de los resultados de la consulta (que se han ordenado en orden descendente según su actualidad).
El campo Tareas es una matriz del estado actual de todas las tareas de este incidente. Seleccione el ampliador para ver cada elemento de la matriz en su propia fila.
Ahora verá que hay dos tareas en este incidente. Cada una se representa a su vez mediante una matriz expandible. Seleccione el ampliador de una sola tarea para ver su información.
Aquí verá los detalles de la primera tarea de la matriz ("0" siendo la posición de índice de la tarea en la matriz). El campo de título muestra el nombre de la tarea tal como se muestra en el incidente.
Visualización de tareas agregadas a la lista
Vamos a agregar una tarea al incidente y, después, volveremos aquí, ejecutaremos la consulta de nuevo y veremos los cambios en los resultados.
En la página Incidentes, escriba el número de identificador de incidente en la barra de búsqueda.
Abra la página de detalles del incidente y seleccione Tareas en la barra de herramientas.
Agregue una nueva tarea, asígnele el nombre "¡Esta es una tarea de prueba!" y, después, seleccione Guardar. La última tarea que se muestra a continuación es la que debe terminar con:
Ahora vamos a volver a la página Registros y ejecutar la consulta otra vez.
En los resultados, verá que hay un nuevo registro en la tabla para este mismo incidente (tenga en cuenta las marcas de tiempo). Expanda el registro y verá que, mientras que el registro que vimos antes tenía dos tareas en su matriz Tareas, la nueva tiene tres. La tarea más reciente es la que acabamos de agregar, como puede ver por su título.
Visualización de los cambios de estado en las tareas
Ahora, si volvemos a esa nueva tarea en la página de detalles del incidente y la marcamos como completada y, después, vamos a Registros y volvemos a ejecutar la consulta, veremos otro nuevo registro para el mismo incidente, esta vez mostrando el nuevo estado de la tarea como Completado.
Visualización de la eliminación de tareas
Volvamos a la lista de tareas de la página de detalles del incidente y eliminemos la tarea agregada anteriormente.
Cuando volvamos a Registros y ejecutemos la consulta una vez más, veremos otro nuevo registro, solo que, esta vez, el estado de nuestra tarea (la que se llama "¡Esta es una tarea de prueba!") será Eliminada.
Sin embargo, después de que la tarea haya aparecido una vez en la matriz (con un estado Eliminada), ya no aparecerá en la matriz Tareas en los registros nuevos para ese incidente en la tabla SecurityIncident. Los registros existentes, como los que vimos anteriormente, seguirán conservando la evidencia de que esta tarea ha existido una vez.
Visualización de tareas activas que pertenecen a un incidente cerrado
La consulta siguiente le permite ver si se ha cerrado un incidente, pero no todas sus tareas asignadas se completaron. Este conocimiento puede ayudarle a comprobar que los extremos sueltos restantes de su investigación han conllevado a una conclusión: todas las partes pertinentes fueron notificadas, se han especificado todos los comentarios, se han comprobado todas las respuestas, etc.
SecurityIncident
| summarize arg_max(TimeGenerated, *) by IncidentNumber
| where Status == 'Closed'
| mv-expand Tasks
| evaluate bag_unpack(Tasks)
| summarize arg_max(lastModifiedTimeUtc, *) by taskId
| where status !in ('Completed', 'Deleted')
| project TaskTitle = ['title'], TaskStatus = ['status'], createdTimeUtc, lastModifiedTimeUtc = column_ifexists("lastModifiedTimeUtc", datetime(null)), TaskCreator = ['createdBy'].name, lastModifiedBy, IncidentNumber, IncidentOwner = Owner.userPrincipalName
| order by lastModifiedTimeUtc desc
Pasos siguientes
- Obtenga más información sobre las tareas de incidentes.
- Aprenda cómoInvestigar incidentes.
- Obtenga información sobre cómo agregar tareas a grupos de incidentes automáticamente mediante reglas de automatización o cuadernos de estrategias y cuándo usar.
- Obtenga más información sobre reglas de automatización y cómo crearlas.
- Obtenga más información sobre los cuadernos de estrategias y cómo crearlos.