Integrar o ArcSight ao Google SecOps

Este documento descreve como integrar o ArcSight ao Google Security Operations (Google SecOps).

Versão da integração: 42.0

Pré-requisitos do conector de eventos de segurança

Esse conector funciona com os relatórios gerados automaticamente no ArcSight. O conector baixa o relatório gerado, extrai IDs de eventos e usa a API do ArcSight para receber mais detalhes sobre os eventos.

Configurar o conector de eventos de segurança

  1. Faça login no console do ArcSight.

  2. Acesse a guia Relatórios e vá até a seção Consulta.

  3. Para criar uma consulta, insira o seguinte nome: Google SecOps SOAR Security Events Connector Query.

    Preste atenção aos parâmetros Horário de início e Horário de término. Recomendamos consultar dados em um intervalo de uma hora, mas é possível aumentar esse período, se necessário.

    Exemplo de configuração:

    • Nome:Google SecOps SOAR Security Events Connector Query
    • Consulta em:evento
    • Horário de início:$Now - 1h
    • Horário de término:$Now
    • Usar como carimbo de data/hora:horário de término
    • Limite de linhas:5.000
  4. Defina os campos da consulta. Em termos de campos, você precisa ter o seguinte:

    • ID do evento
    • Nome
    • Horário de início
    • Horário de término
    • Prioridade

    Verifique se você tem Hora de término ASC na coluna Ordenar por.

  5. Defina as condições. É aqui que você pode fornecer seu próprio filtro.

  6. Salve a consulta.

  7. Acesse a seção Relatórios e crie um relatório. Para especificar o relatório, insira o seguinte nome: Google SecOps SOAR Security Events Connector Report. Use o mesmo nome para o parâmetro Nome do relatório da configuração do conector.

  8. Na guia Dados, selecione a consulta criada nas etapas anteriores como Fonte de dados.

  9. Na guia Parâmetros, mude o Formato do relatório para csv e atenda aos requisitos do conector.

  10. Salve o relatório.

  11. Informe o nome do relatório na configuração do conector no parâmetro Nome do relatório.

  12. Faça um teste para verificar se o conector funciona conforme o esperado.

Configurar a pasta compartilhada do Google SecOps para o ArcSight

Servidor do Google SecOps

  1. Encontre UID e GID no arquivo /etc/passwd:

    cat /etc/passwd | grep scripting

    Confira um exemplo de saída do comando:

    scripting:x:1001:1001:/home/scripting:/bin/bash

    O UID é o terceiro campo e o GID é o quarto na saída do comando.

  2. Crie o script:

    1. Crie um arquivo e chame-o de configure_smp_nfs.sh.

    2. Copie o conteúdo a seguir para esse arquivo.

      #!/bin/bash
      
      #Declare the variables:
      uid=SCRIPTING_USER_UID
      gid=SCRIPTING_USER_GID
      arcsight_ip=ARCSIGHT_IP
      
      #Install nfs-utils
      yum install nfs-utils -y
      #Create the directory that will be shared
      mkdir /opt/Correlations
      #Change the permissions
      chmod -R 755 /opt/Correlations/
      chown -R scripting:scripting /opt/Correlations/
      #Start the services and enable them to be started at boot time
      systemctl enable rpcbind
      systemctl enable nfs-server
      systemctl enable nfs-lock
      systemctl enable nfs-idmap
      systemctl start rpcbind
      systemctl start nfs-server
      systemctl start nfs-lock
      systemctl start nfs-idmap
      
      #Edit the exports file as follows
      echo "/opt/Correlations/ $arcsight_ip(rw,sync,all_squash,anonuid=$uid,anongid=$gid)">>/etc/exports
      #Restart the NFS service and export the path
      systemctl restart nfs-server
      exportfs -a
      #If FirewallD is running add the next rules:
      firewall-cmd --permanent --zone=public --add-service=nfs
      firewall-cmd --permanent --zone=public --add-service=mountd
      firewall-cmd --permanent --zone=public --add-service=rpc-bind
      firewall-cmd --reload
      setsebool -P nfs_export_all_rw 1
      
    3. Declare as variáveis uid, gid e arcisght_ip de acordo com seu ambiente.

    4. Conceda as permissões:

      chmod +x configure_smp_nfs.sh

    5. Execute o script:

      ./configure_smp_nfs.sh

