Cómo usar extensiones de analizadores

Compatible con:

Google Security Operations proporciona múltiples métodos para definir cómo se analizarse y normalizarse en un registro de Modelo de datos unificado (UDM).

  • Sin embargo, los analizadores predeterminados son instrucciones de asignación de datos precompiladas que administra Google Security Operations y que asignan los datos de registro sin procesar originales a los campos de la UDM.
  • Analizadores personalizados: instrucciones de asignación de datos personalizadas creadas y administradas por un que satisfaga sus necesidades específicas de análisis de datos.
  • Extensiones de analizadores: son instrucciones adicionales de asignación de datos que extienden una configuración analizador personalizado para asignar campos adicionales en el registro sin procesar original. Esto no reemplazar por completo un analizador predeterminado o personalizado, pero extiende las instrucciones de asignación existentes en un analizador predeterminado o personalizado.

En este documento, se describe cómo usar las extensiones del analizador.

Antes de comenzar

En los siguientes documentos, se explican los conceptos de los requisitos previos que son importantes saber cuando trabajas con extensiones de analizadores:

Información acerca de las extensiones de analizadores

Una extensión de analizador te permite crear instrucciones de asignación adicionales, más allá las definidas en un analizador predeterminado o personalizado para satisfacer un caso de uso único. Esta está diseñada para extender un analizador predeterminado o personalizado existente. Una extensión de analizador no reemplaza un analizador predeterminado o personalizado. No puedes crear un analizador nuevo con una extensión de analizador.

La extensión del analizador lee el registro sin procesar original y lo inserta los valores extraídos en campos específicos en el registro UDM. El registro UDM contiene datos que establecen el analizador predeterminado o el personalizado y la extensión del analizador.

Las instrucciones de asignación de datos en una extensión de analizador tienen prioridad sobre las de un analizador predeterminado o personalizado. Si hay un conflicto en las instrucciones de asignación, la extensión del analizador reemplazará un valor establecido por el analizador predeterminado o personalizado. Por ejemplo, si el analizador predeterminado se asigna un campo de registro sin procesar al campo de UDM event.metadata.description y la extensión del analizador asigna un campo de registro sin procesar diferente al mismo campo de UDM, Luego, la extensión del analizador reemplazará el valor establecido por el analizador predeterminado. Una excepción son los campos repetidos. Puedes configurar la extensión del analizador para que agregue valores cuando escribas datos en un campo repetido.

Crea una extensión de analizador por tipo de registro. Cada tipo de registro se identifica con una etiqueta de transferencia única. Consulta Analizador predeterminado admitido para obtener una lista de los tipos de registros.

Para crear una extensión de analizador, Google Security Operations debe poder hacer lo siguiente: transferir y normalizar los registros originales sin procesar con una configuración de datos. La extensión del analizador extrae datos adicionales del registro sin procesar original y, luego, los combina en el registro de la AUA.

Las extensiones del analizador admiten los siguientes tipos de instrucciones de asignación:

  • Tipo de fragmento de código: El código del analizador se escribe de manera similar a los analizadores predeterminados y personalizados. Los registros sin procesar originales pueden estar en cualquiera de los formatos de datos admitidos. para el tipo de registro.
  • Tipo de campo de datos: Especificas los campos de origen y destino en la interfaz de la aplicación. Los registros sin procesar originales deben tener uno de los siguientes formatos:
    • JSON nativo, XML nativo o CSV.
    • Encabezado Syslog más JSON nativo, XML nativo o CSV. Puedes crear una instrucción de asignación de tipo de campo de datos para un subconjunto de registros Tipos en Analizadores predeterminados admitidos. Busca los que tengan los formatos JSON, XML, CSV, SYSLOG + JSON, SYSLOG + XML y SYSLOG + CSV.

Ten en cuenta lo siguiente cuando crees una extensión de analizador:

  • Los datos se pueden asignar a cualquier campo de la AUA que admita los tipos de datos estándar y los valores repetidos.
  • No puedes asignar datos a los siguientes campos del UDM:
    • event.idm.read_only_udm.additional
    • event.idm.graph.entity.additional
  • Antes de crear una instrucción de asignación de datos, asegúrate de que tu cuenta de Google Security Operations haya transferido los registros originales sin procesar en los últimos 30 días para el tipo de registro, y que estos registros sin procesar contengan el campo que planeas definir en los criterios de condición previa. Estos registros originales sin procesar se usan para validar las instrucciones de asignación de datos.
  • Una vez que se publique una extensión de analizador, comenzará a analizar los datos entrantes. Tú los datos de registro sin procesar de forma retroactiva.

