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
Faça login no console do ArcSight.
Acesse a guia Relatórios e vá até a seção Consulta.
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
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.
Defina as condições. É aqui que você pode fornecer seu próprio filtro.
Salve a consulta.
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.Na guia Dados, selecione a consulta criada nas etapas anteriores como Fonte de dados.
Na guia Parâmetros, mude o Formato do relatório para csv e atenda aos requisitos do conector.
Salve o relatório.
Informe o nome do relatório na configuração do conector no parâmetro Nome do relatório.
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
Encontre
UID
eGID
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 oGID
é o quarto na saída do comando.Crie o script:
Crie um arquivo e chame-o de
configure_smp_nfs.sh
.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
Declare as variáveis
uid
,gid
earcisght_ip
de acordo com seu ambiente.Conceda as permissões:
chmod +x configure_smp_nfs.sh
Execute o script:
./configure_smp_nfs.sh
Servidor ArcSight
Crie o script:
Crie um arquivo e chame-o de
configure_smp_nfs.sh
.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
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:
Antes de iniciar o upgrade, pare o serviço do servidor NFS:
_systemctl stop nfs-server_
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_
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
Faça login no console do ArcSight.
Crie um grupo de usuários
Google_SecOps_API
e adicione um usuárioGoogle_SecOps_API
a ele. Esse usuário será usado pelo Google SecOps pela API ArcSight ESM.Acesse a guia Atributos e defina o atributo Tipo de usuário como
Normal User
.Na guia Recursos, clique com o botão direito do mouse no grupo de usuários criado.
No menu, escolha Editar controle de acesso.
Na janela Inspecionar/Editar do editor de ACL:
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.Use as configurações padrão para as outras guias.
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 |
Pesquisar
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 é O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor 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 Observação:o parâmetro "Caminho da pasta de casos" pode ser alterado de um cliente para outro. Caminho completo. Exemplo: |
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 é O nome do produto afeta principalmente o mapeamento. Para simplificar e melhorar o processo de mapeamento do conector, o valor 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 Use o valor padrão 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.