CSV

Versão da integração: 31.0

Pré-requisitos de permissão

Para trabalhar com arquivos usando a integração, você precisa ter as permissões corretas. Execute o comando a seguir para fornecer as permissões corretas para uma pasta: chown scripting:scripting "directory_path"

Configurar a integração de CSV no Google Security Operations

Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da instância String N/A Não Nome da instância em que você pretende configurar a integração.
Descrição String N/A Não Descrição da instância.
Executar remotamente Caixa de seleção Desmarcado Não Marque a caixa para executar a integração configurada remotamente. Depois de marcada, a opção aparece para selecionar o usuário remoto (agente).

Ações

Salvar JSON em CSV

Descrição

Salva um objeto JSON em CSV.

Parâmetros

Nome do parâmetro Tipo Valor padrão Obrigatório Descrição
Objeto JSON JSON N/A Sim Especifica o objeto JSON a ser salvo como CSV.
Substituir Booleano Falso Não Se ativada, a ação vai substituir o arquivo atual.
Caminho do arquivo String N/A Sim Especifica o caminho absoluto do arquivo CSV recém-criado. Se apenas o nome do arquivo for fornecido, a ação vai armazenar o arquivo em uma pasta /tmp/.

Executar em

N/A

Resultados da ação

Resultado do script
Nome do resultado do script Valor
is_success Verdadeiro/Falso
Resultado JSON
{"filepath": "{file name}"}
Painel de casos

A ação fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
O objeto JSON foi transformado e salvo no caminho de arquivo fornecido. A ação foi concluída.
Não foi possível encontrar o arquivo no caminho fornecido. O arquivo não existe.
Nenhuma atividade foi encontrada para as contas de serviço fornecidas no Google Cloud Policy Intelligence A ação não encontrou dados para nenhuma das contas de serviço listadas.
Erro ao executar a ação "Salvar JSON em CSV".

A ação retornou um erro.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Pesquisar por string

Descrição

Pesquise strings em arquivos CSV.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Caminho do CSV String N/A Sim Especifique o caminho do arquivo CSV ou de uma pasta que contenha todos os arquivos CSV. Se uma pasta for fornecida, a ação vai iterar em todos os arquivos CSV da pasta.
Coluna CSV String N/A Não Especifique uma lista separada por vírgulas de colunas que podem conter informações de entidade. Se nada for fornecido, a ação vai pesquisar em todas as colunas.
Dias para trás String 10 Não Especifique quantos dias para trás processar os arquivos CSV.
Pesquisar valor String N/A Não Especifique uma string que precisa ser pesquisada. Se a opção "Pesquisar várias strings" estiver ativada, esse parâmetro será tratado como uma lista de strings separadas por vírgulas que precisam ser pesquisadas.
Retorne apenas a primeira linha. Caixa de seleção Desmarcado Não Se ativada, a ação vai retornar apenas uma linha no primeiro arquivo que corresponder à entidade.
Tipos de codificação de arquivos String utf-8, latin-1, iso-8859-1 Sim Uma lista separada por vírgulas de tipos de codificação CSV usados para decodificar seus arquivos CSV, por exemplo, utf-8, latin-1, iso-8859-1, utf-16... A ordem em que os tipos de codificação são fornecidos define a ordem em que eles são usados para decodificar arquivos.Por exemplo, (do exemplo acima) o utf-8 tem a maior prioridade e será usado principalmente para decodificar todos os arquivos. Se houver um arquivo CSV que use alguma outra codificação, a próxima na ordem (codificação latin-1) será usada e assim por diante, até que a última codificação seja usada.
Pesquisar várias strings Caixa de seleção Desmarcado Não Se ativada, a opção "Valor da pesquisa" vai funcionar como uma lista de valores separada por vírgulas, em vez de uma única string.
Campos a serem retornados CSV N/A Não Especifique uma lista separada por vírgulas de valores que precisam ser retornados.

Casos de uso

Pesquise strings em arquivos CSV.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
count_rows_csv Qualquer número de linhas count_rows += 1
Resultado JSON
[
    {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        },
        "Entity": "host"
    }, {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        }, "Entity": "1.1.1.1"
    }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