Servidor ArcSight

  1. Crie o script:

    1. Crie um arquivo e chame-o de configure_smp_nfs.sh.

    2. Copie o conteúdo a seguir para esse arquivo.

      #!/bin/bash
      #Declare the variables:
      siemplify_ip=SIEMPLIFY_IP
      
      #Install nfs-utils
      yum install nfs-utils -y
      #Start the services and enable them to be started at boot time
      systemctl enable rpcbind
      systemctl enable nfs-server
      systemctl enable nfs-lock
      systemctl enable nfs-idmap
      systemctl start rpcbind
      systemctl start nfs-server
      systemctl start nfs-lock
      systemctl start nfs-idmap
      #If FirewallD is running add the next rules:
      firewall-cmd --permanent --zone=public --add-service=nfs
      firewall-cmd --permanent --zone=public --add-service=mountd
      firewall-cmd --permanent --zone=public --add-service=rpc-bind
      firewall-cmd --reload
      #Create the NFS directory mount point
      mkdir -p /mnt/nfs/var/SiemShare
      #Add the values:
      echo "$siemplify_ip:/opt/Correlations /mnt/nfs/var/SiemShare nfs defaults 0 0">>/etc/fstab
      mount -a
      
    3. Declare a variável siemplify_ip de acordo com seu ambiente.

Observação para clientes que usam o caminho antigo

O instalador do hotfix substitui a permissão da pasta /opt/siemplify/Correlations por siemplifyadmin.

Se você estiver usando o caminho antigo e aplicando o upgrade, mude a permissão de volta para o usuário de script seguindo estas etapas:

  1. Antes de iniciar o upgrade, pare o serviço do servidor NFS:

    _systemctl stop nfs-server_

  2. Depois que o upgrade for concluído, mude as permissões da pasta:

    _chmod -R 755 /opt/siemplify/Correlations/_

    _chown -R scripting:scripting/opt/siemplify/Correlations/_

    _systemctl start nfs-server_

    _exportfs -a_

  3. Para confirmar se o servidor NFS está funcionando corretamente após as mudanças, verifique o status dele:

    _systemctl status nfs-server_

Criar e configurar um usuário para acesso à API

  1. Faça login no console do ArcSight.

  2. Crie um grupo de usuários Google_SecOps_API e adicione um usuário Google_SecOps_API a ele. Esse usuário será usado pelo Google SecOps pela API ArcSight ESM.

    1. Acesse a guia Atributos e defina o atributo Tipo de usuário como Normal User.

    2. Na guia Recursos, clique com o botão direito do mouse no grupo de usuários criado.

    3. No menu, escolha Editar controle de acesso.

    4. Na janela Inspecionar/Editar do editor de ACL:

      1. Na guia Eventos, adicione o filtro criado anteriormente, Google_SecOps_Correlations_Filter. Também é possível adicionar qualquer filtro de origem para conceder acesso ao Google SecOps.

      2. Use as configurações padrão para as outras guias.

      3. Clique em Adicionar, selecione ArcSight System > Core e marque a caixa de seleção Todos os eventos.

        É importante verificar se a caixa de seleção Todos os eventos está marcada. O requisito mínimo é incluir todos os eventos de correlação que serão ingeridos no Google SecOps.

O Google Security Operations usa os seguintes métodos principais ao usar a API do ArcSight ESM:

  • Serviço principal: Login, GetSession

  • Serviço do gerente: GetSecurityEvents

Acesso à rede com o ArcSight ESM

Para acessar do Google SecOps ao ArcSight ESM, permita o tráfego pelas portas 443 (HTTPS) e 8443 (API por SSL) ou conforme configurado no seu ambiente.

Para acessar do ArcSight ESM ao Google SecOps, permita o tráfego pelas portas 445 e 139 (SMB/SAMBA/CIFS) ou conforme configurado no seu ambiente.

