Como usar extensões do analisador

As Operações de segurança do Google oferecem vários métodos para definir como os dados nos registros brutos originais são analisados e normalizados para um registro do Modelo de dados unificado (UDM).

  • Analisadores padrão: instruções de mapeamento de dados pré-criadas gerenciadas pelas Operações de segurança do Google que mapeiam dados de registro brutos originais para campos de UDM.
  • Analisadores personalizados: instruções de mapeamento de dados personalizadas criadas e gerenciadas por um cliente que atendem às necessidades específicas de análise de dados do cliente.
  • Extensões de analisador: outras instruções de mapeamento de dados que estendem um analisador padrão ou personalizado para mapear outros campos no registro bruto original. Isso não substitui completamente um analisador padrão ou personalizado, mas estende as instruções de mapeamento atuais em um analisador padrão ou personalizado.

Este documento descreve como usar extensões do analisador.

Antes de começar

Os documentos a seguir explicam conceitos de pré-requisitos que são importantes saber ao trabalhar com extensões do analisador:

Sobre as extensões do analisador

Uma extensão de analisador permite criar outras instruções de mapeamento além das definidas em um analisador padrão ou personalizado para atender a um caso de uso único. Esse recurso se destina a estender um analisador padrão ou personalizado existente. Uma extensão de analisador não substitui um analisador padrão ou personalizado. Não é possível criar um novo analisador usando uma extensão.

A extensão do analisador lê o registro bruto original e insere os valores extraídos em campos específicos no registro UDM. O registro UDM contém dados definidos pelo analisador padrão ou personalizado e pela extensão do analisador.

As instruções de mapeamento de dados em uma extensão de analisador têm precedência em relação às em um analisador padrão ou personalizado. Se houver um conflito nas instruções de mapeamento, a extensão do analisador substituirá um valor definido pelo analisador padrão ou personalizado. Por exemplo, se o analisador padrão mapear um campo de registro bruto para o campo de UDM event.metadata.description e a extensão do analisador mapear um campo de registro bruto diferente para o mesmo campo de UDM, a extensão do analisador substituirá o valor definido pelo analisador padrão. Uma exceção é com campos repetidos. Você pode configurar a extensão do analisador para anexar valores ao gravar dados em um campo repetido.

Você cria uma extensão de analisador por tipo de registro. Cada tipo de registro é identificado por um rótulo de ingestão exclusivo. Consulte Analisadores padrão compatíveis para ver uma lista de tipos de registro.

Para criar uma extensão de analisador, as Operações de segurança do Google precisam ser capazes de ingerir e normalizar os registros brutos originais usando um analisador padrão ou personalizado. A extensão do analisador extrai mais dados do registro bruto original e os mescla no registro UDM.

As extensões do analisador são compatíveis com os seguintes tipos de instruções de mapeamento:

  • Tipo de snippet de código: você escreve o código do analisador de maneira semelhante aos analisadores padrão e personalizados. Os registros brutos originais podem estar em qualquer um dos formatos de dados compatíveis com o tipo de registro.
  • Tipo de campo de dados: você especifica os campos de origem e destino na interface do aplicativo. Os registros brutos originais precisam ser formatados como um dos seguintes:
    • JSON, XML nativo ou CSV nativo.
    • Cabeçalho syslog e JSON nativo, XML nativo ou CSV. É possível criar uma instrução de mapeamento de tipo de campo de dados para um subconjunto de tipos de registro em Analisadores padrão compatíveis. Procure aqueles com o formato JSON, XML, CSV, SYSLOG + JSON, SYSLOG + XML e SYSLOG + CSV.

Ao criar uma extensão de analisador, tenha em mente o seguinte:

  • Os dados podem ser mapeados para qualquer campo de UDM compatível com os tipos de dados padrão e valores repetidos.
  • Não é possível mapear dados para os seguintes campos do UDM:
    • event.idm.read_only_udm.additional
    • event.idm.graph.entity.additional
  • Antes de criar uma instrução de mapeamento de dados, verifique se a instância do Google Security Operations ingeriu registros brutos originais nos últimos 30 dias para o tipo de registro e se esses registros brutos contêm o campo que você planeja definir nos critérios de pré-condição. Esses registros brutos originais são usados para validar as instruções de mapeamento de dados.
  • Depois que uma extensão de analisador estiver ativa, ela começará a analisar os dados recebidos. Não é possível analisar dados de registro brutos retroativamente.