Ciclo de vida de una extensión de analizador

Las extensiones del analizador tienen un ciclo de vida con los siguientes estados:

  • DRAFT: Es una extensión de analizador recién creada que aún no se envió.
  • VALIDATING: Google Security Operations valida las instrucciones de asignación en función de los registros sin formato existentes para garantizar que los campos se analicen sin errores.
  • LIVE: La extensión del analizador pasó la validación y ahora está en producción. Sí extraer y transformar datos de registros entrantes sin procesar en registros UDM.
  • FAILED: No se pudo validar la extensión del analizador.

Abre la página Extensiones del analizador.

Sigue los pasos de una de las siguientes secciones para acceder a la página Parser Extensions.

Cómo comenzar desde la barra de navegación

  1. En la barra de navegación, selecciona Settings, SIEM Settings y, luego, Parsers.
  2. Identifica el tipo de registro que deseas extender en la tabla Parsers.
  3. Navega a esa fila y, luego, haz clic en el menú .
  4. Haz clic en Create Extension.
  1. Usa la Búsqueda de registros sin procesar para buscar para registros similares a los que se analizarán.
  2. Selecciona un evento desde Eventos > Panel de cronograma.
  3. Expande el panel Event Data.
  4. Haz clic en el botón Manage Parser.
  5. En el cuadro de diálogo Manage Parser, selecciona Create Extension y, luego, haz clic en Next. La página Parser Extensions se abre en el modo de edición. Puedes comenzar a definir de codificador-decodificador.

Crea una nueva extensión del analizador

En esta sección, se describe cómo crear una extensión de analizador después de que abre la página Extensiones del analizador. Los campos disponibles en la página Parser Extensions serán diferentes en función en la estructura del registro sin procesar.

  1. Revisa el ejemplo de signo sin procesar en el panel Raw Log para confirmar que esté representativo de los registros que procesará la extensión del analizador. Usa el registro sin procesar de ejemplo como referencia cuando crees la extensión del analizador.

    • Si navegaste a la página Parser Extensions desde Raw Log Search, muestra el registro original sin procesar que seleccionaste en los resultados de la búsqueda.

    • Si navegaste a la página Parser Extensions en la barra de navegación, se mostrará un registro sin procesar de muestra para ese tipo de registro.

  2. Elige el Método de extensión. Selecciona una de las siguientes opciones:

    • Asignar campos de datos: Crea una asignación de campos de datos. Usa los campos de la aplicación para definir el campo de registro sin procesar original y el campo UDM de destino.

    • Escribir un fragmento de código: Crea un fragmento de código para todos los elementos compatibles. formatos de registro. El fragmento de código usa la misma sintaxis del analizador que los analizadores predeterminados y personalizados. Para obtener más información sobre la sintaxis del analizador, consulta Sintaxis del analizador.

Continúa con una de las siguientes subsecciones específicas del Método de extensión seleccionado.

Crea una instrucción de asignación de campos de datos

