Integrar o Splunk ao Google SecOps

Este documento fornece orientações sobre como integrar o Splunk ao Google SecOps.

Antes de começar

Antes de integrar o Splunk ao Google SecOps, determine o método de ingestão adequado para sua arquitetura de implantação e verifique se o ambiente atende a todas as dependências, caminhos de rede e permissões de acesso necessários.

O Google SecOps oferece suporte a dois métodos de ingestão:

  • Ingestão baseada em push: o Splunk avalia os alertas localmente e envia eventos diretamente para o Google SecOps usando o complemento TA-Siemplify e ações de acionamento de alertas. Não é necessário configurar o conector no Google SecOps.

  • Ingestão baseada em pull: os conectores do Google SecOps consultam periodicamente os endpoints da API REST do Splunk para recuperar alertas, resultados de pesquisa da SPL ou eventos notáveis do Splunk ES.

Ingestão baseada em push

A ingestão baseada em push exige conectividade HTTPS de saída direta do Splunk para o Google SecOps, além de configurações específicas de complemento nos cabeçalhos de pesquisa do Splunk.

Verifique os seguintes requisitos antes de configurar a ingestão baseada em push:

  1. Faça o download e instale o pacote TA-Siemplify da Splunkbase em todos os cabeçalhos de pesquisa do Splunk de destino. Em ambientes distribuídos, implante o complemento no seu cluster de cabeças de pesquisa usando o Splunk Deployer ou o Deployment Server.

  2. Verifique se uma versão compatível do Modelo de informações comuns do Splunk (Splunk_SA_CIM) está instalada no cabeçalho de pesquisa para oferecer suporte a alertas e registros modulares.

  3. Verifique se os cabeçalhos de pesquisa do Splunk têm acesso de rede de saída por HTTPS (porta TCP 443) ao URL da instância do Google SecOps.

  4. Verifique se você tem uma conta no Google SecOps com permissões administrativas para gerar chaves de API (Configurações > Avançado > API). Confira se a chave de API gerada tem uma função com permissões de criação de alertas e casos.

  5. Se você planeja ingerir eventos brutos de pesquisas de transformação (como pesquisas usando stats, chart ou timechart), verifique se dispatch.buckets = 1 está configurado em savedsearches.conf nos seus cabeçalhos de pesquisa.

Ingestão baseada em extração

A ingestão baseada em pull, as ações de playbook e os jobs de sincronização exigem o Google SecOps (ou um agente remoto) para estabelecer conexões administrativas de entrada com o Splunk.

Verifique os seguintes requisitos antes de configurar conectores de extração, ações ou jobs:

  1. Conectividade de rede: verifique a visibilidade da rede do Google SecOps (ou do seu agente remoto) para a porta da API REST de gerenciamento do Splunk (padrão: 8089/TCP).

  2. Certificado de CA personalizado: se a instância do Splunk usar um certificado de CA particular ou interno, verifique se você está executando a versão 26.0 ou mais recente da integração do Splunk no Google SecOps.

  3. Autenticação: obtenha credenciais de usuário do Splunk válidas (nome de usuário e senha) ou gere um token de autenticação do Splunk (para ativar esse método de autenticação na plataforma Splunk, é necessário autenticação por token).

  4. Recursos da função do Splunk: verifique se a conta do Splunk que está sendo autenticada tem uma função com os seguintes recursos:

    • search
    • schedule_search
    • edit_tcp (obrigatório apenas se você estiver usando a ação Enviar evento)
    • edit_notable_events (obrigatório apenas se você estiver usando a ação Atualizar eventos importantes ou trabalhos de sincronização do Splunk ES)
  5. Permissões de repositório de dados e pesquisa: verifique se a conta de autenticação tem acesso aos repositórios de dados relevantes do Splunk para os componentes escolhidos:

    • Conector de extração do Splunk: permissões de leitura para a tabela de consulta siemplify_alerts, que é preenchida quando TA-Siemplify é instalado e configurado no modo de extração.
    • Conector e ações de consulta do Splunk:
      • Permissões de pesquisa em índices de eventos de destino (não requer TA-Siemplify).
      • Permissões de gravação e entrada no índice de destino ao usar a ação Enviar evento.
    • Splunk ES: conector e jobs de eventos notáveis: uma instalação ativa do Splunk Enterprise Security (ES), permissões de leitura para o índice notable e acesso à macro get_notable_index (não exige TA-Siemplify).

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
Endereço do servidor String {SCHEMA}://{IP}:{PORT} Sim Endereço do servidor Splunk.
Nome de usuário String N/A Não O endereço de e-mail do usuário que deve ser usado para se conectar ao Splunk.
Senha Senha N/A Não A senha do usuário correspondente.
Token da API Senha N/A Não Token da API do Splunk. O token de API tem prioridade sobre outros métodos de autenticação quando este campo não está vazio.
Verificar SSL Caixa de seleção Desmarcado Não Use esta caixa de seleção se a conexão do Splunk exigir uma verificação SSL (desmarcada por padrão).
Arquivo de certificado de CA String N/A Não Arquivo de certificado de CA codificado em Base64.

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

