Coletar registros da plataforma Onapsis

Compatível com:

Este documento explica como ingerir registros da plataforma Onapsis no Google Security Operations usando o Bindplane.

A Onapsis Platform é uma solução de cibersegurança especializada em proteger aplicativos essenciais para os negócios, como SAP e Oracle. Ele oferece monitoramento contínuo, gestão de vulnerabilidades, auditoria de conformidade e detecção de ameaças para sistemas ERP, fornecendo insights detalhados específicos de aplicativos para ajudar as organizações a proteger ambientes complexos contra ameaças cibernéticas, configurações incorretas e acesso não autorizado.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Windows Server 2016 ou mais recente ou host do Linux com systemd
  • Conectividade de rede entre o agente do Bindplane e a plataforma Onapsis
  • Se estiver em execução atrás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado ao console da plataforma Onapsis
  • Produto Onapsis Defend para monitoramento de ameaças em tempo real e recursos de exportação de syslog

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.
  1. Faça login no consoleGoogle Cloud e selecione o projeto Google Cloud vinculado à sua instância do Google SecOps.
  2. Acesse IAM e administrador > Contas de serviço.
  3. Clique em Criar conta de serviço.
  4. 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).
  5. Clique em Criar e continuar.
  6. Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar um papel e escolha Editor do Chronicle.
  7. Clique em Continuar e depois em Concluído.
  8. Clique na conta de serviço que você criou e acesse a guia Chaves.
  9. Clique em Adicionar chave > Criar nova chave.
  10. Selecione JSON e clique em Criar. O arquivo de chave é baixado para o computador.
  11. Salve o arquivo de chave como ingestion-auth.json no diretório do coletor do BindPlane (/opt/observiq-otel-collector/ingestion-auth.json no Linux ou C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json no Windows) ou atualize creds_file_path em config.yaml para corresponder ao caminho em que você o salvou.
  12. 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)

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão.
  4. Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID de cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o prompt de comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sc query observiq-otel-collector
    

    O serviço vai aparecer como EM EXECUÇÃO.

Instalação do Linux

  1. Abra um terminal com privilégios de raiz ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Aguarde a conclusão da instalação.

  4. Execute o seguinte comando para confirmar a instalação:

    sudo systemctl status observiq-otel-collector
    

    O serviço precisa aparecer como active (running).

Outros recursos de instalação

Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.

Configurar o agente do Bindplane para ingerir o syslog e enviar ao Google SecOps

Localize o arquivo de configuração.

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Editar o arquivo de configuração

  • Substitua todo o conteúdo de config.yaml pela seguinte configuração:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/onapsis:
        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
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: ONAPSIS
        raw_log_field: body
        ingestion_labels:
          env: production
          source: onapsis_defend
    
    service:
      pipelines:
        logs/onapsis_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/onapsis
    

Parâmetros de configuração