Crea una instrucción de asignación de campos de datos cuando los registros sin procesar entrantes están en formato JSON, XML, CSV, encabezado de Syslog más JSON, encabezado de Syslog más XML o encabezado de Syslog más CSV. Define la ruta de acceso al campo original y el campo UDM de destino en la instrucción de asignación de datos.

  1. En el selector Repeated Fields (Campos repetidos), especifica cómo guarda un valor la extensión del analizador. a los campos que admiten un array de valores.

    • Agregar valores: El valor se agrega al conjunto existente de valores almacenados. en el campo.
    • Reemplazar valores (Replace Values): El valor reemplaza todos los valores almacenados previamente por el valor nuevo.

    Algunos campos de UDM, como principal.ip y entity.asset.hostname, almacenar un array de valores. Estos campos repetidos se identifican con la etiqueta repeated en el Lista de campos del modelo de datos unificados. Para obtener información más detallada, consulta el selector de campos repetidos.

  2. Si aparecen los campos Syslog y Target, Google Security Operations detectó que el registro sin procesar incluye un encabezado Syslog.

    Si Google Security Operations identifica que el registro sin procesar de ejemplo no es nativo JSON, XML nativo o CSV, y tiene un encabezado Syslog; muestra Syslog y Target. Usa los siguientes campos para definir un Grok y patrones de expresión regular que realicen el procesamiento previo. el encabezado Syslog y extrae la porción estructurada del encabezado registro. La parte estructurada del registro se puede asignar usando campos de datos.

    • Campo Syslog: Especifica el patrón de extracción, con Grok y expresiones regulares, que identifica el encabezado de Syslog y el mensaje de registro sin procesar.
    • Campo Target: Especifica el nombre de la variable en el patrón de extracción que almacena la parte estructurada del registro.

    Para obtener información sobre cómo definir un patrón de extracción usando Grok y consulta Define los campos del extractor Syslog.

    En la siguiente imagen, se proporciona un ejemplo de cómo agregar un patrón de extracción y un nombre de variable a los campos Syslog y Destino, respectivamente.

    Campos del extractor syslog

    Los campos Syslog y Target son obligatorios y funcionan en conjunto para separaba el encabezado Syslog de la parte estructurada del registro.

  3. Después de ingresar los valores en los campos Syslog y Target, haga clic en el botón Validate. El proceso de validación comprueba si hay errores de sintaxis y de análisis, luego muestra cualquiera de las siguientes opciones:

    • Listo. Se muestran los campos de asignación de datos. Define el resto de la extensión del analizador.
    • Error: aparecerá un mensaje de error. Corrige la condición de error antes de continuar.
  4. De manera opcional, define una instrucción de condición previa.

    La instrucción de condición previa identifica solo un subconjunto de registros sin procesar originales que la extensión del analizador procesa mediante la coincidencia de un valor estático con un campo del archivo sin procesar registro. Si un registro sin procesar entrante cumple con los criterios de condición previa, es decir, los valores coincidan, la extensión del analizador aplica la instrucción de asignación. Si los valores no coinciden, la extensión del analizador no aplica la instrucción de asignación.

    Completa los siguientes campos:

    • Campo de condición previa: Ingresa la ruta completa al campo si el registro formato de datos es JSON o XML, o la posición de la columna si los datos formato es CSV.
    • Operador de condición previa: Selecciona EQUALS o NOT EQUALS.
    • Precondition Value: Ingresa el valor que debe coincidir con los datos de la Campo de condición previa.
  5. Define la instrucción de asignación de datos:

    • Campo de datos sin procesar: Ingresa la ruta de acceso completa al campo si el registro formato de datos es JSON o XML, o la posición de la columna si los datos formato es CSV.
    • Campo de destino: Ingresa el nombre del campo de UDM completamente calificado donde el valor se almacenará, por ejemplo, udm.metadata.collected_timestamp.seconds.
  6. Haz clic en Submit para guardar la instrucción de asignación.

  7. Google Security Operations valida la instrucción de mapeo.

    • Si el proceso de validación se realiza correctamente, el estado cambia a En vivo y la asignación de registro comienza a procesar los datos de registro entrantes.
    • Si el proceso de validación falla, el estado cambia a Fallido y se produce un error: que se muestra en el campo Registro sin procesar.

    El siguiente es un ejemplo de error de validación.

    ERROR: generic::unknown: pipeline.ParseLogEntry failed: LOG_PARSING_CBN_ERROR:
    "generic::invalid_argument: pipeline failed: filter mutate (7) failed: copy failure:
    copy source field \"jsonPayload.dest_instance.region\" must not be empty
    (try using replace to provide the value before calling copy)
    
    "LOG: {"insertId":"14suym9fw9f63r","jsonPayload":{"bytes_sent":"492",
    "connection":{"dest_ip":"10.12.12.33","dest_port":32768,"protocol":6,
    "src_ip":"10.142.0.238","src_port":22},"end_time":"2023-02-13T22:38:30.490546349Z",
    "packets_sent":"15","reporter":"SRC","src_instance":{"project_id":"example-labs",
    "region":"us-east1","vm_name":"example-us-east1","zone":"us-east1-b"},
    "src_vpc":{"project_id":"example-labs","subnetwork_name":"default",
    "vpc_name":"default"},"start_time":"2023-02-13T22:38:29.024032655Z"},
    "logName":"projects/example-labs/logs/compute.googleapis.com%2Fvpc_flows",
    "receiveTimestamp":"2023-02-13T22:38:37.443315735Z","resource":{"labels":
    {"location":"us-east1-b","project_id":"example-labs",
      "subnetwork_id":"00000000000000000000","subnetwork_name":"default"},
      "type":"gce_subnetwork"},"timestamp":"2023-02-13T22:38:37.443315735Z"}
    