Você pode fazer mudanças mais tarde, se necessário. Depois de configurar uma instância de integração, você pode usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Suporte a várias instâncias.

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes da sua mesa de trabalho e Realizar uma ação manual.

Receber eventos de host

Receba eventos relacionados a hosts no Splunk.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Limite de eventos por host Inteiro 100 Sim Especifique quantos eventos retornar por host.
Resultados de String -24h Sim Especifique o horário de início dos eventos.
Resultados para String agora Sim Especifique o horário de término dos eventos.
Campos de resultado CSV N/A Não Especifique uma lista separada por vírgulas de campos que precisam ser retornados.
Índice String N/A Não Especifique qual índice deve ser usado ao pesquisar eventos relacionados ao host. Se nada for fornecido, a ação não usará o índice.
Chave do host String host Não Especifique qual chave deve ser usada para receber informações sobre eventos de host. Padrão: host.

Executar em

Essa ação é executada na entidade "Nome do host".

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
sucesso Verdadeiro/falso success:False
Resultado do JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a operação for bem-sucedida e houver resultados disponíveis: "Eventos retornados com sucesso para os seguintes hosts no Splunk: \n {0}".format(entity.identifier)

Se a operação for bem-sucedida e os resultados não estiverem disponíveis para alguns: "Nenhum evento foi encontrado para os seguintes hosts no Splunk:\n {0}".format(entity.identifier)

Se a operação for bem-sucedida e os resultados não estiverem disponíveis para todos: "Nenhum evento foi encontrado para os hosts fornecidos no Splunk"

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Receber eventos do host". Motivo: {0}''.format(error.Stacktrace)

Se 400: "Erro ao executar a ação "Get Host Events". Motivo: {0}''.format(messages/text)

Geral
Tabela do painel de casos

Nome:eventos {Entity.identifier}

Colunas:com base nos resultados.

Ping

Teste a conectividade com o Splunk usando os parâmetros fornecidos na página de configuração da integração na guia "Marketplace" do Google Security Operations.

Parâmetros

N/A

Executar em

Essa ação não é executada em entidades nem tem parâmetros de entrada obrigatórios.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:
se for bem-sucedida: "Conexão com o servidor Splunk estabelecida com sucesso usando os parâmetros fornecidos!"

A ação precisa falhar e interromper a execução de um playbook:
se não for bem-sucedida: "Não foi possível se conectar ao servidor Splunk. Erro: {0}".format(exception.stacktrace)

Geral

Visualizador de CSV do Splunk

Parâmetros

Parâmetro Tipo Valor padrão É obrigatório Descrição
Resultados string N/A Sim Resultados brutos.

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
is_succeed Verdadeiro/falso is_succeed:False

SplunkQuery

Execute uma consulta no Splunk.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Modo de pesquisa DDL

Inteligente

Valores possíveis:

  • Detalhado
  • Inteligente
  • Rápido
Não Especifique o modo de execução da pesquisa.
Consulta String Sim Especifique a consulta que precisa ser executada. Exemplo: index="_internal"
Limite de contagem de resultados Inteiro 100 Não

Especifique quantos resultados retornar.
Observação: esse parâmetro adiciona a palavra-chave "head" à consulta fornecida. O padrão é 100.

Resultados de String -24h Não Especifique o horário de início da consulta. Padrão: -24h
Resultados para String agora Não Especifique o horário de término da consulta. Padrão: agora.
Campos de resultado CSV Não

