Administración de analizadores del modelo de información de seguridad avanzada (ASIM)

Los usuarios del modelo de información de seguridad avanzada (ASIM) usan analizadores de unificación en lugar de nombres de tabla en sus consultas para ver los datos en un formato normalizado y obtener todos los datos relevantes para el esquema en una sola consulta. Cada analizador de unificación usa varios analizadores específicos del origen que controlan los detalles específicos de cada origen.

Para entender cómo encajan los analizadores dentro de la arquitectura ASIM, consulta la sección de componentes ASIM en el diagrama de arquitectura ASIM.

Es posible que tenga que administrar los analizadores específicos de origen que usa cada analizador de unificación para:

  • Agregue un analizador personalizado específico del origen a un analizador unificador.

  • Reemplazar un analizador integrado específico para la fuente utilizado por un analizador unificador por un analizador personalizado específico para la fuente. Reemplace los analizadores integrados cuando desee:

    • Use una versión del analizador integrado que no sea la que se usa de forma predeterminada en el analizador de unificación.

    • Evite las actualizaciones automatizadas conservando la versión del analizador específico de origen usado por el analizador de unificación.

    • Use una versión modificada de un analizador integrado.

  • Configure un analizador específico del origen, por ejemplo, para definir los orígenes que envían información relevante para el analizador.

Este artículo le guía en la gestión de los analizadores específicos de la fuente que utilizan los analizadores unificados.

Requisitos previos

Los procedimientos de este artículo dan por hecho que todos los analizadores específicos de la fuente ya se han implementado en el área de trabajo de Microsoft Sentinel.

Para las instrucciones de despliegue, consulta la sección Desplegar analizadores en Desarrollar analizadores ASIM.

Administración de analizadores de unificación integrados

Dado que los analizadores unificadores integrados no se pueden editar directamente, se gestionan mediante la implementación de analizadores unificadores personalizados, la adición o exclusión de analizadores específicos de la fuente y el uso de listas de seguimiento para controlar el comportamiento de los analizadores.

Configurar el área de trabajo

Los usuarios de Microsoft Sentinel no pueden editar los analizadores unificados integrados. En su lugar, use los mecanismos siguientes para modificar el comportamiento de los analizadores de unificación integrados:

  • Para admitir la adición de analizadores específicos de origen, ASIM usa analizadores unificadores personalizados. Estos analizadores personalizados se implementan en el área de trabajo y, por tanto, se pueden editar. Los analizadores integrados de unificación detectan automáticamente estos analizadores personalizados, si existen.

    Puede implementar analizadores personalizados iniciales, vacíos y unificados en su área de trabajo de Microsoft Sentinel para todos los esquemas compatibles o de forma individual para esquemas específicos. Para más información, vea Implementación de analizadores de unificación personalizados vacíos de ASIM iniciales en el repositorio de Microsoft Sentinel en GitHub.

  • Para permitir la exclusión de analizadores integrados específicos del origen, ASIM usa una lista de seguimiento. Implemente la lista de seguimiento en su espacio de trabajo de Microsoft Sentinel desde la plantilla de implementación de lista de seguimiento de ASIM de Microsoft Sentinel en GitHub.

  • Para definir el tipo de fuente para los analizadores predefinidos y personalizados, ASIM usa una lista de seguimiento. Implemente la lista de seguimiento en su espacio de trabajo de Microsoft Sentinel desde la plantilla de implementación de lista de seguimiento de ASIM de Microsoft Sentinel en GitHub.

Adición de un analizador personalizado a un analizador de unificación integrado

Para agregar un analizador personalizado, inserte una línea en el analizador de unificación personalizado para hacer referencia al nuevo analizador personalizado.

Asegúrate de añadir tanto un analizador personalizado de filtrado (uno que acepte parámetros de filtrado para optimizar el rendimiento) como un analizador personalizado sin parámetros (uno que devuelva todos los resultados sin parámetros de filtrado). Para obtener más información sobre cómo editar analizadores sintácticos, consulte el documento Funciones en las consultas de registros de Azure Monitor.

La sintaxis de la línea a añadir es diferente para cada esquema. La siguiente tabla utiliza los parámetros definidos en ParserParams en el archivo correspondiente Parsers/ASim<SchemaName>/Parsers/im<SchemaName>.yaml del repositorio Microsoft Sentinel. Sustituye _parser_name_ por el nombre de la función del analizador específico de tu fuente de filtrado. Utiliza argumentos nombrados para evitar vincular valores a los parámetros incorrectos cuando el orden de declaración difiere.

Antes de añadir una línea, verifica que tu función unificadora personalizada declare los parámetros referenciados y que tu analizador específico de la fuente los acepte. Reenviar pack=pack solo si el analizador específico del código fuente lo permite. Si tu función unificadora personalizada declara disabled, también reenvía disabled=disabled a analizadores específicos de la fuente que la soporten, incluso cuando no esté incluida en la fila del esquema que aparece abajo.

