Recolha registos do Archer IRM
Este documento explica como carregar registos do Archer IRM (Integrated Risk Management) para o Google Security Operations através do Bindplane. O analisador tenta primeiro estruturar os dados SYSLOG através de um padrão Grok específico. Se o padrão não corresponder, assume um formato de chave-valor, extrai campos e mapeia-os para o modelo de dados unificado (UDM), processando diferentes tipos de eventos e informações de recursos da base de dados ao longo do processo.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps
- Um anfitrião Windows 2016 ou posterior, ou um anfitrião Linux com
systemd
- Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
- Instância no local do Archer IRM 6.x com a funcionalidade Registo de auditoria licenciada
- Acesso administrativo ao painel de controlo do Archer
Obtenha o ficheiro de autenticação de carregamento do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.
Obtenha o ID de cliente do Google SecOps
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- Copie e guarde o ID do cliente da secção Detalhes da organização.
Instale o agente do Bindplane
Instale o agente do Bindplane no seu sistema operativo Windows ou Linux de acordo com as seguintes instruções.
Instalação do Windows
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte 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 raiz ou sudo.
Execute o seguinte comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalação adicionais
Para ver opções de instalação adicionais, consulte o guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
- Aceda ao ficheiro de configuração:
- Localize o ficheiro
config.yaml
. Normalmente, encontra-se no diretório/etc/bindplane-agent/
no Linux ou no diretório de instalação no Windows. - Abra o ficheiro com um editor de texto (por exemplo,
nano
,vi
ou Bloco de notas).
- Localize o ficheiro
Edite o ficheiro
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 de cliente real. - Atualize
/path/to/ingestion-authentication-file.json
para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
Reinicie o agente do Bindplane para aplicar as alterações
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart bindplane-agent
Para reiniciar o agente Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configure o Syslog para o registo de auditoria do Archer IRM
- Abra o Archer Control Panel no servidor de aplicações.
- Aceda a Gestão de instâncias > Todas as instâncias e clique duas vezes na instância de destino.
- No separador Geral, localize a secção Auditoria e selecione a caixa de verificação Ativar registo de auditoria para esta instância.
- Indique os seguintes detalhes de configuração:
- Nome do anfitrião ou endereço IP: introduza o endereço IP do agente do Bindplane.
- Porta: introduza o número da porta do agente do Bindplane (por exemplo, 6514).
- Versão do IP: selecione IPv4.
- Método de tráfego IP: selecione TCP.
- Clique em Testar ligação (disponível apenas quando o TCP está selecionado) para verificar a conetividade.
- Clique em Guardar.
Tabela de mapeamento do UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
ArcherInstance | additional.fields.ArcherInstance.string_value | Extraído do campo ArcherInstance na mensagem de registo não processada. |
ArcherLog | Este campo é analisado e os respetivos dados são mapeados para outros campos da UDM. | |
ArcherVersion | additional.fields.ArcherVersion.string_value | Extraído do campo ArcherVersion na mensagem de registo não processada. |
InputParameter | additional.fields.InputParameter.string_value | Extraído do campo InputParameter na mensagem de registo não processada. |
LogSourceIdentifier | Este campo é analisado e os respetivos dados são mapeados para outros campos da UDM. | |
MethodName | additional.fields.MethodName.string_value | Extraído do campo MethodName na mensagem de registo não processada. |
OutputValues | additional.fields.OutputValue.string_value | Extraído do campo OutputValues na mensagem de registo não processada. |
Concluído | security_result.summary | O valor é definido como Success: concatenado com o valor do campo Success na mensagem de registo não processada. |
Id do utilizador | principal.user.userid | Extraído do campo UserId na mensagem de registo não processada. |
Nome de utilizador | principal.user.user_display_name | Extraído do campo UserName na mensagem de registo não processada. |
DB_DRIVER | target.resource.attribute.labels.db_driver.value | Extraído do campo DB_DRIVER na mensagem de registo não processada. |
DB_HOST | target.resource.attribute.labels.db_host.value | Extraído do campo DB_HOST na mensagem de registo não processada. |
DB_NAME | target.resource.attribute.labels.db_name.value | Extraído do campo DB_NAME na mensagem de registo não processada. |
DB_PORT | target.resource.attribute.labels.db_port.value | Extraído do campo DB_PORT na mensagem de registo não processada. |
DB_URL | target.resource.attribute.labels.db_url.value | Extraído do campo DB_URL na mensagem de registo não processada. |
company_security_event_id | metadata.product_log_id | Extraído do campo company_security_event_id na mensagem de registo não processada. |
create_date | metadata.event_timestamp | Convertido para indicação de tempo a partir do formato UNIX_MS. |
databasename | target.resource.attribute.labels.db_name.value | Extraído do campo databasename na mensagem de registo não processada se DB_NAME não estiver presente. |
encriptar | security_result.detection_fields.encrypt.value | Extraído do campo encrypt na mensagem de registo não processada. |
eventid | metadata.product_event_type | Extraído do campo eventid na mensagem de registo não processada. |
eventtime | metadata.event_timestamp | Convertido para data/hora a partir de vários formatos. |
integratedSecurity | security_result.detection_fields.integratedSecurity.value | Extraído do campo integratedSecurity na mensagem de registo não processada. |
N/A | extensions.auth.type | Definido como AUTHTYPE_UNSPECIFIED para eventos USER_LOGIN e USER_LOGOUT. |
N/A | metadata.event_type | Definido como USER_RESOURCE_ACCESS se o registo for analisado pelo padrão grok. Definido como USER_LOGIN se security_event_name for User Login . Definido 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, é definido como GENERIC_EVENT . |
N/A | metadata.log_type | Definido como ARCHER_IRM . |
N/A | metadata.product_name | Definido como Archer se o registo for analisado pelo padrão grok. Caso contrário, é definido como RSA . |
N/A | metadata.vendor_name | Definido como RSA se o registo for analisado pelo padrão grok. Caso contrário, é definido como Archer . |
N/A | principal.ip | Definido como 1.2.3.4 se o registo for analisado pelo padrão grok. |
N/A | principal.port | Definido para o valor extraído de LogSourceIdentifier se o registo for analisado pelo padrão grok. |
N/A | security_result.action | Definido como ALLOW se Success for True . Caso contrário, é definido como BLOCK . |
N/A | target.resource.resource_type | Definido como DATABASE se estiverem presentes campos relacionados com a base de dados. |
source_user | principal.user.userid | Extraído do campo source_user na mensagem de registo não processada. |
target_user | target.user.userid | Extraído do campo target_user na mensagem de registo não processada. |
trustServerCertificate | security_result.detection_fields.trustServerCertificate.value | Extraído do campo trustServerCertificate na mensagem de registo não processada. |
versão | metadata.product_version | Extraído do campo version na mensagem de registo não processada. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.