Função Portas Direção Protocolo
NFS 111, 1039, 1047, 1048 e 2049 Prospecção ativa e passiva UDP
NFS 111, 1039, 1047, 1048 e 2049 Saída e entrada TCP

Parâmetros de integração

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

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

Nome 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ê quer configurar a integração.
Descrição String N/A Não Descrição da instância.
Raiz da API String https://{IP}:{PORT} Sim Endereço do servidor da instância do ArcSight.
Nome de usuário String N/A Sim Nome de usuário da conta do ArcSight.
Senha Senha N/A Sim Senha da conta do ArcSight.
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

Adicionar entradas à lista ativa

Descrição

Fornece um mecanismo para receber informações de tendências fora e além dos relatórios. As listas ativas atualizadas por tendências oferecem visualizações de resumo de informações de várias tendências.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Colunas String N/A Sim Exemplo: Message;Username
Entradas String N/A Sim Exemplo: test1|Me1;Test|Me2
UUID da lista ativa String N/A Sim Exemplo: HCN75QGABABCZXCOdT9P51w==

Data de execução

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 True ou false is_succeed:False

Alterar etapa do caso

Descrição

Mudar a etapa de um caso. As fases válidas são INITIAL, QUEUED, CLOSED, FINAL e FOLLOW_UP.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do caso String N/A Sim O nome do caso a ser atualizado.
Fase String N/A Sim A etapa do caso. Exemplo: CLOSED, INITIAL

Data de execução

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
sucesso True ou false success:False

Receber entradas da lista ativa

Descrição

Recupera entradas de lista ativa do ArcSight e retorna a saída CSV.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
UUID da lista ativa String N/A Sim Exemplo: HTcILQWABABCr553ieI0Xmw==

Data de execução

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
Success_Indicator N/A N/A
Resultado JSON
[
"12346e4d96f0a72c42015d69aaf0e8ab ,
 file.txt",
 "0e0776034e5e096704cd28cbd40cdbb5 ,
 Test.config"
]

Receber resultados da consulta

Descrição

Recebe os resultados da consulta pelo ID dela. Uma consulta pode ser usada como a fonte de dados principal de um relatório ou como uma tendência (baseada em uma consulta) que pode ser usada como fonte de dados para outra consulta que refina ainda mais o resultado inicial.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
ID da consulta String N/A Sim O ID da consulta.
Número máximo de itens a serem retornados Número inteiro 100 Não Especifique quantos itens retornar na resposta.

Casos de uso

Adicione uma limitação de quantos resultados retornar.

Data de execução

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
sucesso True ou false success:False
Resultado JSON
[
    {
        "Target User Name": "user",
        "Attacker Address": "192.0.2.1",
        "External ID": "127",
        "Name": "A Kerberos authentication ticket (TGT) was requested.",
        "Target Address": "192.0.2.1"
    },{
        "Target User Name": "user",
        "Attacker Address": "192.0.2.1",
        "External ID": "127",
        "Name": "A Kerberos authentication ticket (TGT) was requested.",
        "Target Address": "192.0.2.1"
    }
]

Acessar relatório

Descrição

Receber um relatório com campos dinâmicos. Um relatório é um recurso do ArcSight que vincula dados de uma consulta ou tendência a um modelo de relatório. Depois de executados, os resultados de um relatório podem ser visualizados no painel do visualizador de consoles do ArcSight, salvos (arquivados) ou exportados em vários formatos. Os relatórios podem ser programados para serem executados em intervalos regulares e sob demanda, conforme necessário.

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Caminho completo do relatório (URI) String N/A Sim O URI do relatório relevante.
Campo 2 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 3 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 4 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 6 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 6 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 7 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 8 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 9 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.
Campo 10 String N/A Não Os campos dinâmicos da consulta para gerar o relatório.

Data de execução

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
json_report N/A N/A

Is Value in Activelist Column

Descrição

Verifica se um valor específico está na lista ativa .

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
UUID da lista ativa String N/A Sim UUID da lista ativa. Exemplo: cuser.
Nome da coluna String N/A Sim O nome da coluna. Exemplo: sourceUserName.