Para registros encontrados:"Encontramos informações sobre as seguintes strings: \n (search_string)"

Se nenhum registro for encontrado para algumas strings: "Não foi possível encontrar informações sobre as seguintes strings:"

Se não houver sucesso em todos os registros: "Nenhuma informação foi encontrada para os itens fornecidos".

Se todas as codificações forem inválidas:Erro ao executar a ação "Pesquisa de CSV por string". As codificações fornecidas são inválidas. Verifique a ortografia."

Geral

Pesquisar por entidade

Descrição

Pesquisar e enriquecer entidades em arquivos CSV.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Caminho do CSV String N/A Sim Especifique o caminho do arquivo CSV ou de uma pasta que contenha todos os arquivos CSV. Se uma pasta for fornecida, a ação vai iterar em todos os arquivos CSV da pasta.
Coluna CSV String N/A Sim Especifique uma lista separada por vírgulas de colunas que podem conter informações de entidade. Se nada for fornecido, a ação vai pesquisar em todas as colunas.
Dias atrás String 10 Sim Especifique quantos dias para trás processar os arquivos CSV.
Marcar como suspeito Caixa de seleção Desmarcado Não Se ativada, a ação vai marcar a entidade como suspeita se ela for encontrada no arquivo.
Retorne apenas a primeira linha. Caixa de seleção Desmarcado Não Se ativada, a ação vai retornar apenas uma linha no primeiro arquivo que corresponder à entidade.
Tipos de codificação de arquivos String utf-8, latin-1, iso-8859-1 Sim Uma lista separada por vírgulas de tipos de codificação CSV usados para decodificar seus arquivos CSV, por exemplo, utf-8, latin-1, iso-8859-1, utf-16... A ordem em que os tipos de codificação são fornecidos define a ordem em que eles são usados para decodificar arquivos.Por exemplo, (do exemplo acima) o utf-8 tem a maior prioridade e será usado principalmente para decodificar todos os arquivos. Se houver um arquivo CSV que use alguma outra codificação, a próxima na ordem (codificação latin-1) será usada e assim por diante, até que a última codificação seja usada.
Enriquecer entidades Caixa de seleção Selecionado Não Se ativada, a ação vai adicionar informações do arquivo CSV e incluí-las na tabela de enriquecimento da entidade.
Criar insight Caixa de seleção Selecionado Não Se ativada, a ação vai criar um insight se a entidade for encontrada no arquivo.
Campos a serem retornados CSV N/A Não Especifique uma lista separada por vírgulas de valores que precisam ser retornados.

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
count_rows_csv Qualquer número de linhas count_rows += 1
Resultado JSON
[
    {
        "EntityResult": [{
            "domain": "example.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "Arcsight",
            "id": "1011",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "blocked",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "Ziv",
            "eventHostName": "WS-ZivDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }, {
            "domain": "SmartCompany.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "ESM",
            "id": "1012",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "allowed",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "GG",
            "eventHostName": "WS-GGDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }],
        "Entity": "192.168.11.11"
    }
]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

Para entidades encontradas:"Encontramos informações sobre as seguintes entidades: \n (entity.identifier)"

Para entidades não encontradas: "Nenhuma informação foi encontrada sobre as seguintes entidades: \n (entity.identifier)"

Se não houver sucesso para todas as entidades: "Nenhuma informação foi encontrada para as entidades fornecidas".

Se todas as codificações forem inválidas: "Erro ao executar a ação "Pesquisa de CSV por string". As codificações fornecidas são inválidas. Verifique a ortografia."

Geral

Ping

Descrição

Teste a conectividade.

Parâmetros

N/A

Executar em

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script

N/A

Resultado JSON
N/A

Conectores

Conector CSV

Descrição

Extrair dados de arquivos CSV localizados em uma pasta específica e converter esses dados em alertas no sistema do Google SecOps.

Este tópico ilustra o mecanismo e a configuração com que o Google SecOps produz arquivos CSV, além de fluxos de trabalho e ações compatíveis realizadas na plataforma.

Casos de uso

Um cliente tem arquivos CSV de um sistema, e os arquivos podem ser de codificações diferentes.

*   Add support for comma-separated encodings in the Encoding field in the
    connector.
    *   The connector should try the different encodings by their order in
        the field (first encoding - highest priority, last - lowest
        priority) with try/except. If no matching encoding was found -
        consider the file as an error and notify.
    *   Put a default value for the fields - a list of most common CSV
        encodings by priority (utf8, latin1, and iso...)

Acesso a arquivos CSV

Acesso do Google SecOps a arquivos CSV: configure uma pasta para os arquivos CSV.

Encaminhamento de registros CSV para o Google SecOps

Trabalhar com registros de arquivos CSV

Ao configurar o Google SecOps para trabalhar com arquivos CSV como uma fonte de alertas, você precisa fornecer uma pasta específica de onde os CSVs serão buscados. O Google SecOps vai recuperar todos os registros em um arquivo CSV e encaminhá-los para serem traduzidos e contextualizados como alertas para casos.

Como mapear a gravidade no conector

Para mapear a gravidade, especifique qual campo deve ser usado para receber o valor da gravidade no parâmetro "Nome do campo de gravidade". Na resposta, você pode receber três tipos de valores: números inteiros, números de ponto flutuante e strings. Para números inteiros e de ponto flutuante, não é preciso fazer nenhuma outra configuração. O conector vai ler esses valores e mapeá-los de acordo com os padrões do Google SecOps. Um breve lembrete de como os valores inteiros são mapeados:

  • 100: crítica
  • 100 > x >= 80 Alta
  • 80 > x >=60 Médio
  • 60 > x >=40 Baixa
  • 40 > x Informativa

Se na resposta estivermos trabalhando com strings, será necessária uma configuração adicional. Na pasta em que os scripts do conector estão localizados, há um arquivo de configuração chamado severity_map_config.json. Esse arquivo define regras de mapeamento para a gravidade.

Inicialmente, o arquivo vai ficar assim: 1 2 3 { "Default": 50 }

Imagine uma situação em que os valores necessários estão localizados em event.severity. Esse campo pode conter os seguintes valores: "Malicious", "Benign" e "Unknown".

Primeiro, precisamos especificar no parâmetro "Nome do campo de gravidade" que vamos usar event.severity. Em segundo lugar, precisamos atualizar o arquivo de configuração. Depois das mudanças, o arquivo severity_map_config.json vai ficar assim: 1 2 3 4 5 6 7 8 { "event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default": 50 }

Agora, quando o conector receber um evento com event.severity = "Malicious", ele vai atribuir gravidade crítica.

Configurar o conector CSV no Google SecOps

Para instruções detalhadas sobre como configurar um conector no Google SecOps, consulte Configurar o conector.

Parâmetros do conector

Use os seguintes parâmetros para configurar o conector:

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do campo do produto String device_product Sim O nome do campo usado para determinar o produto do dispositivo.
Nome do campo do evento String nome Não O nome do campo usado para determinar o nome do evento (subtipo).
Tempo limite do script (segundos) String 60 Sim O limite de tempo (em segundos) para o processo Python que executa o script atual.
Caminho da pasta CSV String N/A Sim Caminho da pasta que contém todos os arquivos CSV que precisam ser ingeridos.
Limite de CSV String N/A Não Quantos arquivos CSV processar por iteração.
Nome do campo do gerador de regras String N/A Não Nome do campo que contém informações sobre o gerador de regras.
Nome do campo de horário String N/A Não Nome do campo que contém informações sobre o horário do evento.
CSV Has Header Caixa de seleção Selecionado Sim Indica se o arquivo CSV tem um cabeçalho.
Tipo de codificação do arquivo String utf-8 Sim Defina o tipo de codificação CSV, por exemplo, iso-8859-1, latin1, utf-8, utf-16.
Nome do campo de alerta String N/A Não Nome do campo que contém informações sobre o nome do alerta.
Nome do campo de gravidade String N/A Não

Nome do campo que contém informações sobre a gravidade.
Observação:é possível mapear a gravidade com base nos valores da resposta. Para isso, acesse a pasta de execução do conector e modifique o arquivo severity_mapping_config.json. Consulte a documentação para referência.

Regras de conector

Suporte a proxy

O conector não é compatível com proxy.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.