Ciclo de vida de uma extensão do analisador

As extensões do analisador têm um ciclo de vida com os seguintes estados:

  • DRAFT: extensão de analisador recém-criada que ainda não foi enviada.
  • VALIDATING: as Operações de segurança do Google estão validando as instruções de mapeamento em relação aos registros brutos existentes para garantir que os campos sejam analisados sem erros.
  • LIVE: a extensão do analisador foi aprovada na validação e está em produção. Ela extrai e transforma dados de registros brutos de entrada em registros UDM.
  • FAILED: ocorreu uma falha na validação da extensão do analisador.

Abrir a página "Extensões do analisador"

Realize as etapas em uma das seções a seguir para acessar a página Extensões do analisador.

Iniciar na barra de navegação

  1. Na barra de navegação, selecione Settings, SIEM Settings e, em seguida, Parsers.
  2. Identifique o tipo de registro que você quer estender na tabela Analisadores.
  3. Navegue até essa linha e clique no Menu.
  4. Clique em Criar extensão.
  1. Use a Pesquisa de registros brutos para procurar registros semelhantes àqueles que serão analisados.
  2. Selecione um evento no painel Eventos > Linha do tempo.
  3. Expanda o painel Dados de eventos.
  4. Clique no botão Gerenciar analisador.
  5. Na caixa de diálogo Manage Parser, selecione Create Extension e clique em Next. A página Extensões do analisador é aberta no modo de edição. Comece definindo a extensão do analisador.

Criar uma nova extensão de analisador

Esta seção descreve como criar uma extensão do analisador depois de abrir a página Extensões do analisador. Os campos disponíveis na página Extensões do analisador são diferentes, dependendo da estrutura do registro bruto.

  1. Analise o exemplo de sinal bruto no painel Registro bruto para confirmar que ele representa os registros que a extensão do analisador processará. Use o exemplo de registro bruto como referência ao criar a extensão do analisador.

    • Se você navegar para a página Extensões do analisador em "Pesquisa de registro bruto", o painel exibirá o registro bruto original selecionado nos resultados da pesquisa.

    • Ao acessar a página Extensões do analisador na barra de navegação, um exemplo de registro bruto será exibido.

  2. Escolha o Método de extensão. Selecione uma destas opções:

    • Mapear campos de dados: crie um mapeamento de campo de dados. Use os campos do aplicativo para definir o campo de registro bruto original e o campo de UDM de destino.

    • Gravar snippet de código: crie um snippet de código para todos os formatos de registro compatíveis. O snippet de código usa a mesma sintaxe dos analisadores padrão e personalizado. Para saber mais sobre a sintaxe do analisador, consulte Sintaxe do analisador.

Continue com uma das seguintes subseções específicas do Método de extensão selecionado.

Criar uma instrução de mapeamento do campo de dados