Consulta la sección Campos en una instrucción de asignación de datos para ver una lista de todas posibles campos en una extensión del analizador.

Campos en una instrucción de asignación de datos

En esta sección, se describen todos los campos que se pueden configurar en una extensión de analizador.

Nombre del campo Descripción
Registros del sistema Es un patrón definido por el usuario que preprocesa y separa un encabezado de Syslog de la parte estructurada de un registro sin procesar.
Target Nombre de variable en el campo Syslog que almacena la estructurada del registro.
Campo de condición previa Es el identificador de campo en el registro sin procesar que contiene el valor que se comparará. Usado en una instrucción de condición previa.
Operador de condición previa Selecciona EQUALS o NOT EQUALS. Se usa en una instrucción de condición previa.
Valor de condición previa El valor estático que se comparará con el campo de condición previa en el registro sin procesar. Se usa en una instrucción de condición previa.
Campo de datos sin procesar

Se utiliza en una instrucción de mapeo.

Si el formato de datos es JSON, define la ruta al campo, por ejemplo: jsonPayload.connection.dest_ip

Si el formato de datos es XML, define la ruta de acceso completa al campo, por ejemplo: /Event/Reason-Code

Si el formato de datos es CSV, define la posición del índice de la columna. Las posiciones del índice comienzan en 1.

Campo de destino

Se utiliza en una instrucción de mapeo.

Define la ruta de acceso completa al campo de UDM en el que se almacenarán los datos. Por ejemplo:

udm.network.dhcp.opcode

o

graph.entity.asset.hostname

Crear una instrucción de asignación de fragmentos de código

Un fragmento de código usa sintaxis similar a Logstash para definir cómo extraer y transformar valores en el registro original sin procesar y asignarlos al registro UDM. Un fragmento de código usa la misma sintaxis y secciones de la instrucción que un analizador predeterminado o personalizado. Las secciones de un fragmento de código son las siguientes:

  • Sección 1: Extrae los datos del registro original.
  • Sección 2: Transforma los datos extraídos.
  • Sección 3: Asigna uno o más valores a un campo de UDM.
  • Sección 4: Vincula los campos de eventos de UDM a la clave @output.

En el siguiente ejemplo, se ilustra un fragmento de código.

Este es un ejemplo de registro sin procesar:

{
    "insertId": "00000000",
    "jsonPayload": {
        ...section omitted for brevity...
        "packets_sent": "4",
        ...section omitted for brevity...
    },
    "timestamp": "2022-05-03T01:45:00.150614953Z"
}

Este es un fragmento de código de muestra que asigna el valor de jsonPayload.packets_sent a el campo UDM network.sent_bytes.

mutate {
 replace => {
    "jsonPayload.packets_sent" => ""
 }
}

filter {
    # Section 1. extract the data from the original JSON log
    json {
        source => "message"
        array_function => "split_columns"
        on_error => "_not_json"
    }

    if [_not_json] {
        drop {
            tag => "TAG_UNSUPPORTED"
        }

    } else {
        # Section 2. transform the extracted data
        if [jsonPayload][packets_sent] not in ["",0] {
            mutate {
                convert => {
                    "jsonPayload.packets_sent" => "uinteger"
                }
            }

            # Section 3. assign the value to a UDM field
            mutate {
                copy => {
                    "udm.network.sent_bytes" => "jsonPayload.packets_sent"
                }
                on_error => "_exception"
            }

            if ![_exception] {
                # Section 4. Bind the UDM fields to the @output key
                mutate {
                    merge => {
                        "@output" => "event"
                    }
                }
            }
        }
    }
}
  1. Haz clic en Submit para guardar la instrucción de asignación.

  2. Google Security Operations valida la instrucción de mapeo.

    • Si el proceso de validación se realiza correctamente, el estado cambia a En vivo y la asignación de registro comienza a procesar los datos de registro entrantes.
    • Si el proceso de validación falla, el estado cambia a Fallido y se produce un error: que se muestra en el campo Registro sin procesar.