Especifique uma lista separada por vírgulas de campos que precisam ser retornados.
Observação: esse parâmetro adiciona a palavra-chave "fields" à consulta fornecida.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/falso is_succeed:False
Resultado do JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
Painel de casos
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a operação for bem-sucedida e houver resultados disponíveis: "Os resultados da consulta "{0}" no Splunk foram retornados com sucesso".format(query)

Se a operação for bem-sucedida e os resultados não estiverem disponíveis: "Nenhum resultado foi encontrado para a consulta "{0}" no Splunk".format(query)

Mensagem assíncrona: "Aguardando a conclusão da execução da consulta {0}".format(nome da consulta)

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "SplunkQuery". Motivo: {0}''.format(error.Stacktrace)

Se 400: "Erro ao executar a ação "SplunkQuery". Motivo: {0}''.format(messages/text)

Geral
Tabela do painel de casos

Nome:resultados da consulta do Splunk

Colunas: com base nos resultados.

Geral

Enviar evento

Enviar evento para o Splunk.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Índice String main Sim Especifique o índice em que o evento será criado.
Evento String N/A Sim Especifique o evento bruto que precisa ser enviado.
Host String N/A Não Especifique o host relacionado ao evento.
Origem String N/A Não Especifique a origem do evento. Exemplo: www.
Sourcetype String N/A Não Especifique o tipo de origem do evento. Exemplo: web_event

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
sucesso Verdadeiro/falso success:False
Resultado do JSON
{
    "index": "default",
    "bytes": 70,
    "host": "dogo",
    "source": "www",
    "sourcetype": "web_event"
}
Painel de casos
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a operação for bem-sucedida: "Um novo evento foi adicionado ao índice "{0}" no Splunk.".format(index)

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Enviar evento". Motivo: {0}''.format(error.Stacktrace)

Se 400: "Erro ao executar a ação "Enviar evento". Motivo: {0}''.format(messages/text)

Geral

Atualizar eventos importantes

Atualize eventos importantes no Splunk ES.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
IDs de eventos importantes CSV N/A Sim Especifique os IDs de eventos importantes. Exemplo: 1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7@@notable@@cb87390ae72763679d3f6f8f097ebe2b,1D234D5B-1531-2D2B-BB94-41C439BE12B7@@notable@@cb87390ae72763679d3f6f8f097ebe2b
Status DDL

Selecione uma opção.

Valores possíveis:

Selecione uma opção.

Não atribuído

Novo

Em andamento

Pendente

Resolvido

Fechado

Sim Especifique o novo status para eventos importantes.
Urgência DDL

Selecione uma opção.

Valores possíveis:

Selecione uma opção.

Crítico

Alta

Médio

Baixo

Informativa

Sim Especifique a nova urgência para o evento notável.
Novo proprietário String N/A Sim Especifique o novo proprietário do evento notável.
Comentário String N/A Sim Especifique o comentário para o evento importante.

Executar em

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor / Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a solicitação for bem-sucedida e os dados estiverem disponíveis (is_success=true)

print "Successfully updated {0} notable events in Splunk.".format(count(notable_events))

Se a atualização falhar (status_code=400, is_success=false):

print "Action wasn't able to update notable events. Reason:{0}".format(string_from_response)

A ação precisa falhar e interromper a execução de um playbook:

Se o erro for fatal, como credenciais incorretas, sem conexão com o servidor, outros:

print "Error executing action "Update Notable Events". Motivo: {0}''.format(error.Stacktrace)

Geral

Executar consulta de entidade

Execute uma consulta de entidade no Splunk.

Como trabalhar com parâmetros de ação?

Essa ação permite recuperar facilmente informações relacionadas a entidades. Por exemplo, é possível resolver o caso de uso em que você quer ver a quantidade de eventos dos endpoints afetados pelos hashes fornecidos sem criar consultas complicadas. Para resolver esse problema no Splunk, prepare a seguinte consulta: index="main" | where (device_ip="10.0.0.1" or device_ip="10.12.12.12") and (hash="bad_hash_1" or hash="bad_hash_2"). Para criar a mesma consulta usando a ação "Executar consulta de entidade", preencha os parâmetros da ação da seguinte maneira:

Consulta index="main"
Chave da entidade de IP device_ip
Chave de entidade de hash de arquivo jogo da velha
Operador entre entidades E

Todos os outros campos podem ser deixados em branco.

Se o caso de uso for saber quantos endpoints foram afetados pelos hashes fornecidos, a configuração da "Executar consulta de entidade" terá a seguinte aparência.

Consulta index="main"
Chave de entidade de hash de arquivo jogo da velha

O "Operador entre entidades" não terá impacto nessa situação, porque só afeta a consulta quando várias "Chaves de entidade" são fornecidas.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Modo de pesquisa DDL

Inteligente

Valores possíveis:

  • Detalhado
  • Inteligente
  • Rápido

Não Especifique o modo de execução da pesquisa.
Consulta String Sim Especifique a consulta que precisa ser executada sem a cláusula "Where". Exemplo: index="_internal"
Limite de contagem de resultados Inteiro 100 Não Especifique quantos resultados retornar. Observação: esse parâmetro anexa a palavra-chave "head" à consulta fornecida. O padrão é 100.
Resultados de String -24h Não Especifique o horário de início da consulta. Padrão: -24h
Resultados para String agora Não Especifique o horário de término da consulta. Padrão: agora.
Campos de resultado CSV N/A Não

Especifique uma lista separada por vírgulas de campos que precisam ser retornados.
Observação: esse parâmetro adiciona a palavra-chave "fields" à consulta fornecida.

Chave da entidade de IP String N/A Não Especifique qual chave deve ser usada com entidades de IP. Consulte a documentação da ação para mais detalhes.
Chave da entidade de nome do host String N/A Não Especifique qual chave deve ser usada com entidades de nome de host ao preparar o . Consulte a documentação da ação para mais detalhes.
Chave de entidade de hash de arquivo String N/A Não Especifique qual chave deve ser usada com entidades de hash de arquivo. Consulte a documentação da ação para mais detalhes.
Chave da entidade do usuário String N/A Não Especifique qual chave deve ser usada com entidades de usuário. Consulte a documentação da ação para mais detalhes.
Chave da entidade de URL String N/A Não Especifique qual chave deve ser usada com entidades de URL. Consulte a documentação da ação para mais detalhes.
Chave da entidade de endereço de e-mail String N/A Não Especifique qual chave deve ser usada com entidades de endereço de e-mail. Consulte a documentação da ação para mais detalhes.
Parar se não houver entidades suficientes Caixa de seleção Selecionado Sim Se ativada, a ação não vai começar a execução, a menos que todos os tipos de entidade estejam disponíveis para as ".. chaves de entidade" especificadas. Exemplo: se "Chave da entidade de IP" e "Chave da entidade de hash de arquivo" forem especificadas, mas não houver hashes de arquivo no escopo, a ação não vai executar a consulta se esse parâmetro estiver ativado.
Operador entre entidades DDL

OU

Valores possíveis:

OU

E

Sim Especifique qual operador lógico deve ser usado entre diferentes tipos de entidade.

Executar em

