Coletar registros do FireEye HX

Compatível com:

Este documento explica como coletar registros do FireEye Endpoint Security (HX) no Google Security Operations usando o Bindplane. O analisador tenta processar a mensagem de entrada como JSON. Se a mensagem não estiver no formato JSON, ela usará padrões grok para extrair campos e fará um mapeamento condicional da UDM com base no tipo de evento extraído e em outros critérios.

Antes de começar

  • Verifique se você tem uma instância do Google Security Operations.
  • Use o Windows 2016 ou uma versão mais recente ou um host Linux com systemd.
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Verifique se você tem acesso privilegiado ao FireEye Endpoint Security.

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 do 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

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
    

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
    

Outros recursos de instalação

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

  1. Acesse o arquivo de configuração:

    1. 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.
    2. Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            ingestion_labels:
                log_type: 'FIREEYE_HX'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.

  4. Substitua <customer_id> pelo ID do cliente real.

  5. 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 no 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 do Event Streamer do FireEye HX usando a UI

  1. Faça login no console de gerenciamento do FireEye HX.
  2. Acesse Event Streamer.
  3. Selecione Ativar o Event Streamer no host.
  4. Salve as mudanças na política.
  5. Acesse Destinos > Configurações do servidor > Adicionar destino syslog.
  6. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome exclusivo para rotular o coletor de registros do Google SecOps.
    • Endereço IP: insira o endereço IP do agente do Bindplane.
    • Porta: insira o número da porta do agente do Bindplane.
  7. Salve as mudanças para aplicar.