Cómo ver una extensión del analizador existente

  1. En la barra de navegación, selecciona Settings, SIEM Settings y, luego, Parsers.
  2. En la lista de analizadores, identifica el tipo de registro con una extensión de analizador. Esto se identifica con el texto EXTENSION junto al nombre.
  3. Navega a esa fila y, luego, haz clic en el menú .
  4. Haz clic en Ver extensión.
  5. El analizador View Custom/Prebuilt > Aparecerá la pestaña Extensión con detalles sobre la extensión del analizador. En el panel de resumen, se muestra la extensión del analizador LIVE de forma predeterminada. si hay un

Cómo editar una extensión del analizador

  1. Abre el Analizador personalizado/precompilado > Pestaña Extensión. Consulta Cómo ver una extensión de analizador existente para obtener instrucciones sobre cómo abrir la página.
  2. Haz clic en el botón Edit Extension. Aparecerá la página Parser Extensions.
  3. Edita la extensión de Paser.
    • Para cancelar la edición y descartar los cambios, haz clic en Descartar borrador.
  4. Cuando termines de editar la extensión del analizador, haz clic en Submit.
  5. Si envías el cambio, se ejecutará el proceso de validación para validar la nueva configuración.

Borra una extensión del analizador

  1. Abre el Analizador personalizado/precompilado > Pestaña Extensión. Consulta Ver una extensión de analizador existente para obtener instrucciones. sobre cómo abrir esa página.

  2. Haz clic en el botón Edit Extension. Aparecerá la página Parser Extensions.

  3. Haz clic en el botón Borrar extensión.

Cuando editas la extensión del analizador, puedes borrarla en cualquier momento. Haz clic en cualquiera de las siguientes opciones:

  • Descartar borrador
  • Borrar extensión con errores

Más información sobre el selector de campos repetidos

Algunos campos de la AUA almacenan un array de valores, como principal.ip y Entity.asset.hostname. Si creas una extensión de analizador para almacenar datos en un campo repetido, esta opción te permite controlar si el valor se agrega al array o si reemplaza todos los valores existentes establecidos por el analizador predeterminado. Se identifican los campos repetidos por la etiqueta repetida en la lista de campos del modelo de datos unificado

Si se selecciona Agregar valores (Appends values), la extensión del analizador agrega los valores el valor extraído al array de valores existentes en el campo UDM. Si Reemplaza valores , la extensión del analizador reemplaza el array de valores existentes. en el campo UDM con el valor extraído. El selector Campos repetidos no afectan cómo se almacenan los datos en campos que no se repiten.

Una extensión de analizador puede asignar datos a un campo repetido solo cuando el campo repetido está en el nivel más bajo de la jerarquía. Por ejemplo, la asignación valores a udm.principal.ip porque el campo repetido ip está en el nivel más bajo de la jerarquía y principal no es un campo repetido. No se admite la asignación de valores a udm.intermediary.hostname porque intermediary es un campo repetido y no se encuentra en el nivel más bajo de la jerarquía.

En la siguiente tabla, se proporcionan ejemplos de la configuración de Campos repetidos afecta el registro de UDM generado.

Selección de Campos repetidos Ejemplo de registro Configuración de la extensión del analizador Resultado generado
Anexar valores {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"1.1.1.1, 2.2.2.2"}}} Campo de condición previa: protoPayload.requestMetadata.callerIp
Valor de condición previa: " "
Operador de condición previa: NOT_EQUALS
Campo de datos sin procesar: protoPayload.requestMetadata.callerIp
Campo de destino: event.idm.read_only_udm.principal.ip
metadata:{event_timestamp:{}.....}principal:{Ip:"1.1.1.1, 2.2.2.2"} } }
Agregar valores {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2, 3.3.3.3", "name":"Akamai Ltd"}}} Condición previa 1:
Campo de condición previa:protoPayload.requestMetadata.callerIp
Valor de condición previa: " "
Operador de condición previa: NOT_EQUALS
Campo de datos sin procesar: protoPayload.requestMetadata.callerIp
Campo de destino: event.idm.read_only_udm.principal.ip

Condición previa 2:
Campo de datos sin procesar: protoPayload.requestMetadata.name
Campo de destino: event.idm.read_only_udm.metadata.product_name

Eventos generados por el analizador precompilado antes de aplicar la extensión.
metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

Resultado después de aplicar la extensión.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} .... product_name: "Akamai Ltd"}principal:{ip:"1.1.1.1, 2.2.2.2, 3.3.3.3"}}}