Essa ação é executada nas seguintes entidades:

  • Endereço IP
  • Host
  • Usuário
  • Hash
  • URL

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_succeed Verdadeiro/falso is_succeed:False
Resultado do JSON
[{
    "app": "SA-AccessProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087674",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:58.404 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-AccessProtection;Access - Default Account Usage - Rule\", search_type=\"\", user=\"admin\", app=\"SA-AccessProtection\", savedsearch_name=\"Access - Default Account Usage - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=0, dispatch_time=1612179969, run_time=51348.242, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtQWNjZXNzUHJvdGVjdGlvbg__RMD509c859ea7b9951b8_at_1612179932_61.40533\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "0",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".404",
    "_time": "2021-02-02T04:01:58.404+02:00"
},
{
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087731",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "127.0.0.1 - admin [02/Feb/2021:04:01:58.172 +0200] \"POST /servicesNS/nobody/SA-AccessProtection/saved/searches/Access%20-%20Default%20Account%20Usage%20-%20Rule/notify?trigger.condition_state=1 HTTP/1.1\" 200 1985 - - - 3ms",
    "_serial": "1",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "splunkd_access",
    "_subsecond": ".172",
    "_time": "2021-02-02T04:01:58.172+02:00"
},
{
    "app": "SA-EndpointProtection",
    "_bkt": "_internal~425~1A082D7B-D5A1-4A2B-BB94-41C439BE3EB7",
    "_cd": "425:9087653",
    "_indextime": "1612231318",
    "_kv": "1",
    "_raw": "02-02-2021 04:01:57.804 +0200 INFO  SavedSplunker - savedsearch_id=\"nobody;SA-EndpointProtection;Endpoint - Should Timesync Host Not Syncing - Rule\", search_type=\"\", user=\"admin\", app=\"SA-EndpointProtection\", savedsearch_name=\"Endpoint - Should Timesync Host Not Syncing - Rule\", priority=default, status=success, digest_mode=1, scheduled_time=1612179932, window_time=300, dispatch_time=1612179970, run_time=51347.420, result_count=0, alert_actions=\"\", sid=\"rt_scheduler__admin_U0EtRW5kcG9pbnRQcm90ZWN0aW9u__RMD5ef3c08822811b7cd_at_1612179932_62.25751\", suppressed=1, thread_id=\"AlertNotifierWorker-0\", workload_pool=\"\"",
    "_serial": "2",
    "_si": [
        "splunk",
        "_internal"
    ],
    "_sourcetype": "scheduler",
    "_subsecond": ".804",
    "_time": "2021-02-02T04:01:57.804+02:00"
}]
Painel de casos
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se a operação for bem-sucedida e houver resultados disponíveis: "Os resultados da consulta "{0}" no Splunk foram retornados com sucesso".format(query)

Se a operação for bem-sucedida e os resultados não estiverem disponíveis: "Nenhum resultado foi encontrado para a consulta "{0}" no Splunk".format(query)

Mensagem assíncrona: "Aguardando a conclusão da execução da consulta {0}".format(nome da consulta)

Se a opção "Parar se não houver entidades suficientes" estiver ativada e não houver tipos de entidade suficientes disponíveis para as "Chaves de entidade" fornecidas (is_success=false): a ação não conseguiu criar a consulta porque não foram fornecidos tipos de entidade suficientes para as "Chaves de entidade" especificadas. Desative o parâmetro "Parar se não houver entidades suficientes" ou forneça pelo menos uma entidade para cada "Chave da entidade" especificada.

A ação precisa falhar e interromper a execução de um playbook:

Se houver um erro fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "Executar consulta de entidade". Motivo: {0}''.format(error.Stacktrace)

Se 400: "Erro ao executar a ação "Executar consulta de entidade". Motivo: {0}''.format(messages/text)

Geral
Tabela do painel de casos

Nome:resultados da consulta do Splunk

Colunas:com base nos resultados.

Geral

Conectores

Para saber mais sobre como configurar conectores no Google SecOps, consulte Ingerir seus dados (conectores).

Conector de consultas do Splunk

O conector envia consultas que fazem parte da lista dinâmica (whitelist), recupera resultados e cria um caso com base neles.

Exemplos de consultas do Splunk para visualizar os registros

  1. As consultas precisam ser inseridas como as regras da lista dinâmica (whitelist).

  2. As consultas de pesquisa com vários filtros devem usar espaço como delimitador entre os filtros de pesquisa. Por exemplo, index=cim_modactions sourcetype=modular_alerts:risk.

  3. Usar várias regras de lista dinâmica (whitelist) em vez de inserir vários filtros de pesquisa delimitados por espaço na mesma regra resulta em uma pesquisa separada executada para cada regra adicionada.

    • index=cim_modactions
    • sourcetype=modular_alerts:send_data_to_siemplify
    • index=_internal sourcetype=splunkd
    • component=sendmodalert
    • action=send_data_to_siemplify
    • index=_internal source=/opt/splunk/var/log/splunk/send_data_to_siemplify_modalert.log

Parâmetros do conector

Para configurar o conector, use os seguintes parâmetros:

Parâmetros
Product Field Name Obrigatório

Insira o nome do campo de origem para recuperar o nome Product Field.

O valor padrão é device_product.

Event Field Name Obrigatório

Insira o nome do campo de origem para recuperar o nome Event Field.

O valor padrão é app.

API Root Obrigatório