Configurar o syslog do FireEye HX Event Streamer usando a CLI

  1. Faça login no dispositivo FireEye HX usando a interface de linha de comando (CLI).
  2. Execute o comando a seguir para ativar o modo de configuração:

    enable
    configure terminal
    
  3. Execute o comando a seguir para adicionar um destino de servidor syslog remoto:

    logging BINDPLANE_IP_ADDRESS port PORT_NUMBER port
    
    • Substitua:
      • BINDPLANE_IP_ADDRESS: o endereço IP do encaminhador do Google SecOps
      • PORT_NUMBER: o número da porta
  4. Execute o comando a seguir para salvar os detalhes da configuração:

    write mem
    

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
alert.agent._id principal.asset.asset_id O ID do agente do registro bruto, com prefixo AGENT ID:
alert.agent.url principal.labels.value O URL do agente do registro bruto.
alert.condition._id additional.fields.value.string_value O ID da condição do registro bruto, com = caracteres removidos.
alert.condition.url additional.fields.value.string_value O URL da condição do registro bruto, com = caracteres removidos.
alert.decorators[].data.fireeye_report.indicator_verdict.malware_families.0 security_result.threat_name A família de malware do relatório da FireEye no campo de decoradores do log bruto.
alert.decorators[].data.fireeye_report.risk_summary security_result.description O resumo de risco do relatório da FireEye no campo "decorators" do registro bruto.
alert.decorators[].data.fireeye_verdict security_result.severity_details O veredito da FireEye no campo de decoradores do registro bruto.
alert.event_at read_only_udm.metadata.event_timestamp O carimbo de data/hora do evento no registro bruto.
alert.event_id read_only_udm.metadata.product_log_id O ID do evento do log bruto.
alert.event_type read_only_udm.metadata.product_event_type O tipo de evento do registro bruto.
alert.event_values.fileWriteEvent/fullPath target.file.full_path O caminho completo do arquivo gravado do registro bruto.
alert.event_values.fileWriteEvent/md5 target.file.md5 O hash MD5 do arquivo gravado do registro bruto.
alert.event_values.fileWriteEvent/pid principal.process.pid O ID do processo que gravou o arquivo do registro bruto.
alert.event_values.fileWriteEvent/processPath principal.process.file.full_path O caminho do processo que gravou o arquivo do registro bruto. Combinado com alert.event_values.fileWriteEvent/process para criar o caminho completo se o SO for Windows.
alert.event_values.fileWriteEvent/size target.file.size O tamanho do arquivo gravado do registro bruto.
alert.event_values.fileWriteEvent/username principal.user.userid O usuário que escreveu o arquivo do registro bruto.
alert.event_values.ipv4NetworkEvent/localIP principal.ip O endereço IP local do registro bruto.
alert.event_values.ipv4NetworkEvent/localPort principal.port A porta local do registro bruto.
alert.event_values.ipv4NetworkEvent/pid principal.process.pid O ID do processo do registro bruto.
alert.event_values.ipv4NetworkEvent/process principal.process.file.full_path O nome do processo do registro bruto. Combinado com alert.event_values.ipv4NetworkEvent/processPath para criar o caminho completo se o SO for Windows.
alert.event_values.ipv4NetworkEvent/processPath principal.process.file.full_path O caminho do processo do registro bruto. Combinado com alert.event_values.ipv4NetworkEvent/process para criar o caminho completo se o SO for Windows.
alert.event_values.ipv4NetworkEvent/protocol network.ip_protocol O protocolo de rede do registro bruto.
alert.event_values.ipv4NetworkEvent/remoteIP target.ip O endereço IP remoto do registro bruto.
alert.event_values.ipv4NetworkEvent/remotePort target.port A porta remota do registro bruto.
alert.event_values.ipv4NetworkEvent/timestamp read_only_udm.metadata.event_timestamp O carimbo de data/hora do evento no registro bruto.
alert.event_values.ipv4NetworkEvent/username principal.user.userid O usuário do registro bruto.
alert.event_values.processEvent/md5 target.process.file.md5 O hash MD5 do processo no registro bruto.
alert.event_values.processEvent/parentPid principal.process.pid O ID do processo pai do registro bruto.
alert.event_values.processEvent/parentProcess principal.process.file.full_path O nome do processo principal do log bruto.
alert.event_values.processEvent/parentProcessPath principal.process.file.full_path O caminho do processo pai do registro bruto.
alert.event_values.processEvent/pid target.process.pid O ID do processo do registro bruto.
alert.event_values.processEvent/process target.process.file.full_path O nome do processo do registro bruto.
alert.event_values.processEvent/processCmdLine target.process.command_line A linha de comando do processo do registro bruto.
alert.event_values.processEvent/processPath target.process.file.full_path O caminho do processo do registro bruto.
alert.event_values.processEvent/timestamp read_only_udm.metadata.event_timestamp O carimbo de data/hora do evento no registro bruto.
alert.event_values.processEvent/username principal.user.userid O usuário do registro bruto.
alert.event_values.urlMonitorEvent/hostname target.hostname O nome do host do registro bruto.
alert.event_values.urlMonitorEvent/localPort principal.port A porta local do registro bruto.
alert.event_values.urlMonitorEvent/pid principal.process.pid O ID do processo do registro bruto.
alert.event_values.urlMonitorEvent/process principal.process.file.full_path O nome do processo do registro bruto. Combinado com alert.event_values.urlMonitorEvent/processPath para criar o caminho completo se o SO for Windows.
alert.event_values.urlMonitorEvent/processPath principal.process.file.full_path O caminho do processo do registro bruto. Combinado com alert.event_values.urlMonitorEvent/process para criar o caminho completo se o SO for Windows.
alert.event_values.urlMonitorEvent/remoteIpAddress target.ip O endereço IP remoto do registro bruto.
alert.event_values.urlMonitorEvent/remotePort target.port A porta remota do registro bruto.
alert.event_values.urlMonitorEvent/requestUrl target.url O URL solicitado do registro bruto.
alert.event_values.urlMonitorEvent/timestamp read_only_udm.metadata.event_timestamp O carimbo de data/hora do evento no registro bruto.
alert.event_values.urlMonitorEvent/urlMethod network.http.method O método HTTP do registro bruto.
alert.event_values.urlMonitorEvent/userAgent network.http.user_agent O user agent do registro bruto.
alert.event_values.urlMonitorEvent/username principal.user.userid O usuário do registro bruto.
alert.indicator._id security_result.about.labels.value O ID do indicador do registro bruto.
alert.indicator.name read_only_udm.security_result.summary O nome do indicador do log bruto.
alert.indicator.url security_result.about.labels.value O URL do indicador do registro bruto.
alert.multiple_match read_only_udm.metadata.description A mensagem de várias correspondências do registro bruto.
alert.source additional.fields.value.string_value A origem do alerta do registro bruto.
authmethod extensions.auth.mechanism O método de autenticação do registro bruto. Defina como LOCAL se o valor for local ou LOCAL. Caso contrário, defina como MECHANISM_OTHER.
authsubmethod extensions.auth.auth_details O submétodo de autenticação do registro bruto, convertido em letras maiúsculas.
cliente principal.ip O endereço IP do cliente do registro bruto.
conditions.data.tests[].token security_result.detection_fields.key O token dos testes de condições no registro bruto.
conditions.data.tests[].value security_result.detection_fields.value O valor dos testes de condições no registro bruto.
description read_only_udm.metadata.description A descrição do registro bruto.
host.agent_version read_only_udm.metadata.product_version A versão do agente do registro bruto.
host.containment_state read_only_udm.principal.containment_state O estado de contenção do registro bruto.
host.domain read_only_udm.principal.administrative_domain O domínio do registro bruto.
host.hostname read_only_udm.principal.hostname O nome do host do registro bruto.
host.os.platform read_only_udm.principal.platform A plataforma do sistema operacional do registro bruto.
host.os.product_name read_only_udm.principal.platform_version O nome do produto do sistema operacional do registro bruto.
host.primary_ip_address read_only_udm.principal.ip O endereço IP principal do registro bruto.
host.primary_mac read_only_udm.principal.mac O endereço MAC principal do registro bruto, com os caracteres - substituídos por :.
host_ principal.hostname O nome do host do registro bruto.
host_details.data.agent_version read_only_udm.metadata.product_version A versão do agente do registro bruto.
host_details.data.containment_state read_only_udm.security_result.severity_details O estado de contenção do registro bruto.
host_details.data.domain read_only_udm.principal.administrative_domain O domínio do registro bruto.
host_details.data.hostname read_only_udm.principal.hostname O nome do host do registro bruto.
host_details.data.os.platform read_only_udm.principal.platform A plataforma do sistema operacional do registro bruto.
host_details.data.os.product_name read_only_udm.principal.platform_version O nome do produto do sistema operacional do registro bruto.
host_details.data.primary_ip_address read_only_udm.principal.ip O endereço IP principal do registro bruto.
host_details.data.primary_mac read_only_udm.principal.mac O endereço MAC principal do registro bruto, com os caracteres - substituídos por :.
indicators.data.description read_only_udm.metadata.description A descrição do indicador do registro bruto.
linha target.application A linha do registro bruto.
localusername target.user.user_display_name O nome de usuário local do registro bruto.
principal_ip principal.ip O endereço IP principal do registro bruto.
difusão reversa que restaura read_only_udm.principal.application O nome do processo do registro bruto.
process_id read_only_udm.principal.process.pid O ID do processo do registro bruto.
referrer network.http.referral_url O URL do referenciador do registro bruto.
remoteaddress principal.ip O endereço remoto do registro bruto.
solicitação additional.fields.value.string_value A solicitação do registro bruto.
papel target.user.role_name A função do registro bruto.
servidor target.resource.attribute.labels.value O servidor do registro bruto.
sessionID network.session_id O ID da sessão do registro bruto.
gravidade, security_result.severity Defina como LOW, MEDIUM ou HIGH com base na gravidade do registro bruto.
target_host read_only_udm.target.hostname O nome do host de destino do registro bruto.
target_ip target.ip O endereço IP de destino do registro bruto.
target_ip1 target.ip O endereço IPv6 de destino do registro bruto.
timestamp timestamp O carimbo de data/hora do registro bruto.
upstream target.url O URL upstream do registro bruto.
nome de usuário target.user.userid O nome de usuário do registro bruto.

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