Coletar registros do Cofense

Compatível com:

Este documento explica como ingerir registros do Cofense no Google Security Operations usando o agente do Bindplane.

O Cofense Triage é uma plataforma de resposta a incidentes de phishing que automatiza a detecção, a análise e a resposta a e-mails de phishing denunciados por funcionários. Ele agrupa ameaças semelhantes, atribui pontuações de risco, extrai indicadores de comprometimento (IOCs) e se integra a ferramentas de orquestração de segurança para acelerar a resolução de incidentes de phishing.

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 Linux com systemd
  • Conectividade de rede entre o agente do Bindplane e o servidor do Cofense Triage
  • Se você estiver executando um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado ao console de administração do Cofense Triage
  • Cofense Triage versão 1.20 ou mais recente

Receber o arquivo de autenticação de ingestão do Google SecOps

  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. Salve o arquivo de forma segura no sistema em que o 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 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

  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 status do serviço deve ser EM EXECUÇÃO.

Instalação do Linux

  1. Abra um terminal com privilégios de root 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 status do serviço precisa ser 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 syslog e enviar registros ao Google SecOps

Localizar o arquivo de configuração

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

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

Editar o arquivo de configuração

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

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cofense:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'your-customer-id'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: COFENSE_TRIAGE
            raw_log_field: body
    
    service:
        pipelines:
            logs/cofense_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/cofense
    
  2. Substitua os seguintes marcadores de posição:

    • Configuração do receptor:

      • listen_address: endereço IP e porta a serem detectados:

        • 0.0.0.0:514 para detectar em todas as interfaces na porta 514 (requer root no Linux)
        • 0.0.0.0:1514 para detectar uma porta sem privilégios (recomendado para Linux não root)
      • Opções de tipo de receptor:

        • tcplog para syslog TCP (recomendado para o Cofense Triage)
        • udplog para syslog UDP
    • Configuração do exportador:

      • creds_file_path: caminho completo para o arquivo de autenticação de ingestão do Google SecOps:

        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id: ID do cliente do Google SecOps

      • endpoint: URL do endpoint regional:

        • EUA: malachiteingestion-pa.googleapis.com
        • Europa: europe-malachiteingestion-pa.googleapis.com
        • Ásia: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Consulte a lista completa em Endpoints regionais.

Salve o arquivo de configuração.

Depois de editar, salve o arquivo:

  • Linux: pressione Ctrl+O, Enter e 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 em 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 do Cofense Triage

O Cofense Triage pode encaminhar eventos e alertas de denúncia de phishing em CEF (Common Event Format) via syslog para coletores externos de SIEM.

Ativar a saída do syslog no Cofense Triage

  1. Faça login na interface da Web do Cofense Triage com credenciais de administrador.
  2. Acesse Administração > Sistema > Syslog.
  3. Ative a opção Syslog.
  4. Configure os seguintes parâmetros do syslog:
    • 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 a porta correspondente ao agente do Bindplane listen_address (por exemplo, 514).
    • Protocolo: selecione TCP (recomendado) ou UDP para corresponder ao tipo de receptor do agente do Bindplane.
    • Formato: selecione CEF (Common Event Format).
  5. Clique em Salvar.

Configurar alertas do syslog

  1. Na interface da Web do Cofense Triage, acesse Administração > Sistema > Alertas do Syslog.
  2. Selecione os tipos de evento a serem encaminhados:
    • Denúncias de phishing: encaminhadas quando novas denúncias de phishing são recebidas e processadas.
    • Eventos de cluster: encaminhados quando os relatórios são agrupados
    • Eventos de indicadores de ameaças: encaminhados quando IOCs são extraídos de relatórios
    • Alertas de integridade: encaminhados para eventos de integridade e desempenho do sistema
  3. Clique em Salvar.

Verificar o encaminhamento de syslog

  1. Depois de salvar a configuração do syslog, acione um evento de teste no Cofense Triage (por exemplo, processe um relatório de phishing).
  2. Verifique os registros do agente do Bindplane para mensagens syslog recebidas:
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. Verifique se as mensagens formatadas em CEF aparecem nos registros. Por exemplo:

    CEF:0|Cofense|Triage|1.0|100|Phishing Report Processed|5|suser=reporter@company.com duser=attacker@malicious.com cs4=Urgent: Account Verification cat=Processed:Threats
    

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
msg, rule_id, start, rt additional.fields Mesclado com rótulos para msg (se não estiver vazio), rule_id (se não estiver vazio), start (se não estiver vazio) e rt (se não estiver vazio).
event_data, descrip metadata.description Valor de event_data se não estiver vazio, caso contrário, descrip
deviceCustomDate1, log_datetime metadata.event_timestamp Analisado de deviceCustomDate1 se não estiver vazio. Caso contrário, log_datetime usando o formato MMM d yyyy HH:mm:ss ou MMM d HH:mm:ss
suser, duser, has_principal metadata.event_type Definido como EMAIL_TRANSACTION se suser e duser corresponderem ao padrão de e-mail. Caso contrário, GENERIC_EVENT e, em seguida, STATUS_UPDATE se has_principal for true e foi GENERIC_EVENT.
cs3 metadata.product_log_id Extraído de cs3 usando o padrão grok /%{INT:productlogid}
metadata.product_name Definido como "Triagem"
cs3 metadata.url_back_to_product Valor copiado diretamente
metadata.vendor_name Definido como "Cofense".
suser network.email.from Valor copiado diretamente
cs4 network.email.subject Valor copiado diretamente
duser network.email.to Valor copiado diretamente
host principal.asset.hostname Valor copiado diretamente
ipaddress principal.asset.ip Valor copiado diretamente
host principal.hostname Valor copiado diretamente
ipaddress principal.ip Valor copiado diretamente
processID principal.process.pid Valor copiado diretamente
descrip principal.user.userid Extraído da descrição usando o padrão grok User: (%{WORD:user_id})
cat, cs2 security_result.action Definido como ALLOW se cat in ["health","Processed:Marketing","Processed:Non-Malicious"], BLOCK se cat == "Processed:Spam" ou "Processed:Threats" ou cs2 in ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"]
gravidade, security_result.alert_state Definido como ALERTING se a gravidade estiver em ["8","10","11","12","13","14"], caso contrário, NOT_ALERTING
cat, cs2, severity security_result.category Definido como MAIL_SPAM se cat == "Processed:Spam", MAIL_PHISHING se cs2 in ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] ou severity in ["8","10","11","12","13","14"]
gato security_result.description Valor copiado diretamente
gravidade, security_result.rule_id Valor copiado diretamente
cs2 security_result.rule_name Valor copiado diretamente
cat, cs2 security_result.severity Definido como "INFORMATIONAL" se cat estiver em ["health","Processed:Marketing","Processed:Non-Malicious"], "HIGH" se cat == "Processed:Spam", "CRITICAL" se cat == "Processed:Threats", caso contrário, "HIGH" se cs2 estiver em ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"]

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.