Crie uma instrução de mapeamento de campo de dados quando os registros brutos de entrada estiverem em JSON, XML, CSV, cabeçalho Syslog e JSON, Cabeçalho Syslog e XML ou Cabeçalho Syslog e formato CSV. Defina o caminho para o nome do campo original e o campo do UDM de destino na instrução de mapeamento de dados.

  1. No seletor Repeated Fields, especifique como a extensão do analisador salva um valor em campos que aceitam uma matriz de valores.

    • Anexar valores: o valor é anexado ao conjunto atual de valores armazenado no campo.
    • Substituir valores: o valor substitui todos os valores armazenados anteriormente pelo novo valor.

    Alguns campos do UDM, como principal.ip e entity.asset.hostname, armazenam uma matriz de valores. Esses campos repetidos são identificados pelo rótulo repeated na lista de campos do modelo de dados unificado. Para informações mais detalhadas, consulte Seletor de campos repetidos.

  2. Se os campos Syslog e Target aparecerem, as Operações de segurança do Google detectaram que o registro bruto inclui um cabeçalho Syslog.

    Se o Google Security Operations identificar que o registro bruto de exemplo não é um JSON, XML nativo ou CSV nativo e tem um cabeçalho Syslog, ele exibirá os campos Syslog e Target. Use os campos a seguir para definir um Grok e os padrões de expressão regular que pré-processam o cabeçalho Syslog e extrai a parte estruturada do registro. A parte estruturada do registro pode ser mapeada usando campos de dados.

    • Campo Syslog: especifique o padrão de extração, usando Grok e expressões regulares, que identifica o cabeçalho Syslog e a mensagem de registro bruta.
    • Campo Target: especifique o nome da variável no padrão de extração que armazena a parte estruturada do registro.

    Para informações sobre como definir um padrão de extração usando o Grok e expressões regulares, consulte Definir os campos do extrator Syslog.

    A imagem a seguir mostra um exemplo de como adicionar um padrão de extração e um nome de variável aos campos Syslog e Target, respectivamente.

    Campos do extrator de syslog

    Os campos Syslog e Target são obrigatórios e funcionam juntos para separar o cabeçalho Syslog da parte estruturada do registro.

  3. Após inserir os valores nos campos Syslog e Destino, clique no botão Validar. O processo de validação verifica se há erros de sintaxe e análise e retorna um dos seguintes itens:

    • Sucesso: os campos de mapeamento de dados são exibidos. Defina o restante da extensão do analisador.
    • Falha: uma mensagem de erro é exibida. Corrija a condição do erro antes de continuar.
  4. Opcionalmente, defina uma instrução de pré-condição.

    A instrução de pré-condição identifica apenas um subconjunto de registros brutos originais processados pela extensão do analisador, correspondendo a um valor estático a um campo no registro bruto. Se um registro bruto recebido atender aos critérios de pré-condição, o que significa que os valores correspondem, a extensão do analisador aplicará a instrução de mapeamento. Se os valores não forem correspondentes, a extensão do analisador não aplicará a instrução de mapeamento.

    Preencha os seguintes campos:

    • Campo de pré-condição: insira o caminho completo do campo se o formato de dados de registro for JSON ou XML ou a posição da coluna se o formato for CSV.
    • Operador de pré-condição: selecione EQUALS ou NOT EQUALS.
    • Precondition Value: insira o valor que precisa corresponder aos dados no Campo de pré-condição.
  5. Defina a instrução de mapeamento de dados:

    • Campo de dados brutos: insira o caminho completo do campo se o formato dos dados de registro for JSON ou XML ou a posição da coluna se o formato dos dados for CSV.
    • Campo de destino: insira o nome do campo de UDM totalmente qualificado em que o valor será armazenado, por exemplo, udm.metadata.collected_timestamp.seconds.
  6. Clique em Enviar para salvar a instrução de mapeamento.

  7. O Google Security Operations valida a instrução de mapeamento.

    • Se o processo de validação for bem-sucedido, o estado mudará para Ativo e a instrução de mapeamento começará a processar os dados de registro recebidos.
    • Se o processo de validação falhar, o estado mudará para Com falha e um erro será exibido no campo "Registro bruto".

    Confira a seguir um exemplo de erro de validação.

    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"}
    

Consulte Campos em uma instrução de mapeamento de dados para ver uma lista de todos os campos possíveis em uma extensão do analisador.

Campos em uma instrução de mapeamento de dados

Esta seção descreve todos os campos que podem ser definidos em uma extensão do analisador.

Nome do campo Descrição
Syslog (link em inglês) Um padrão definido pelo usuário que pré-processa e separa um cabeçalho Syslog da posição estruturada de um registro bruto.
Objetivo Nome da variável no campo Syslog que armazena a parte estruturada do registro.
Campo de pré-condição Identificador de campo no registro bruto que contém o valor a ser comparado. Usado em uma instrução de pré-condição.
Operador de pré-condição Selecione EQUALS ou NOT EQUALS. Usado em uma instrução de pré-condição.
Valor da pré-condição É o valor estático que será comparado com o campo "Precondition" no registro bruto. Usada em uma instrução de pré-condição.
Campo de dados brutos

Usado em uma instrução de mapeamento.

Se o formato de dados for JSON, defina o caminho para o campo, por exemplo: jsonPayload.connection.dest_ip.

Se o formato de dados for XML, defina o caminho completo para o campo, por exemplo: /Event/Reason-Code.

Se o formato de dados for CSV, defina a posição do índice da coluna. As posições do índice começam em 1.

Campo de destino

Usado em uma instrução de mapeamento.

Defina o caminho completo para o campo de UDM em que os dados serão armazenados. Por exemplo:

udm.network.dhcp.opcode

ou

graph.entity.asset.hostname

Criar uma instrução de mapeamento do snippet de código