Esquema Analizador Línea que se agregará
AgentEvent Im_AgentEventCustom _parser_name_ (starttime=starttime, endtime=endtime, agentid_has_any=agentid_has_any, agentname_has_any=agentname_has_any, username_has_any=username_has_any, pack=pack)
AlertEvent Im_AlertEventCustom _parser_name_ (starttime=starttime, endtime=endtime, ipaddr_has_any_prefix=ipaddr_has_any_prefix, hostname_has_any=hostname_has_any, username_has_any=username_has_any, attacktactics_has_any=attacktactics_has_any, attacktechniques_has_any=attacktechniques_has_any, threatcategory_has_any=threatcategory_has_any, alertverdict_has_any=alertverdict_has_any, eventseverity_has_any=eventseverity_has_any, pack=pack)
Entidad de activo Im_AssetEntityCustom _parser_name_ (starttime=starttime, endtime=endtime, entityid_has_any=entityid_has_any, entityname_has_any=entityname_has_any, assettype_in=assettype_in, path_has_any=path_has_any, assetowner_has_any=assetowner_has_any, entitysource_has_any=entitysource_has_any, pack=pack)
AuditEvent Im_AuditEventCustom _parser_name_ (starttime=starttime, endtime=endtime, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, actorusername_has_any=actorusername_has_any, operation_has_any=operation_has_any, eventtype_in=eventtype_in, eventresult=eventresult, object_has_any=object_has_any, newvalue_has_any=newvalue_has_any, pack=pack)
Autenticación Im_AuthenticationCustom _parser_name_ (starttime=starttime, endtime=endtime, username_has_any=username_has_any, targetappname_has_any=targetappname_has_any, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, srchostname_has_any=srchostname_has_any, eventtype_in=eventtype_in, eventresultdetails_in=eventresultdetails_in, eventresult=eventresult, pack=pack)
DhcpEvent Im_DhcpEventCustom _parser_name_ (starttime=starttime, endtime=endtime, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, srchostname_has_any=srchostname_has_any, srcusername_has_any=srcusername_has_any, eventresult=eventresult, disabled=disabled, pack=pack)
Dns Im_DnsCustom _parser_name_ (starttime=starttime, endtime=endtime, srcipaddr=srcipaddr, domain_has_any=domain_has_any, responsecodename=responsecodename, response_has_ipv4=response_has_ipv4, response_has_any_prefix=response_has_any_prefix, eventtype=eventtype, pack=pack)
FileEvent Im_FileEventCustom _parser_name_ (starttime=starttime, endtime=endtime, eventtype_in=eventtype_in, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, actorusername_has_any=actorusername_has_any, targetfilepath_has_any=targetfilepath_has_any, srcfilepath_has_any=srcfilepath_has_any, hashes_has_any=hashes_has_any, dvchostname_has_any=dvchostname_has_any, disabled=disabled, pack=pack)
NetworkSession Im_NetworkSessionCustom _parser_name_ (starttime=starttime, endtime=endtime, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, dstipaddr_has_any_prefix=dstipaddr_has_any_prefix, ipaddr_has_any_prefix=ipaddr_has_any_prefix, dstportnumber=dstportnumber, hostname_has_any=hostname_has_any, dvcaction=dvcaction, eventresult=eventresult, pack=pack)
ProcessEvent Im_ProcessEventCustom _parser_name_ (starttime=starttime, endtime=endtime, commandline_has_any=commandline_has_any, commandline_has_all=commandline_has_all, commandline_has_any_ip_prefix=commandline_has_any_ip_prefix, actingprocess_has_any=actingprocess_has_any, targetprocess_has_any=targetprocess_has_any, parentprocess_has_any=parentprocess_has_any, actorusername_has=actorusername_has, targetusername_has=targetusername_has, dvcipaddr_has_any_prefix=dvcipaddr_has_any_prefix, dvchostname_has_any=dvchostname_has_any, hashes_has_any=hashes_has_any, eventtype=eventtype)
Evento del registro Im_RegistryEventCustom _parser_name_ (starttime=starttime, endtime=endtime, eventtype_in=eventtype_in, actorusername_has_any=actorusername_has_any, registrykey_has_any=registrykey_has_any, registryvalue_has_any=registryvalue_has_any, registrydata_has_any=registrydata_has_any, dvchostname_has_any=dvchostname_has_any, disabled=disabled, pack=pack)
Gestión de usuarios Im_UserManagementCustom _parser_name_ (starttime=starttime, endtime=endtime, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, targetusername_has_any=targetusername_has_any, actorusername_has_any=actorusername_has_any, eventtype_in=eventtype_in, pack=pack)
WebSession Im_WebSessionCustom _parser_name_ (starttime=starttime, endtime=endtime, srcipaddr_has_any_prefix=srcipaddr_has_any_prefix, ipaddr_has_any_prefix=ipaddr_has_any_prefix, url_has_any=url_has_any, httpuseragent_has_any=httpuseragent_has_any, eventresultdetails_in=eventresultdetails_in, eventresult=eventresult, eventresultdetails_has_any=eventresultdetails_has_any, disabled=disabled, pack=pack)

