Coletar registros do Trend Micro Cloud One
Esse analisador processa registros formatados em syslog e JSON do Trend Micro Cloud One. Ele extrai pares de chave-valor de mensagens formatadas em LEEF, normaliza valores de gravidade, identifica entidades principais e de destino (IP, nome do host, usuário) e mapeia os dados no esquema do UDM. Se o formato LEEF não for detectado, o analisador vai tentar processar a entrada como JSON e extrair os campos relevantes.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado ao Trend Micro Cloud One.
- Verifique se você tem um host do Windows 2012 SP2 ou posterior ou do Linux com systemd.
- Se estiver executando atrás de um proxy, verifique se as portas do firewall estão abertas.
Receber credenciais do Google SecOps para o agente do Bindplane
Para autenticar o agente do Bindplane no Google SecOps, escolha um dos seguintes métodos:
- Novas implantações: use a API Chronicle (opção 1).
- Implantações legadas: continue usando o arquivo de autenticação de ingestão (opção 2) até que a API Ingestion seja desativada em 20 de julho de 2027.
Opção 1: criar uma conta de serviço para a API Chronicle (recomendado)
- Faça login no console doGoogle Cloud e selecione o projeto do Google Cloud vinculado à sua instância do Google SecOps.
- Acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- Informe os seguintes detalhes de configuração:
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
bindplane-ingest). - Descrição da conta de serviço: insira uma descrição (por exemplo,
Bindplane agent log ingestion).
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
- Clique em Criar e continuar.
- Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar um papel e escolha Editor do Chronicle.
- Clique em Continuar e depois em Concluído.
- Clique na conta de serviço que você criou e acesse a guia Chaves.
- Clique em Adicionar chave > Criar nova chave.
- Selecione JSON e clique em Criar. O download do arquivo de chave é feito no seu computador.
- Salve o arquivo de chave como
ingestion-auth.jsonno diretório do coletor do BindPlane (/opt/observiq-otel-collector/ingestion-auth.jsonno Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonno Windows) ou atualizecreds_file_pathemconfig.yamlpara corresponder ao caminho em que você o salvou. - Acesse IAM e administrador > Configurações e copie o Número do projeto. Você vai precisar dele para configurar o exportador.
Opção 2: fazer o download do arquivo de autenticação de ingestão (legado)
- Faça login no console do Google SecOps.
- Acesse Configurações > Gerenciamento de dados > Agentes de coleta. Se você estiver em uma plataforma somente SIEM, acesse Configurações > Agentes de coleta.
- Faça o download do arquivo de autenticação de ingestão.
- Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.
Receber o ID de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações > Administração > Perfil. Se você estiver em uma plataforma somente SIEM, acesse Configurações > Perfil.
- Copie e salve o ID de cliente na seção Detalhes da organização.
Instalar o agente do BindPlane
- Para a instalação do Windows, execute o seguinte script:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet. - Para instalar no Linux, execute o seguinte script:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh. - Confira outras opções de instalação neste guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
- Acesse a máquina com o agente do Bindplane.
Edite o arquivo
config.yamlda seguinte forma:receivers: udplog: # Replace the below port <5514> and IP (0.0.0.0) with your specific values listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you saved in Step 1 creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: chronicle.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<LOCATION>pela região da sua instância do Google SecOps (por exemplo,us,europeouasia-southeast1). O exportador prefixachronicle.googleapis.comcom esse valor. - Substitua
<PROJECT_NUMBER>pelo número do projeto em IAM e administrador > Configurações. - Substitua
<customer_id>pelo ID de cliente real. - Atualize
{ json file for creds }para o caminho em que o arquivo de chave da conta de serviço (Opção 1) foi salvo.
Reinicie o agente do BindPlane para aplicar as mudanças usando o seguinte comando:
sudo systemctl bindplane restart
Exportador da API de ingestão legada
Se você usar o arquivo de autenticação de ingestão da Opção 2, substitua o bloco
exporterspelo seguinte. Definacredscomo o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substituamalachiteingestion-pa.googleapis.compelo endpoint regional (por exemplo,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you saved in Step 1 creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: raw_log_field: body
Configurar o Syslog do Trend Micro Cloud One
- Acesse Policies > Common Objects > Other > Syslog Configurations.
- Clique em Novo > Nova configuração > Geral.
- Especifique valores para os seguintes parâmetros:
- Nome: nome exclusivo que identifica a configuração (por exemplo, Servidor BindPlance do Google SecOps).
- Nome do servidor: insira o endereço IP do agente do BindPlane.
- Porta do servidor: insira a porta do agente do BindPlane (por exemplo, 514).
- Transporte: selecione UDP.
- Formato do evento: selecione Syslog.
- Incluir fuso horário nos eventos: mantenha desmarcado.
- Recurso: tipo de processo ao qual os eventos serão associados.
- Os agentes precisam encaminhar os registros: selecione o servidor Syslog.
- Clique em Salvar.
Exportar eventos do sistema no Trend Micro Cloud One
- Acesse Administration > System Settings > Event Forwarding.
- Encaminhar eventos do sistema para um computador remoto (via Syslog) usando a configuração, selecione a configuração criada na etapa anterior.
- Clique em Salvar.
Exportar ocorrências de segurança no Trend Micro Cloud One
- Acesse Políticas.
- Clique na política usada pelos computadores.
- Acesse Configurações > Encaminhamento de eventos.
- Frequência de encaminhamento de eventos (do agente/dispositivo): escolha Período entre o envio de eventos e selecione a frequência com que as ocorrências de segurança serão encaminhadas.
- Configuração de encaminhamento de eventos (do agente/dispositivo): escolha Configuração do Syslog antimalware e selecione a configuração criada na etapa anterior.
- Clique em Salvar.
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de UDM | Lógica |
|---|---|---|
| agir | security_result.action |
Se act for "deny" ou "block" (não diferencia maiúsculas de minúsculas), então BLOCK. Se act for "pass" ou "allow" (não diferencia maiúsculas de minúsculas), então ALLOW. Se act for "update" ou "rename" (não diferencia maiúsculas de minúsculas), ALLOW_WITH_MODIFICATION. Se act for "quarantine" (não diferencia maiúsculas de minúsculas), então QUARANTINE. Caso contrário, UNKNOWN_ACTION. |
| agir | security_result.action_details |
Mapeado diretamente. |
| gato | security_result.category_details |
Mapeado diretamente. |
| cn1 | target.asset_id |
Com o prefixo "ID do host:" se cn1Label for "ID do host". |
| desc | metadata.description |
Mapeado diretamente. |
| dvchost | target.asset.hostname |
Mapeado diretamente. |
| dvchost | target.hostname |
Mapeado diretamente. |
| log_type | metadata.product_name |
Mapeado diretamente. |
| msg | security_result.description |
Mapeado diretamente. |
| nome | security_result.summary |
Mapeado diretamente. |
| organização | target.administrative_domain |
Mapeado diretamente. |
| proto | additional.fields.key |
Defina como "Protocolo" se o campo proto não puder ser convertido em um número inteiro. |
| proto | additional.fields.value.string_value |
Mapeado diretamente se o campo proto não puder ser convertido em um número inteiro. |
| proto | network.ip_protocol |
Mapeado usando a lógica parse_ip_protocol.include, que converte o número do protocolo no nome correspondente (por exemplo, "6" se torna "TCP"). |
| product_version | metadata.product_version |
Mapeado diretamente. |
| sev | security_result.severity |
Se sev for "0", "1", "2", "3" ou "low" (não diferencia maiúsculas de minúsculas), então LOW. Se sev for "4", "5", "6" ou "medium" (não diferencia maiúsculas de minúsculas), então MEDIUM. Se sev for "7", "8" ou "high" (não diferencia maiúsculas de minúsculas), então HIGH. Se sev for "9", "10" ou "very high" (não diferencia maiúsculas de minúsculas), então CRITICAL. |
| sev | security_result.severity_details |
Mapeado diretamente. |
| src | principal.asset.hostname |
Mapeado diretamente se não for um endereço IP válido. |
| src | principal.asset.ip |
Mapeado diretamente se for um endereço IP válido. |
| src | principal.hostname |
Mapeado diretamente se não for um endereço IP válido. |
| src | principal.ip |
Mapeado diretamente se for um endereço IP válido. |
| TrendMicroDsTenant | security_result.detection_fields.key |
Defina como "TrendMicroDsTenant". |
| TrendMicroDsTenant | security_result.detection_fields.value |
Mapeado diretamente. |
| TrendMicroDsTenantId | security_result.detection_fields.key |
Defina como "TrendMicroDsTenantId". |
| TrendMicroDsTenantId | security_result.detection_fields.value |
Mapeado diretamente. |
| usrName | principal.user.userid |
Mapeado diretamente. Se has_principal for verdadeiro e has_target for verdadeiro, então NETWORK_CONNECTION. Caso contrário, se has_principal for verdadeiro, então STATUS_UPDATE. Caso contrário, se has_target for verdadeiro e has_principal for falso, então USER_UNCATEGORIZED. Caso contrário, GENERIC_EVENT. Defina como AUTHTYPE_UNSPECIFIED se event_type for USER_UNCATEGORIZED. Defina como "true" se um IP, nome do host ou endereço MAC principal for extraído. Caso contrário, inicializado como "false". Defina como "true" se um IP, nome de host ou endereço MAC de destino for extraído. Caso contrário, inicializado como "false". Igual ao carimbo de data/hora do evento geral. Defina como "Trend Micro". |
Registro de alterações
Confira o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.