Raiz da API da instância do Splunk.

O valor padrão é https://IP:8089.

Username Obrigatório

Nome de usuário da conta do Splunk.

Password Obrigatório

Senha da conta do Splunk.

API Token Opcional

Token da API do Splunk.

Se esse campo tiver um valor, o token da API terá prioridade sobre outros métodos de autenticação.

Verify SSL Obrigatório

Se marcada, verifica se o certificado SSL da conexão com o servidor do CrowdStrike é válido.

Por padrão, essa opção não está marcada.

Environment Field Name Opcional

Nome do campo em que o nome do ambiente é armazenado.

Rule Generator Field Obrigatório

O nome do campo usado para mapear o valor do gerador de regras.

Alert Name Field Name Obrigatório

Nome do alerta.

Events Count Limit Per Query Opcional

Número máximo de eventos a serem buscados por consulta.

Max Day Backwards Opcional

Número de dias a partir de onde buscar eventos.

Aggregate Events Query Opcional

Se ativado, o conector vai combinar todos os eventos em um alerta.

Essa configuração está desativada por padrão.

PythonProcessTimeout (Seconds) Obrigatório

Limite de tempo limite para o processo Python que executa o script atual.

O valor padrão é de 60 segundos.

Proxy Server Address Opcional

Endereço do servidor proxy a ser usado.

Proxy Username Opcional

Nome de usuário do proxy para autenticação.

Proxy Password Opcional

Senha do proxy para autenticação.

Environment Regex Pattern Opcional

Um padrão de expressão regular a ser executado no valor encontrado no campo Environment Field Name.

O valor padrão .* captura todos os casos e retorna o valor sem alterações.

O parâmetro permite manipular o campo "environment" usando a lógica de expressão regular.

Se o padrão de expressão regular for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final do ambiente será o ambiente padrão.

Regras do conector

O conector é compatível com proxy.

Conector de extração do Splunk

Extrair alertas e eventos do Splunk para o Google SecOps.

Parâmetros do conector

Para configurar o conector, use os seguintes parâmetros:

Parâmetros
Product Field Name Obrigatório

Insira o nome do campo de origem para recuperar o nome Product Field.

O valor padrão é device_product.

Event Field Name Obrigatório

Insira o nome do campo de origem para recuperar o nome Event Field.

O valor padrão é name.

Environment Field Name Opcional

Nome do campo em que o nome do ambiente é armazenado.

Se o campo de ambiente não for encontrado, o ambiente resultante será "" .

O valor padrão é "".

Environment Regex Pattern Opcional

Um padrão de expressão regular a ser executado no valor encontrado no campo Environment Field Name.

O valor padrão .* captura todos os casos e retorna o valor sem alterações.

O parâmetro permite manipular o campo "environment" usando a lógica de expressão regular.

Se o padrão de expressão regular for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final do ambiente será "".

PythonProcessTimeout (Seconds) Obrigatório

Limite de tempo limite para o processo Python que executa o script atual.

O valor padrão é de 60 segundos.

Server Address Obrigatório

Endereço IP do servidor da API Splunk.

Port Obrigatório

Porta da instância do Splunk.

O valor padrão é 8089.

Username Obrigatório

Nome de usuário da conta do Splunk.

Password Obrigatório

Senha da conta do Splunk.

Time Frame Opcional

Período para buscar os alertas.

O valor padrão é 1 hora.

Exemplos:

Se o valor for definido como 1 minuto, o conector vai buscar alertas a partir de 1 minuto atrás.

Se o valor for definido como 3 horas, o conector vai buscar alertas a partir de 3 horas atrás.

Se o valor for definido como 1 dia ou semana, o conector vai buscar alertas a partir de 1 dia (24 horas) ou 1 semana atrás, respectivamente.

Alerts Count Limit Opcional

Número de alertas retornados pelo conector por uma iteração.

O valor padrão é 100.

Use SSL Opcional

Marque para ativar a conexão SSL ou TLS.

Por padrão, essa opção não está marcada.

Proxy Server Address Opcional

Endereço do servidor proxy a ser usado.

Proxy Username Opcional

Nome de usuário do proxy para autenticação.

Proxy Password Opcional

Senha do proxy para autenticação.

Regras do conector

