Recolha registos do FireEye HX

Compatível com:

Este documento explica como recolher registos do FireEye Endpoint Security (HX) para o Google Security Operations através do Bindplane. O analisador tenta processar a mensagem de entrada como JSON. Se a mensagem não estiver no formato JSON, usa padrões grok para extrair campos e, em seguida, realiza o mapeamento UDM condicional com base no tipo de evento extraído e noutros critérios.

Antes de começar

  • Certifique-se de que tem uma instância do Google Security Operations.
  • Certifique-se de que está a usar o Windows 2016 ou posterior, ou um anfitrião Linux com systemd.
  • Se estiver a executar o serviço através de um proxy, certifique-se de que as portas da firewall estão abertas.
  • Certifique-se de que tem acesso privilegiado ao FireEye Endpoint Security.

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. 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

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 raiz ou sudo.
  2. 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

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:

    1. 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.
    2. Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro 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 de cliente real.

  5. 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 do Bindplane no Windows, pode usar a consola Services ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o syslog do FireEye HX Event Streamer através da IU

  1. Inicie sessão na consola de gestão do FireEye HX.
  2. Aceda ao Event Streamer.
  3. Selecione Ativar Event Streamer no anfitrião.
  4. Guarde as alterações à política.
  5. Aceda a Destinos > Definições do servidor > Adicionar destino syslog.
  6. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome exclusivo para etiquetar o coletor de registos do Google SecOps.
    • Endereço IP: introduza o endereço IP do agente Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane.
  7. Guarde as alterações para as aplicar.

Configure o syslog do FireEye HX Event Streamer através da CLI

  1. Inicie sessão no dispositivo FireEye HX através da interface de linhas de comando (CLI).
  2. Execute o seguinte comando para ativar o modo de configuração:

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

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

    write mem
    

Tabela de mapeamento da UDM

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

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