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. |
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.