O conector é compatível com proxy.

Splunk ES: conector de eventos notáveis

Ingerir eventos importantes do Splunk ES.

Definir a prioridade do caso

A prioridade do caso é definida pelo parâmetro Urgency no evento notável. Somente esse parâmetro é considerado ao ingerir o evento notável no Google SecOps.

Parâmetros do conector

Para configurar o conector, use os seguintes parâmetros:

Parâmetros
Product Field Name Obrigatório

Insira o nome do campo de origem para recuperar o nome Product Field.

O valor padrão é Product Name.

Event Field Name Obrigatório

Insira o nome do campo de origem para recuperar o nome Event Field.

O valor padrão é index.

Environment Field Name Opcional

Nome do campo em que o nome do ambiente é armazenado.

Se o campo de ambiente não for encontrado, o ambiente padrão será usado.

O valor padrão é "".

Environment Regex Pattern Opcional

Um padrão de expressão regular a ser executado no valor encontrado no campo Environment Field Name.

O valor padrão .* captura todos os casos e retorna o valor sem alterações.

O parâmetro permite manipular o campo "environment" usando a lógica de expressão regular.

Se o padrão de expressão regular for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final do ambiente será o ambiente padrão.

Script Timeout (Seconds) Obrigatório

Limite de tempo limite para o processo Python que executa o script atual.

O valor padrão é de 180 segundos.

Server Address Obrigatório

Endereço do servidor da instância do Splunk.

O valor padrão é https://:8089.

Username Opcional

Nome de usuário da conta do Splunk.

Password Opcional

Senha da conta do Splunk.

API Token Obrigatório

Token da API do Splunk.

Se esse campo tiver um valor, o token da API terá prioridade sobre outros métodos de autenticação.

Lowest Urgency To Fetch Obrigatório

A menor urgência usada para buscar eventos importantes.

Os valores possíveis são:

  • Informational
  • Low
  • Medium
  • High
  • Critical

O valor padrão é Medium.

Fetch Max Hours Backwards Opcional

Quantidade de horas de onde buscar eventos notáveis.

O valor padrão é 1 hora.

Only Drilldown Events Opcional

Se ativado, o conector tentará buscar eventos de detalhamento sem buscar eventos básicos. Esse parâmetro exige que a opção Fetch Base Events esteja ativada.

Essa configuração está desativada por padrão.

Padding Time Opcional

Quantidade de horas que será usada como padding.

Se nenhum valor for fornecido, esse parâmetro não será aplicável.

O valor máximo é de 12 horas.

Max Notable Events To Fetch Opcional

Número de eventos notáveis a serem processados por uma iteração do conector.

O valor padrão é 10.

Use whitelist as a blacklist Obrigatório

Se ativada, a lista dinâmica será usada como uma lista de bloqueio.

Essa configuração está desativada por padrão.

Verify SSL Obrigatório

Se marcada, verifica se o certificado SSL da conexão com o servidor do CrowdStrike é válido.

Por padrão, essa opção não está marcada.

Proxy Server Address Opcional

Endereço do servidor proxy a ser usado.

Proxy Username Opcional

Nome de usuário do proxy para autenticação.

Proxy Password Opcional

Senha do proxy para autenticação.

Query Filter Opcional

Filtro de consulta adicional enviado ao Splunk para receber eventos notáveis.

O valor fornecido aqui é anexado à cláusula de consulta WHERE.

Extract Base Events Opcional

Se ativado, o conector extrai eventos de base relacionados ao evento notável usando informações sobre o job. Caso contrário, o conector cria um evento do Google SecOps com base no evento notável.

Se esse parâmetro estiver definido como True, mas o conector não puder trabalhar com jobs, ele usará informações sobre eventos notáveis como um mecanismo de substituição.

Ativado por padrão.

Multivalue Fields Opcional

Uma lista separada por vírgulas de campos que contêm várias entidades.

Por exemplo, se um campo contiver dois nomes de host, o evento notável será dividido em dois eventos do Google SecOps para mapear as entidades corretamente.

Notable Event Data Along Base Event Opcional

Se ativado, o conector adiciona eventos do Google SecOps com base no evento notável, além dos eventos básicos.

Essa configuração está desativada por padrão.

Rule Generator Field Name Opcional