Data de execução

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
Success_Indicator N/A N/A

Ping

Descrição

Teste a conectividade.

Parâmetros

Data de execução

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 True ou false is_succeed:False

Descrição

Você pode iniciar uma pesquisa na Central de comandos do ArcSight no canal de eventos do console. A pesquisa de conclusão de evento procura o atributo associado, que é armazenado em vários campos (por exemplo, abc). A pesquisa de eventos procura um valor (por exemplo, abc) armazenado no campo especificado (por exemplo, no campo de nome apenas).

Parâmetros

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Consulta de pesquisa String N/A Sim A consulta de pesquisa.
Número máximo de itens a serem retornados Número inteiro 100 Não Especifique quantos itens retornar na resposta.

Casos de uso

Adicione uma limitação de quantos resultados retornar.

Data de execução

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
sucesso True ou false success:False
Resultado JSON
[
    {
        "score": 1.2440307,
        "uuid": "UUID",
        "uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
        "name": "Attacker IPv6 Address"
    }, {
        "score": 1.2440307,
        "uuid": "UUID",
        "uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
        "name": "Attacker IPv6 Address"
    }
]

Conectores

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

Conector do ArcSight ESM

Este guia se refere às versões 6.9.1 e mais recentes do ArcSight ESM.

Encaminhamento de regra ou caso do ESM para o Google SecOps

Como trabalhar com regras/correlações acionadas

Você precisará configurar o ArcSight ESM para encaminhar os objetos de correlação mais recentes ao Google SecOps enquanto configura o Google SecOps para funcionar no ArcSight ESM como um provedor de SIEM e também para fornecer acesso à API ao ArcSight ESM por um usuário autorizado.

Com esse recurso, o Google SecOps pode recuperar regras acionadas no ArcSight ESM quase em tempo real e encaminhá-las para serem traduzidas e contextualizadas como alertas para casos.

Fluxo de dados entre o Google SecOps e o ArcSight ESM

O Google SecOps indexa e contextualiza automaticamente as correlações encaminhadas para o Google SecOps e acionadas no ArcSight ESM pelo módulo ArcSight Forwarding Connector e acesso à API.

Priorização da gravidade do conector

O conector atribui a gravidade com os seguintes valores de priorização:

  • 1 e 2: muito baixa
  • 3 e 4: baixo
  • 5 e 6: médio
  • 7 e 8: alto
  • 9 e 10: crítica

Entradas do conector

Use os seguintes parâmetros para configurar o conector:

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Ambiente DDL N/A Sim

Selecione o ambiente necessário, por exemplo, Cliente Um.

Caso o campo "Ambiente" do alerta esteja vazio, ele será injetado neste ambiente.

Executar a cada Número inteiro 0:0:0:10 Não Selecione o horário para executar a conexão.
Nome do campo do produto String device_product Não

O nome do campo em que o nome do produto é armazenado.

O valor padrão é device_product.

O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor padrão device_product é resolvido como um valor substituto referenciado no código. Qualquer entrada inválida para esse parâmetro será resolvida com um valor de substituição por padrão.

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 500 Não O limite de tempo (em segundos) para o processo Python que executa o script atual.
Endereço do servidor String N/A Sim https://{IP}:{PORT}
Nome de usuário String N/A Sim Nome de usuário da conta do ArcSight.
Senha Senha N/A Sim A senha da conta do ArcSight.
Limite de contagem de eventos Número inteiro 15 Sim Insira o número máximo de eventos a serem buscados por correlação. Limite o número de eventos, por exemplo, 10.
Caminho da pasta de casos String I:\SiemShare\CorrelationSource Sim

O local dos arquivos de caso, como I:\SiemShare\CorrelationSource

Observação:o parâmetro "Caminho da pasta de casos" pode ser alterado de um cliente para outro.

Caminho completo. Exemplo: C:\Desktop\CorrelationSource