Reemplazar valores {"protoPayload":{"@type":"type..AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2"}}} Campo de condición previa: protoPayload.authenticationInfo.principalEmail
Valor de la condición previa: " "
Operador de condición previa: NOT_EQUALS
Campo de datos sin procesar: protoPayload.authenticationInfo.principalEmail
Campo de destino: event.idm.read_only_udm.principal.ip
Eventos de UDM generados por un analizador compilado previamente antes de aplicar la extensión.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

Resultado de UDM después de aplicar la extensión timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ....} principal:{ip:"2.2.2.2"}}}

Más información sobre los campos del extractor Syslog

Los campos del extractor Syslog te permiten separar el encabezado Syslog de un registro estructurado. definiendo el Grok, la expresión regular, más un token nombrado en el patrón de expresión regular para almacenar el resultado.

Define los campos del extractor Syslog

Los valores en los campos Syslog y Target trabajan en conjunto para definir cómo se de analizadores separa el encabezado Syslog de la parte estructurada de una registro sin procesar. En el campo Syslog, se define una expresión usando una combinación de Sintaxis de grok y de expresión regular. La expresión incluye un nombre de variable que identifica el estructurada del registro sin procesar. En el campo Target, especifica el nombre de esa variable.

En el siguiente ejemplo, se muestra cómo estos campos funcionan juntos.

El siguiente es un ejemplo de registro sin procesar:

<13>1 2022-09-14T15:03:04+00:00 fieldname fieldname - - - {"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

El registro sin procesar contiene las siguientes secciones:

  • Encabezado Syslog: <13> 2022-09-14T15:03:04+00:00 fieldname fieldname - - -

  • Evento con formato JSON: {"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

Para separar el encabezado de Syslog de la parte JSON del registro sin procesar, usa la siguiente expresión de ejemplo en el campo Syslog: %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg}

  • Esta parte de la expresión identifica el encabezado Syslog: %{TIMESTAMP\_ISO8601} %{WORD} %{WORD} ([- ]+)?
  • Esta parte de la expresión captura el segmento JSON del registro sin procesar: %{GREEDYDATA:msg}

En este ejemplo, se incluye el nombre de variable msg. Tú eliges el nombre de la variable. La extensión del analizador extrae el segmento JSON del registro sin procesar y lo asigna a la variable msg.

En el campo Destino, ingresa el nombre de la variable msg. El valor almacenado en el La variable msg se ingresa en las instrucciones de asignación de campos de datos que creas. en la extensión del analizador.

Con el ejemplo de registro sin procesar, el siguiente segmento se ingresa en la instrucción de asignación de datos:

{"timestamp": "2021-03-14T14:54:40.842152+0000","flow_id": 1885148860701096, "src_ip": "10.11.22.1","src_port": 51972,"dest_ip": "1.2.3.4","dest_port": 55291,"proto": "TCP"}

En la siguiente imagen, se muestran los campos Syslog y Target completados:

Campos del extractor syslog

En la siguiente tabla, se proporcionan ejemplos adicionales con registros de muestra, el patrón de extracción de Syslog, el nombre de la variable Target y el resultado.

Ejemplo de registro sin procesar Campo Syslog Campo de destino Resultado
<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg} msg field_mappings { field: "msg" value: "{\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" }
<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\"} - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"} %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg1} ([- ]+)?%{GREEDYDATA:msg2} msg2 field_mappings { field: "msg2" value: "{\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" }
"<13>1 2022-07-14T15:03:04+00:00 suricata suricata - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\"} - - - {\"timestamp\": \"2021-03-14T14:54:40.842152+0000\",\"flow_id\": 1885148860701096,\"in_iface\": \"enp94s0\",\"event_type\": \"alert\",\"vlan\": 522,\"src_ip\": \"1.1.2.1\",\"src_port\": 51972,\"dest_ip\": \"1.2.3.4\",\"dest_port\": 55291,\"proto\": \"TCP\"}" %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:message} ([- ]+)?%{GREEDYDATA:msg2} msg2 Error - message already exists in state and not overwritable.

Controla el acceso a las extensiones del analizador

Hay nuevos permisos disponibles que controlan quién puede ver y administrar el analizador extensiones. De forma predeterminada, los usuarios con el Administrador. Para obtener más información sobre cómo administrar o la asignación de roles, consulta Control de acceso según la función para obtener más información.

En la siguiente tabla, se resumen los nuevos roles de Google Security Operations.

Función Acción Descripción
Analizador Borrar Borra las extensiones del analizador.
Analizador Editar Crea y edita extensiones de analizador.
Analizador Ver Consulta las extensiones del analizador.