Um snippet de código usa uma sintaxe semelhante ao Logstash para definir como extrair e transformar valores no registro bruto original e atribuí-los ao registro UDM. Um snippet de código usa a mesma sintaxe e seção da instrução que um analisador padrão ou personalizado. As seções de um snippet de código são as seguintes:

  • Seção 1. Extraia os dados do registro original.
  • Seção 2. Transformar os dados extraídos
  • Seção 3. Atribua um ou mais valores a um campo de UDM.
  • Seção 4. Vincule os campos de eventos de UDM à chave @output.

O exemplo a seguir ilustra um snippet de código.

Veja um exemplo de registro bruto:

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

Veja um exemplo de snippet de código que mapeia o valor em jsonPayload.packets_sent para o campo de 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. Clique em Enviar para salvar a instrução de mapeamento.

  2. O Google Security Operations valida a instrução de mapeamento.

    • Se o processo de validação for bem-sucedido, o estado mudará para Ativo e a instrução de mapeamento começará a processar os dados de registro recebidos.
    • Se o processo de validação falhar, o estado mudará para Com falha e um erro será exibido no campo "Registro bruto".

Ver uma extensão de analisador existente

  1. Na barra de navegação, selecione Settings, SIEM Settings e, em seguida, Parsers.
  2. Na lista Analisadores, identifique o tipo de registro com uma extensão de analisador. Essa informação é identificada pelo texto EXTENSION ao lado do nome.
  3. Navegue até essa linha e clique no Menu.
  4. Clique em Ver extensão.
  5. A guia Ver personalizado/pré-criado > a guia Extensão aparece com detalhes sobre a extensão do analisador. O painel de resumo mostra a extensão do analisador LIVE por padrão. Se houver um

Editar uma extensão do analisador

  1. Abra Ver analisador personalizado/pré-criado > guia "Extensão". Consulte Visualizar uma extensão de analisador existente para instruções sobre como abrir a página.
  2. Clique no botão Editar extensão. A página Extensões do analisador é exibida.
  3. Edite a extensão paser.
    • Para cancelar a edição e descartar as mudanças, clique em Descartar rascunho.
  4. Quando terminar de editar a extensão do analisador, clique em Submit.
  5. Se você enviar a mudança, o processo de validação será executado para validar a nova configuração.

Excluir uma extensão de analisador

  1. Abra Ver analisador personalizado/pré-criado > guia "Extensão". Consulte Visualizar uma extensão de analisador existente para instruções sobre como abrir essa página.

  2. Clique no botão Editar extensão. A página Extensões do analisador é exibida.

  3. Clique no botão Excluir extensão.

Ao editar uma extensão do analisador, você pode excluí-la a qualquer momento. Clique em uma das seguintes opções:

  • Descartar rascunho
  • Excluir extensão com falha

Mais informações sobre o seletor de campos repetidos

Alguns campos de UDM armazenam uma matriz de valores, como principal.ip e Entity.asset.hostname. Se você criar uma extensão de analisador para armazenar dados em um campo repetido, essa opção permitirá controlar se o valor será anexado à matriz ou se substitui todos os valores atuais definidos pelo analisador padrão. Os campos repetidos são identificados pelo rótulo repetido na lista de campos do modelo de dados unificado.

Se Acrescentar valores estiver selecionado, a extensão do analisador anexará o valor extraído à matriz de valores atuais no campo de UDM. Se Substituir valores for selecionado, a extensão do analisador substituirá a matriz de valores atuais no campo do UDM pelo valor extraído. O seletor Campos repetidos não afeta a maneira como os dados são armazenados em campos não repetidos.

Uma extensão do analisador pode mapear dados para um campo repetido somente quando esse campo estiver no nível mais baixo da hierarquia. Por exemplo, o mapeamento de valores para udm.principal.ip é aceito porque o campo ip repetido está no nível mais baixo da hierarquia, e principal não é um campo repetido. O mapeamento de valores para udm.intermediary.hostname não é compatível porque intermediary é um campo repetido e não está no nível mais baixo da hierarquia.

A tabela a seguir fornece exemplos de como a configuração de campos repetidos afeta o registro UDM gerado.

Seleção de Campos repetidos Exemplo de registro Configuração da extensão do analisador Resultado gerado
Anexar valores {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"1.1.1.1, 2.2.2.2"}}} Campo de pré-condição: protoPayload.requestMetadata.callerIp
Valor da pré-condição: " "
Operador de pré-condição: NOT_EQUALS
Campo de dados brutos: 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"} } }
Anexar valores {"protoPayload":{"@type":"type.AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2, 3.3.3.3", "name":"Akamai Ltd"}}} Pré-condição 1:
Campo da pré-condição:protoPayload.requestMetadata.callerIp
Valor da pré-condição: " "
Operador da pré-condição: NOT_EQUALS
Campo de dados brutos: protoPayload.requestMetadata.callerIp
Campo de destino: event.idm.read_only_udm.principal.ip