Limite de contagem de alertas Número inteiro 10 Sim O número máximo de alertas a serem processados por ciclo de conector, por exemplo, 10.
Nome do campo de ambiente String event.customerURI Sim O nome do campo para receber o ambiente do caso. Por exemplo, "event.customerUri".
Campo de produto do dispositivo secundário String N/A Não Substitua o campo do produto original (do DeviceProductField do conector pelo valor do campo do produto secundário). Exemplo: CustomDeviceString2
Nomes de campos personalizados de alerta String N/A Não Extraia valores de campos personalizados do ArcSight para o alerta, como baseEventCount,agent_address,device_assetId.
Dias de retenção de arquivos concluídos Número inteiro 3 Sim Quantos dias manter cada arquivo CSV "DONE".
Dias de retenção de arquivos de erro Número inteiro 14 Sim Quantos dias manter cada arquivo CSV de erro.
Endereço do servidor proxy String N/A Não O endereço do servidor proxy a ser usado.
Nome de usuário do proxy String N/A Não O nome de usuário do proxy para autenticação.
Senha do proxy Senha N/A Não A senha do proxy para autenticação.

Regras do conector

O conector é compatível com proxies.

ArcSight: conector de eventos de segurança

Extraia correlações do ArcSight. Esse conector é adequado para implantação de SaaS do Google SecOps e é o recomendado para uso em produção.

Esse conector exige a conclusão das etapas de pré-requisito.

Entradas do conector

Use os seguintes parâmetros para configurar o conector:

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome do campo do produto String tipo Sim

O nome do campo em que o nome do produto é armazenado.

O valor padrão é type.

O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor padrão type é resolvido como um valor substituto referenciado no código. Qualquer entrada inválida para esse parâmetro será resolvida como um valor de substituição por padrão.

Nome do campo do evento String nome Sim

O nome do campo que determina o nome do evento (subtipo).

Nome do campo de ambiente String "" Não

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

Se o campo "environment" estiver ausente, o conector usará o valor padrão.

Environment Regex Pattern String .* FALSO Não

Um padrão de expressão regular a ser executado no valor encontrado no campo Environment Field Name. Com esse parâmetro, é possível manipular o campo "environment" usando a lógica de expressão regular.

Use o valor padrão .* para extrair o valor Environment Field Name bruto necessário.

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

Tempo limite do script (segundos) Número inteiro 360 Sim

O limite de tempo limite, em segundos, para o processo do Python que executa o script atual.

Raiz da API String https://{ip} Sim A raiz da API da instância do ArcSight.
Nome de usuário String N/A Sim Nome de usuário da conta do ArcSight.
Senha Senha N/A Sim Senha da conta do ArcSight.
Nome do relatório String N/A Sim Nome do relatório que será usado para buscar eventos.
Buscar eventos básicos Caixa de seleção Selecionado Sim Se ativado, o conector também vai buscar eventos básicos.
Menor prioridade a ser buscada Número inteiro N/A Não A prioridade mais baixa que será usada para buscar eventos. Os valores possíveis estão no intervalo de 1 a 10. Se nada for informado, todos os eventos serão ingeridos.
Número máximo de eventos a serem buscados Número inteiro 100 Não O número de alertas a serem processados por iteração do conector. O máximo permitido é 1.000.
Usar uma lista dinâmica como lista de bloqueio Caixa de seleção Selecionado Sim

Se selecionado, o conector usa a lista dinâmica como uma lista de bloqueio.

Verificar SSL Caixa de seleção Desmarcado Sim Se selecionada, a integração valida o certificado SSL ao se conectar ao servidor ArcSight.
Endereço do servidor proxy String N/A Não O endereço do servidor proxy a ser usado.
Nome de usuário do proxy String N/A Não O nome de usuário do proxy para autenticação.
Senha do proxy Senha Não A senha do proxy para autenticação.

Regras do conector

O conector é compatível com proxies.

Jobs

Fechar casos

O trabalho requer os seguintes parâmetros:

Nome do parâmetro Tipo Valor padrão É obrigatório Descrição
Endereço do servidor String 192.0.2.1 Sim N/A
Nome de usuário String N/A Sim N/A
Senha Senha N/A Sim N/A

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