Substitua os seguintes marcadores de posição:

  • Configuração do receptor:

    • listen_address: defina como 0.0.0.0:514 para detectar todas as interfaces na porta UDP 51. Se a porta 514 exigir privilégios de root no Linux, use 0.0.0.0:1514 e configure o Onapsis para enviar à porta 1514.
  • Configuração do exportador:

    • creds_file_path: caminho completo para o arquivo de chave JSON da conta de serviço (opção 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • YOUR_CUSTOMER_ID: substitua pelo ID de cliente do Chronicle da etapa anterior.
    • location: substitua <LOCATION> pela região da sua instância do Google SecOps (por exemplo, us, europe ou asia-southeast1). O exportador prefixa chronicle.googleapis.com com esse valor. Consulte Endpoints regionais para ver a lista completa.
    • project: substitua <PROJECT_NUMBER> pelo número do projeto em IAM e administrador > Configurações.
    • endpoint: mantenha definido como chronicle.googleapis.com.
    • log_type: definido como ONAPSIS (rótulo de ingestão do Chronicle)
    • ingestion_labels: rótulos opcionais para categorizar registros (personalize conforme necessário)

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 exporters pelo seguinte. Defina creds_file_path como o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substitua malachiteingestion-pa.googleapis.com pelo endpoint regional (por exemplo, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/onapsis:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ONAPSIS
        raw_log_field: body
        ingestion_labels:
          env: production
          source: onapsis_defend
    

Salve o arquivo de configuração.

  • Depois de editar, salve o arquivo:
    • Linux: pressione Ctrl+O, depois Enter e, em seguida, Ctrl+X.
    • Windows: clique em Arquivo > Salvar.

Reinicie o agente do Bindplane para aplicar as mudanças.

Para reiniciar o agente do Bindplane no Linux:

  1. Execute este comando:

    sudo systemctl restart observiq-otel-collector
    
  2. Verifique se o serviço está em execução:

    sudo systemctl status observiq-otel-collector
    
  3. Verifique se há erros nos registros:

    sudo journalctl -u observiq-otel-collector -f
    

Para reiniciar o agente do BindPlane no Windows:

  1. Escolha uma das seguintes opções:

    • Prompt de comando ou PowerShell como administrador:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Console de serviços:
      1. Pressione Win+R, digite services.msc e pressione Enter.
      2. Localize o coletor do OpenTelemetry da observIQ.
      3. Clique com o botão direito do mouse e selecione Reiniciar.
  2. Verifique se o serviço está em execução:

    sc query observiq-otel-collector
    
  3. Verifique se há erros nos registros:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Configurar o encaminhamento de syslog da plataforma Onapsis

Configure a plataforma Onapsis para encaminhar ocorrências de segurança e registros de monitoramento de ameaças ao agente do Bindplane via syslog.

  1. Faça login no console da Plataforma Onapsis.
  2. Acesse Configurações > Integrações.
  3. Na seção Integrações, localize a opção de integração Syslog.
  4. Clique em Adicionar ou Configurar para criar um destino syslog.
  5. Informe os seguintes detalhes de configuração:
    • Endereço do servidor Syslog: insira o endereço IP ou o nome do host do host do agente Bindplane (por exemplo, 192.168.1.100).
    • Porta: insira 514 (ou 1514 se você configurou o agente do Bindplane para usar uma porta não privilegiada).
    • Protocolo: selecione UDP (ou TCP se você tiver configurado o agente do BindPlane para usar TCP).
    • Formato: selecione Syslog (formato padrão do syslog) ou LEEF (formato estendido de eventos de registro) se estiver integrando com sistemas compatíveis com o IBM QRadar.
  6. Clique em Salvar ou Aplicar para ativar a configuração de exportação do syslog.
  7. Verifique se os registros estão sendo enviados conferindo os registros do agente Bindplane:

    Linux:

    sudo journalctl -u observiq-otel-collector -f
    

    Windows:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Tabela de mapeamento de UDM

Campo de registro Mapeamento de UDM Lógica
bucket additional.fields Adicionadas como rótulos com chaves derivadas de campos de origem
task_sent additional.fields
sub_path additional.fields
facilityName additional.fields
source_version additional.fields
db_table additional.fields
incident_type additional.fields
incident_name additional.fields
program_name additional.fields
task_type additional.fields
policy_id additional.fields
nome additional.fields
authentication_method additional.fields
alarm_profile_matches additional.fields
cliente additional.fields
db_table_pk additional.fields
system_type additional.fields
log_line additional.fields
ação additional.fields
task_id additional.fields
job_name additional.fields
job_id additional.fields
osp_link additional.fields
sid additional.fields
descrição metadata.description Valor da descrição, se não estiver vazio. Caso contrário, definido como "Uploading" se log_data corresponder a "Uploading", "Celery task sent" se corresponder a "Celery task sent", "Calling ModuleApi.put" se corresponder a "Calling ModuleApi.put". Caso contrário, de job_type
log_data metadata.description
job_type metadata.description
created_at metadata.event_timestamp Convertido usando a data com o formato aaaa-mm-ddTHH:mm:ss
has_principal metadata.event_type Defina como "NETWORK_UNCATEGORIZED" se has_principal, has_target, has_network forem verdadeiros; "STATUS_UPDATE" se has_principal for verdadeiro; caso contrário, "GENERIC_EVENT"
has_target metadata.event_type
has_network metadata.event_type
http_method network.http.method Valor copiado diretamente
url network.http.referral_url Valor copiado diretamente
response_code network.http.response_code Convertido em número inteiro
aplicativo principal.application Valor copiado diretamente
host principal.hostname Valor do host se não for IP, caso contrário, de src ou de terminal_source se não for IP
src principal.hostname
terminal_source principal.hostname
host principal.ip Unido do host se IP, erp_host, terminal_source se IP
erp_host principal.ip
terminal_source principal.ip
asset_name principal.resource.name Valor copiado diretamente
user_type principal.user.role_name Valor copiado diretamente
user_name principal.user.user_display_name Valor de user_name, mesclado com nome de usuário
nome de usuário principal.user.user_display_name
user_id principal.user.userid Valor copiado diretamente
modules security_result.detection_fields Marcadores mesclados do mapa de módulos, mapa de vulnerabilidades, new_state
vulnerabilidades security_result.detection_fields
new_state security_result.detection_fields
severityName security_result.severity Defina como "INFORMATIONAL" se severityName estiver em ["INFO", "info"]
file_name target.file.full_path Valor copiado diretamente
dst target.hostname Valor copiado diretamente
metadata.product_name metadata.product_name Defina como "ONAPSIS".
metadata.vendor_name metadata.vendor_name Defina como "ONAPSIS".
conditions.condition_id event.idm.read_only_udm.additional.fields Mapeado do registro de mudanças
conditions.eval_value.success event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
conditions.matched event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
erp_event_source event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
erp_time event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
protocol event.idm.read_only_udm.additional.fields Mapeado do registro de alterações
confidence event.idm.read_only_udm.security_result.confidence_details Mapeado do registro de alterações
severity event.idm.read_only_udm.security_result.severity_details Mapeado do registro de alterações
success event.idm.read_only_udm.security_result.action Mapeado do registro de mudanças
inter_ip event.idm.read_only_udm.intermediary.ip e event.idm.read_only_udm.intermediary.asset.ip Mapeado do registro de alterações

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.