O nome do campo usado para mapear o valor do gerador de regras.

Somente as informações sobre o evento notável são usadas para mapeamento. Os eventos são ignorados. Se um valor inválido for fornecido, o conector definirá o campo como o valor rule_name.

Alert Name Source Opcional

Origem do nome do alerta.

Os valores possíveis são:

  • Search Name
  • Rule Name

O valor padrão é Search Name.

Como usar o parâmetro Query Filter

Se for necessário restringir os eventos notáveis com base em parâmetros específicos, use o parâmetro Query Filter. O valor fornecido nesse parâmetro é anexado à cláusula WHERE da consulta enviada para receber eventos notáveis.

Confira um exemplo de consulta enviada:

(`get_notable_index` OR `get_sequenced_index`) | eval `get_event_id_meval`,
rule_id=event_id | tags outputfield=tag | `mvappend_field(tag,orig_tag)` |
`notable_xref_lookup` | `get_correlations` | `get_current_status` | `get_owner`
| `get_urgency` | typer | where (urgency="medium" AND urgency="low") AND
(status_label="Unassigned" OR status_label="New")  | tail 50 | fields *

Por exemplo, se Query Filter = isTesting = True, a consulta vai aparecer da seguinte forma:

search (`get_notable_index` OR `get_sequenced_index`) | eval epoch=_time | eval
`get_event_id_meval`,rule_id=event_id | tags outputfield=tag |
`mvappend_field(tag,orig_tag)` | `notable_xref_lookup` | `get_correlations` |
`get_current_status` | `get_owner` | `get_urgency` | typer | where
(urgency!="informational" AND urgency!="low" **AND isTesting = "True"**) |
fields *

Regras do conector

O conector do Splunk ES usa listas dinâmicas e de bloqueio (whitelist e blacklist). Ele usa o campo search_name do evento para comparar com a lista dinâmica.

Evento do conector

[{
    "indicator": "2012/06/29_21:50", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-578a9be5-0e03-4ec0-940d-4b1842f40fd0", 
    "date_last": "2020-07-15 08:12:07 AM",
"Url": "indicator"
  },{
    "indicator": "2010/12/19_16:35", 
    "tlp": "TLP:RED", 
    "itype": "mal_url", 
    "severity": "very-high", 
    "classification": "public", 
    "detail": "", 
    "confidence": 50, 
    "actor": "", 
    "feed_name": "import", 
    "source": "admin", 
    "feed_site_netloc": "localhost", 
    "campaign": "", 
    "type": "url", 
    "id": "anomali:indicator-52cadd07-330a-45fd-962f-32e22d36a89a", 
    "date_last": "2020-07-15 08:12:07 AM"
  }]

Jobs

Para mais informações sobre jobs, consulte Configurar um novo job e Programação avançada.

Sincronizar eventos fechados do Splunk ES

Sincroniza eventos notáveis fechados do Splunk ES e alertas do Google SecOps.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Endereço do servidor String https://IP:8089 Sim Endereço do servidor da instância do Splunk.
Nome de usuário String N/A Não Nome de usuário da conta do Splunk.
Senha Senha N/A Não Senha da conta do Splunk.
Token da API Senha N/A Sim Token da API do Splunk. O token de API tem prioridade sobre outros métodos de autenticação quando este campo não está vazio.
Máximo de horas para trás Inteiro 24 Sim Especifique quantas horas retroceder para sincronizar os status. Padrão: 24 horas.
Verificar SSL Caixa de seleção Selecionado Sim Se ativada, verifique se o certificado SSL da conexão com o servidor do Splunk é válido.

Sincronizar comentários do Splunk ES

Esse job sincroniza comentários em eventos do Splunk ES e casos do Google SecOps.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Endereço do servidor String https://IP:8089 Sim Endereço do servidor da instância do Splunk.
Nome de usuário String N/A Não Nome de usuário da conta do Splunk.
Senha Senha N/A Não Senha da conta do Splunk.
Token da API Senha N/A Sim Token da API do Splunk. O token de API tem prioridade sobre outros métodos de autenticação quando este campo não está vazio.
Verificar SSL Caixa de seleção Selecionado Sim Se ativada, verifique se o certificado SSL da conexão com o servidor do Splunk é válido.

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