Al añadir un analizador adicional a un analizador personalizado unificado que ya hace referencia a otros analizadores, asegúrese de añadir una coma al final de la línea anterior.

Por ejemplo, el siguiente código se muestra Im_DnsCustom tras añadir added_parser. Ambos analizadores específicos de la fuente en este ejemplo aceptan disabled y pack, y la función unificadora personalizada declara ambos parámetros. La union isfuzzy=true afirmación combina los resultados de los analizadores existentes y nuevos. Puede tolerar la ausencia de una fuente de unión si se resuelve otra fuente, pero no suprime todos los errores de consulta ni valida el reenvío de parámetros:

union isfuzzy=true
existing_parser(starttime=starttime, endtime=endtime, srcipaddr=srcipaddr, domain_has_any=domain_has_any, responsecodename=responsecodename, response_has_ipv4=response_has_ipv4, response_has_any_prefix=response_has_any_prefix, eventtype=eventtype, disabled=disabled, pack=pack),
added_parser(starttime=starttime, endtime=endtime, srcipaddr=srcipaddr, domain_has_any=domain_has_any, responsecodename=responsecodename, response_has_ipv4=response_has_ipv4, response_has_any_prefix=response_has_any_prefix, eventtype=eventtype, disabled=disabled, pack=pack)

Uso de una versión modificada de un analizador integrado

Para modificar un analizador específico del origen integrado existente:

  1. Cree un analizador personalizado basado en el analizador original y añada el analizador personalizado al analizador unificador integrado. Puedes utilizar la versión del analizador ASIM implementada en el espacio de trabajo como punto de partida.

  2. Agregue un registro a la ASim Disabled Parsers lista de seguimiento.

  3. Defina el CallerContext valor como Exclude<parser name>, donde <parser name> es el nombre de los analizadores de unificación de los que desea excluir el analizador.

  4. Defina el SourceSpecificParser valor Exclude<parser name>, donde <parser name>es el nombre del analizador que desea excluir, sin un especificador de versión.

Por ejemplo, para excluir el analizador de DNS de Azure Firewall, agregue el registro siguiente a la lista de reproducción:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

Impedir una actualización automatizada de un analizador integrado

Para anclar un analizador específico del origen integrado a una versión específica y evitar actualizaciones automáticas, complete estos pasos:

  1. Agregue la versión integrada del analizador que desea usar, como _Im_Dns_AzureFirewallV02, al analizador de unificación personalizado. Para obtener más información, vea Agregar un analizador personalizado a un analizador integrado.

  2. Agregue una excepción para el analizador integrado. Por ejemplo, si desea excluir completamente las actualizaciones automáticas y, por lo tanto, excluir un gran número de analizadores integrados, agregue lo siguiente:

  • Un registro con Any como campo SourceSpecificParser, para excluir todos los analizadores de CallerContext.
  • Un registro para Any en CallerContext y los campos SourceSpecificParser para excluir todos los analizadores integrados.

Para detalles sobre cómo excluir analizadores integrados usando la lista de seguimiento, consulte la sección Usar una versión modificada de un analizador integrado .

Configuración de los orígenes pertinentes para un analizador específico del origen

Algunos analizadores requieren que actualice la lista de orígenes que son relevantes para el analizador. Por ejemplo, es posible que un analizador que usa datos de Syslog no pueda determinar qué eventos de Syslog son relevantes para el analizador. Este analizador puede usar la Sources_by_SourceType lista de reproducción para determinar qué orígenes envían información relevante para el analizador. Para esos análisis sintácticos, añada una entrada para cada fuente pertinente a la lista de seguimiento:

  • Establezca el campo SourceType en el valor específico del analizador indicado en la documentación del analizador.
  • Establezca el Source campo en el identificador del origen usado en los eventos. Es posible que tenga que consultar la tabla original, como Syslog, para determinar el valor correcto.

Si el sistema no tiene implementada la Sources_by_SourceType lista de seguimiento, impleméntela en el área de trabajo de Microsoft Sentinel a partir de la plantilla de implementación de listas de seguimiento de ASIM de GitHub.

Más información sobre los analizadores de ASIM:

Obtenga más información sobre ASIM en general: