CSV

Versão de integração: 31.0

Pré-requisitos de autorização

Para trabalhar com ficheiros através da integração, tem de ter as autorizações corretas. Execute o seguinte comando para fornecer as autorizações corretas para uma pasta: chown scripting:scripting "directory_path"

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

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

Parâmetros de integração

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

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Nome da instância String N/A Não Nome da instância para a qual pretende configurar a integração.
Descrição String N/A Não Descrição da instância.
Executar remotamente Caixa de verificação Desmarcado Não Selecione o campo para executar a integração configurada remotamente. Depois de selecionada, a opção aparece para selecionar o utilizador remoto (agente).

Ações

Guarde JSON em CSV

Descrição

Guarde um objeto JSON num ficheiro CSV.

Parâmetros

Nome do parâmetro Tipo Valor predefinido Obrigatório Descrição
Objeto JSON JSON N/A Sim Especifica o objeto JSON a guardar como CSV.
Substituir Booleano Falso Não Se estiver ativada, a ação substitui o ficheiro existente.
Caminho do ficheiro String N/A Sim Especifica o caminho absoluto do ficheiro para o ficheiro CSV recém-criado. Se apenas for fornecido o nome do ficheiro, a ação armazena o ficheiro numa 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}"}
Case Wall

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

Mensagem de saída Descrição da mensagem
O objeto JSON foi transformado com êxito e guardado no caminho do ficheiro fornecido. A ação foi bem-sucedida.
Não foi possível encontrar o ficheiro para o caminho indicado. O ficheiro não existe.
Não foi encontrada atividade para as contas de serviço fornecidas na Google Cloud inteligência de políticas A ação não conseguiu encontrar dados para nenhuma das contas de serviço indicadas.
Erro ao executar a ação "Guardar JSON em CSV".

A ação devolveu um erro.

Verifique a ligação ao servidor, os parâmetros de entrada ou as credenciais.

Pesquise por string

Descrição

Pesquise strings em ficheiros CSV.

Parâmetros

Nome do parâmetro Tipo Valor predefinido É obrigatório Descrição
Caminho CSV String N/A Sim Especifique o caminho do ficheiro CSV ou o caminho de uma pasta que contenha todos os ficheiros CSV. Se for fornecida uma pasta, a ação vai iterar sobre todos os ficheiros CSV na pasta.
Coluna CSV String N/A Não Especifique uma lista de colunas separadas por vírgulas que podem conter informações de entidades. Se não for fornecido nada, a ação vai pesquisar em todas as colunas.
Dias para trás String 10 Não Especifique quantos dias para trás quer processar os ficheiros CSV.
Valor de pesquisa String N/A Não Especifique uma string que precisa de ser pesquisada. Se a opção "Pesquisar várias strings" estiver ativada, este parâmetro é tratado como uma lista de strings separadas por vírgulas que têm de ser pesquisadas.
Devolve apenas a primeira linha. Caixa de verificação Desmarcado Não Se estiver ativada, a ação só devolve 1 linha no primeiro ficheiro que corresponda à entidade.
Tipos de codificação de ficheiros String utf-8, latin-1, iso-8859-1 Sim Uma lista separada por vírgulas dos tipos de codificação CSV usados para descodificar os seus ficheiros 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 são usados para descodificar ficheiros, por exemplo (do exemplo acima), o UTF-8 tem a prioridade mais alta e é usado principalmente para descodificar todos os ficheiros. Se existir um ficheiro CSV que use alguma outra codificação, é usada a codificação seguinte na ordem, ou seja, a codificação latin-1, e assim sucessivamente, até ser usada a última codificação.
Pesquisar várias strings Caixa de verificação Desmarcado Não Se estiver ativada, a opção "Valor de pesquisa" funciona como uma lista de valores separados por vírgulas, em vez de uma única string.
Campos a devolver CSV N/A Não Especifique uma lista de valores separados por vírgulas que têm de ser devolvidos.

Exemplos de utilização

Pesquise strings em ficheiros CSV.

Executar em

Esta 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"
    }
]
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

Para registos encontrados: "Informações encontradas com êxito sobre as seguintes strings: \n (search_string)"

Se não forem encontrados registos para algumas strings: "A ação não conseguiu encontrar informações sobre as seguintes strings:"

Se não houver êxito para todos os registos: "Não foram encontradas informações 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

Pesquise por entidade

Descrição

Pesquise entidades em ficheiros CSV e enriqueça-as.

Parâmetros

Nome do parâmetro Tipo Valor predefinido É obrigatório Descrição
Caminho CSV String N/A Sim Especifique o caminho do ficheiro CSV ou o caminho de uma pasta que contenha todos os ficheiros CSV. Se for fornecida uma pasta, a ação vai iterar sobre todos os ficheiros CSV na pasta.
Coluna CSV String N/A Sim Especifique uma lista de colunas separadas por vírgulas que podem conter informações de entidades. Se não for fornecido nada, a ação vai pesquisar em todas as colunas.
Dias anteriores String 10 Sim Especifique quantos dias para trás quer processar os ficheiros CSV.
Marcar como suspeito Caixa de verificação Desmarcado Não Se estiver ativada, a ação marca a entidade como suspeita, se tiver sido encontrada no ficheiro.
Devolve apenas a primeira linha. Caixa de verificação Desmarcado Não Se estiver ativada, a ação só devolve 1 linha no primeiro ficheiro que corresponda à entidade.
Tipos de codificação de ficheiros String utf-8, latin-1, iso-8859-1 Sim Uma lista separada por vírgulas dos tipos de codificação CSV usados para descodificar os seus ficheiros 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 são usados para descodificar ficheiros, por exemplo (do exemplo acima), o UTF-8 tem a prioridade mais alta e é usado principalmente para descodificar todos os ficheiros. Se existir um ficheiro CSV que use alguma outra codificação, é usada a codificação seguinte na ordem, ou seja, a codificação latin-1, e assim sucessivamente, até ser usada a última codificação.
Enriquecer entidades Caixa de verificação Marcado Não Se estiver ativada, a ação adiciona informações do ficheiro CSV e adiciona-as à tabela de enriquecimento da entidade.
Crie estatísticas Caixa de verificação Marcado Não Se estiver ativada, a ação cria uma estatística, se a entidade tiver sido encontrada no ficheiro.
Campos a devolver CSV N/A Não Especifique uma lista de valores separados por vírgulas que têm de ser devolvidos.

Executar em

Esta 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"
    }
]
Case Wall
Tipo de resultado Valor / descrição Tipo
Mensagem de saída*

Para entidades encontradas: "Informações encontradas com êxito sobre as seguintes entidades: \n (entity.identifier)"

Para entidades não encontradas: "Não foram encontradas informações sobre as seguintes entidades: \n (entity.identifier)"

Se não houver êxito para todas as entidades: "Não foram encontradas informações 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

Tchim-tchim

Descrição

Testar conetividade.

Parâmetros

N/A

Executar em

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

Resultados da ação

Resultado do script

N/A

Resultado JSON
N/A

Conetores

Conetor CSV

Descrição

Obter dados de ficheiros CSV localizados numa pasta específica e converter estes dados em alertas no sistema Google SecOps.

Este tópico ilustra o mecanismo e a configuração através dos quais o Google SecOps produz ficheiros CSV, juntamente com fluxos de trabalho suportados e ações realizadas na plataforma.

Exemplos de utilização

Um cliente tem ficheiros CSV provenientes de um sistema e os ficheiros podem ter 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 ficheiros CSV

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

Encaminhamento de registos CSV para o Google SecOps

Trabalhar com registos de ficheiros CSV

Quando configura o Google SecOps para funcionar com ficheiros CSV como uma origem de alerta, é-lhe pedido que indique uma pasta específica a partir da qual os ficheiros CSV vão ser obtidos. O Google SecOps vai obter todos os registos num ficheiro CSV e encaminhá-los para tradução e contextualização como alertas para casos.

Como mapear a gravidade no conector

Para mapear a gravidade, tem de especificar que campo deve ser usado para obter o valor da gravidade no parâmetro "Nome do campo de gravidade". Na resposta, pode obter 3 tipos de valores: números inteiros, números de vírgula flutuante e strings. Para números inteiros e de ponto flutuante, não precisa de fazer nenhuma configuração adicional. O conetor vai ler esses valores e mapeá-los de acordo com as normas do Google SecOps. Um lembrete rápido de como os valores inteiros são mapeados:

  • 100 – Crítico
  • 100 > x >= 80: alta
  • 80 > x >=60 Médio
  • 60 > x >=40 Baixo
  • 40 > x Informativas

Se, na resposta, estivermos a trabalhar com strings, é necessária uma configuração adicional. Na pasta onde se encontram os scripts do conetor, tem um ficheiro de configuração com o nome severity_map_config.json. Este ficheiro define regras de mapeamento para a gravidade.

Inicialmente, o ficheiro tem o seguinte aspeto: 1 2 3 { "Default": 50 }

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

Primeiro, temos de especificar no parâmetro "Nome do campo de gravidade" que vamos usar event.severity. Em segundo lugar, temos de atualizar o ficheiro de configuração. Após as alterações, o ficheiro severity_map_config.json deve ter o seguinte aspeto: 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", vai atribuir-lhe a gravidade Crítica.

Configure o conetor CSV no Google SecOps

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

Parâmetros do conetor

Use os seguintes parâmetros para configurar o conector:

Nome do parâmetro Tipo Valor predefinido É 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 de evento String nome Não O nome do campo usado para determinar o nome do evento (subtipo).
Limite de tempo 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 ficheiros CSV que têm de ser carregados.
Limite de CSV String N/A Não Quantos ficheiros 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 tempo String N/A Não Nome do campo que contém informações sobre a hora do evento.
O CSV tem cabeçalho Caixa de verificação Marcado Sim Indica se o ficheiro CSV tem cabeçalho.
Tipo de codificação de ficheiros 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.
Nota: pode mapear a gravidade com base nos valores na resposta. Para isso, tem de aceder à pasta de execução do conetor e modificar o ficheiro severity_mapping_config.json. Consulte a documentação para referência.

Regras do conetor

Suporte de proxy

O conetor não suporta proxy.

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