Pré-condição 2:
Campo de dados brutos: protoPayload.requestMetadata.name
Campo de destino: event.idm.read_only_udm.metadata.product_name

Eventos gerados pelo analisador pré-criado antes de aplicar a extensão.
metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

Saída após aplicar a extensão.
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"}}}

Substituir valores {"protoPayload":{"@type":"type..AuditLog","authenticationInfo":{"principalEmail":"admin@cmmar.co"},"requestMetadata":{"callerIp":"2.2.2.2"}}} Campo de pré-condição: protoPayload.authenticationInfo.principalEmail
Valor da pré-condição: " "
Operador de pré-condição: NOT_EQUALS
Campo de dados brutos: protoPayload.authenticationInfo.principalEmail
Campo de destino: event.idm.read_only_udm.principal.ip
Eventos de UDM gerados pelo analisador pré-criado antes da aplicação da extensão.
timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ... principal:{ip:"1.1.1.1"}}}

Saída do UDM após aplicar a extensão timestamp:{} idm:{read_only_udm:{metadata:{event_timestamp:{} ....} principal:{ip:"2.2.2.2"}}}

Mais informações sobre os campos do extrator Syslog

Os campos do extrator Syslog permitem separar o cabeçalho Syslog de um registro estruturado definindo o Grok, a expressão regular, além de um token nomeado no padrão de expressão regular para armazenar a saída.

Definir os campos do extrator Syslog

Os valores nos campos Syslog e Target trabalham juntos para definir como a extensão do analisador separa o cabeçalho Syslog da parte estruturada de um registro bruto. No campo Syslog, defina uma expressão usando uma combinação da sintaxe do Grok e da expressão regular. A expressão inclui um nome de variável que identifica a parte estruturada do registro bruto. No campo Destino, especifique o nome da variável.

O exemplo a seguir ilustra como esses campos funcionam juntos.

Veja a seguir um exemplo de registro bruto:

<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"}

O registro bruto contém as seguintes seções:

  • Cabeçalho syslog: <13> 2022-09-14T15:03:04+00:00 fieldname fieldname - - -

  • Evento formatado em 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 o cabeçalho Syslog da parte JSON do registro bruto, use a seguinte expressão de exemplo no campo Syslog: %{TIMESTAMP_ISO8601} %{WORD} %{WORD} ([- ]+)?%{GREEDYDATA:msg}

  • Essa parte da expressão identifica o cabeçalho Syslog: %{TIMESTAMP\_ISO8601} %{WORD} %{WORD} ([- ]+)?
  • Essa parte da expressão captura o segmento JSON do registro bruto: %{GREEDYDATA:msg}

Este exemplo inclui o nome de variável msg. Você escolhe o nome da variável. A extensão do analisador extrai o segmento JSON do registro bruto e o atribui à variável msg.

No campo Destino, insira o nome da variável msg. O valor armazenado na variável msg é inserido nas instruções de mapeamento do campo de dados criadas na extensão do analisador.

Usando o exemplo de registro bruto, o seguinte segmento é inserido na instrução de mapeamento de dados:

{"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"}

A imagem a seguir mostra os campos Syslog e Target preenchidos:

Campos do extrator de syslog

A tabela a seguir fornece outros exemplos com registros de amostra, o padrão de extração Syslog, o nome da variável Target e o resultado.

Exemplo de registro bruto Campo Syslog Campo de destino Result
<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.

Controlar o acesso às extensões do analisador

Novas permissões estão disponíveis que controlam quem pode visualizar e gerenciar extensões do analisador. Por padrão, as extensões de analisador podem ser acessadas por usuários com o papel de Administrador. Para mais informações sobre como gerenciar usuários e grupos ou atribuir papéis, consulte Controle de acesso baseado em papéis.

Os novos papéis nas Operações de segurança do Google estão resumidos na tabela a seguir.

Recurso Ação Descrição
Parser Excluir Excluir extensões do analisador.
Parser Editar Criar e editar extensões do analisador.
Parser View Visualizar extensões do analisador.