Coletar registros do Archer IRM
Este documento explica como ingerir registros do Archer IRM (Integrated Risk Management) no Google Security Operations usando o Bindplane. Primeiro, o analisador tenta estruturar os dados do SYSLOG usando um padrão Grok específico. Se o padrão não corresponder, ele vai assumir um formato de chave-valor, extrair campos e mapeá-los para o Modelo Unificado de Dados (UDM, na sigla em inglês), processando diferentes tipos de eventos e informações de recursos de banco de dados ao longo do caminho.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- Um host Windows 2016 ou mais recente ou Linux com
systemd
- Se estiver executando por trás de um proxy, as portas do firewall estarão abertas.
- Instância local do Archer IRM 6.x com o recurso Geração de registros de auditoria licenciado
- Acesso administrativo ao Painel de controle do Archer
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.
Receber o ID do cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- Copie e salve o ID do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.
Instalação do Windows
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Outros recursos de instalação
Para mais opções de instalação, consulte o guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- Acesse o arquivo de configuração:
- Localize o arquivo
config.yaml
. Normalmente, ele fica no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o arquivo usando um editor de texto (por exemplo,
nano
,vi
ou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yaml
da seguinte forma:receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:6514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARCHER_IRM' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<customer_id>
pelo ID do cliente real. - Atualize
/path/to/ingestion-authentication-file.json
para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.
Reinicie o agente do Bindplane para aplicar as mudanças
Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar o Syslog para o registro de auditoria do Archer IRM
- Abra o Painel de controle do Archer no servidor de aplicativos.
- Acesse Gerenciamento de instâncias > Todas as instâncias e clique duas vezes na instância de destino.
- Na guia Geral, encontre a seção Auditoria e marque a caixa de seleção Ativar o registro de auditoria para esta instância.
- Informe os seguintes detalhes de configuração:
- Nome do host ou endereço IP: insira o endereço IP do agente do Bindplane.
- Porta: insira o número da porta do agente do Bindplane, por exemplo, 6514.
- Versão IP: selecione IPv4.
- Método de tráfego IP: selecione TCP.
- Clique em Testar conexão (disponível apenas quando o TCP está selecionado) para verificar a conectividade.
- Clique em Salvar.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
ArcherInstance | additional.fields.ArcherInstance.string_value | Extraído do campo ArcherInstance na mensagem de registro bruta. |
ArcherLog | Esse campo é analisado, e os dados dele são mapeados para outros campos da UDM. | |
ArcherVersion | additional.fields.ArcherVersion.string_value | Extraído do campo ArcherVersion na mensagem de registro bruta. |
InputParameter | additional.fields.InputParameter.string_value | Extraído do campo InputParameter na mensagem de registro bruta. |
LogSourceIdentifier | Esse campo é analisado, e os dados dele são mapeados para outros campos da UDM. | |
MethodName | additional.fields.MethodName.string_value | Extraído do campo MethodName na mensagem de registro bruta. |
OutputValues | additional.fields.OutputValue.string_value | Extraído do campo OutputValues na mensagem de registro bruta. |
Sucesso | security_result.summary | O valor é definido como Success: concatenado com o valor do campo Success na mensagem de registro bruta. |
UserId | principal.user.userid | Extraído do campo UserId na mensagem de registro bruta. |
Nome de usuário | principal.user.user_display_name | Extraído do campo UserName na mensagem de registro bruta. |
DB_DRIVER | target.resource.attribute.labels.db_driver.value | Extraído do campo DB_DRIVER na mensagem de registro bruta. |
DB_HOST | target.resource.attribute.labels.db_host.value | Extraído do campo DB_HOST na mensagem de registro bruta. |
DB_NAME | target.resource.attribute.labels.db_name.value | Extraído do campo DB_NAME na mensagem de registro bruta. |
DB_PORT | target.resource.attribute.labels.db_port.value | Extraído do campo DB_PORT na mensagem de registro bruta. |
DB_URL | target.resource.attribute.labels.db_url.value | Extraído do campo DB_URL na mensagem de registro bruta. |
company_security_event_id | metadata.product_log_id | Extraído do campo company_security_event_id na mensagem de registro bruta. |
create_date | metadata.event_timestamp | Convertido para carimbo de data/hora do formato UNIX_MS. |
databasename | target.resource.attribute.labels.db_name.value | Extraído do campo databasename na mensagem de registro bruta se DB_NAME não estiver presente. |
criptografar | security_result.detection_fields.encrypt.value | Extraído do campo encrypt na mensagem de registro bruta. |
eventid | metadata.product_event_type | Extraído do campo eventid na mensagem de registro bruta. |
eventtime | metadata.event_timestamp | Convertido para carimbo de data/hora de vários formatos. |
integratedSecurity | security_result.detection_fields.integratedSecurity.value | Extraído do campo integratedSecurity na mensagem de registro bruta. |
N/A | extensions.auth.type | Definido como AUTHTYPE_UNSPECIFIED para eventos USER_LOGIN e USER_LOGOUT. |
N/A | metadata.event_type | Defina como USER_RESOURCE_ACCESS se o registro for analisado pelo padrão grok. Defina como USER_LOGIN se security_event_name for User Login . Defina como USER_LOGOUT se security_event_name for User Logout . Defina como USER_RESOURCE_ACCESS se security_event_name contiver Security Events . Caso contrário, defina como GENERIC_EVENT . |
N/A | metadata.log_type | Defina como ARCHER_IRM . |
N/A | metadata.product_name | Defina como Archer se o registro for analisado pelo padrão grok. Caso contrário, defina como RSA . |
N/A | metadata.vendor_name | Defina como RSA se o registro for analisado pelo padrão grok. Caso contrário, defina como Archer . |
N/A | principal.ip | Defina como 1.2.3.4 se o registro for analisado pelo padrão grok. |
N/A | principal.port | Definido como o valor extraído de LogSourceIdentifier se o registro for analisado pelo padrão grok. |
N/A | security_result.action | Defina como ALLOW se Success for True . Caso contrário, defina como BLOCK . |
N/A | target.resource.resource_type | Defina como DATABASE se houver campos relacionados ao banco de dados. |
source_user | principal.user.userid | Extraído do campo source_user na mensagem de registro bruta. |
target_user | target.user.userid | Extraído do campo target_user na mensagem de registro bruta. |
trustServerCertificate | security_result.detection_fields.trustServerCertificate.value | Extraído do campo trustServerCertificate na mensagem de registro bruta. |
version | metadata.product_version | Extraído do campo version na mensagem de registro bruta. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.