Coletar registros do FireEye NX

Compatível com:

Este documento explica como ingerir registros do Trellix Network Security (antigo FireEye NX) no Google Security Operations usando o Bindplane.

Antes de começar

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

  • Uma instância do Google SecOps
  • Um host Windows 2016 ou mais recente ou Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
  • Acesso privilegiado ao console de gerenciamento do Trellix Network Security (NX)

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
    

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

Para mais opções de instalação, consulte o guia de instalação.

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

  1. Acesse o arquivo de configuração:
    • 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.
    • 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/fireeye_nx:
       compression: gzip
       # Adjust the path to the credentials file you downloaded in Step 1
       creds_file_path: '/path/to/ingestion-authentication-file.json'
       # Replace with your actual customer ID from Step 2
       customer_id: <CUSTOMER_ID>
       # Replace with your regional endpoint
       endpoint: <ENDPOINT>
       log_type: 'FIREEYE_NX'
       raw_log_field: body
       ingestion_labels:
    
    service:
    pipelines:
       logs/source0__chronicle_w_labels-0:
          receivers:
          - udplog
          exporters:
          - chronicle/fireeye_nx
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <CUSTOMER_ID> pelo ID de cliente real.
    • Substitua o valor <ENDPOINT> pelo endpoint regional:
      • Estados Unidos: malachiteingestion-pa.googleapis.com
      • Europa (Frankfurt): europe-west3-malachiteingestion-pa.googleapis.com
      • Europa (Londres): europe-west2-malachiteingestion-pa.googleapis.com
      • Europa (Zurique): europe-west6-malachiteingestion-pa.googleapis.com
      • Europa (Turim): europe-west12-malachiteingestion-pa.googleapis.com
      • Ásia (Tóquio): asia-northeast1-malachiteingestion-pa.googleapis.com
      • Oriente Médio (Tel Aviv): me-west1-malachiteingestion-pa.googleapis.com
      • Austrália (Sydney): australia-southeast1-malachiteingestion-pa.googleapis.com
    • 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

  1. Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  2. Para reiniciar o agente do Bindplane em Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o encaminhamento de syslog na segurança de rede da Trellix

  1. Faça login no console do Trellix Network Security com uma conta de administrador.
  2. Acesse Configurações > Notificações.
  3. Clique na guia rsyslog.
  4. Marque a caixa de seleção Tipo de evento para ativar as notificações do rsyslog.
  5. No painel Configurações, forneça os seguintes detalhes de configuração:
    • Formato padrão: selecione CEF.
  6. Na seção Lista de servidores Rsyslog:
    • Digite um nome descritivo para a nova entrada (por exemplo, Google SecOps BindPlane).
    • Clique no botão Adicionar servidor Rsyslog.
  7. Para o servidor recém-adicionado, forneça os seguintes detalhes de configuração:
    • Ativado: marque a caixa de seleção para ativar o servidor.
    • Endereço IP: insira o endereço IP do agente do BindPlane.
    • Porta: insira o número da porta do agente do BindPlane (por exemplo, 514).
    • Protocolo: selecione UDP ou TCP, dependendo da configuração do agente do BindPlane.
    • Tipos de evento: selecione os tipos de evento a serem encaminhados ou selecione todos para um registro abrangente.
  8. Clique no botão Atualizar para salvar a configuração.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
alert.dst.ip target.ip, target.asset.ip Mapeamento direto do campo alert.dst.ip
alert.dst.mac target.mac, target.asset.mac Mapeamento direto do campo alert.dst.mac
alert.dst.port target.port Mapeamento direto do campo alert.dst.port
alert.explanation.cnc-services.cnc-service.address target.ip, target.asset.ip Mapeamento direto do campo alert.explanation.cnc-services.cnc-service.address
alert.explanation.cnc-services.cnc-service.port target.port Mapeamento direto do campo alert.explanation.cnc-services.cnc-service.port
alert.explanation.cnc-services.cnc-service.url target.url Mapeamento direto do campo alert.explanation.cnc-services.cnc-service.url
alert.explanation.malware-detected.malware.0.name security_result.threat_name Mapeamento direto do campo alert.explanation.malware-detected.malware.0.name em caso de detecção de vários malwares na matriz
alert.explanation.malware-detected.malware.md5sum target.file.md5 Mapeamento direto do campo alert.explanation.malware-detected.malware.md5sum
alert.explanation.malware-detected.malware.name security_result.threat_name Mapeamento direto do campo alert.explanation.malware-detected.malware.name
alert.explanation.malware-detected.malware.sha1 target.file.sha1 Mapeamento direto do campo alert.explanation.malware-detected.malware.sha1
alert.explanation.malware-detected.malware.sha256 target.file.sha256 Mapeamento direto do campo alert.explanation.malware-detected.malware.sha256
alert.explanation.malware-detected.malware.url target.url Mapeamento direto do campo alert.explanation.malware-detected.malware.url
alert.name read_only_udm.metadata.product_event_type Mapeamento direto do campo alert.name
alert.occurred read_only_udm.metadata.event_timestamp Mapeamento direto do campo alert.occurred
alert.src.domain principal.hostname Mapeamento direto do campo alert.src.domain
alert.src.host principal.hostname Mapeamento direto do campo alert.src.host
alert.src.ip principal.ip, principal.asset.ip Mapeamento direto do campo alert.src.ip
alert.src.mac principal.mac, principal.asset.mac Mapeamento direto do campo alert.src.mac
alert.src.port principal.port Mapeamento direto do campo alert.src.port
alert.src.smtp-mail-from network.email.from Mapeamento direto do campo alert.src.smtp-mail-from
alert.smtp-message.id network.email.mail_id Mapeamento direto do campo alert.smtp-message.id
alert.smtp-message.subject network.email.subject Mapeamento direto do campo alert.smtp-message.subject
client_ip principal.ip Mapeamento direto do campo client_ip
client_src_port principal.port Mapeamento direto do campo client_src_port
compactação additional.fields.value.string_value Mapeamento direto do campo compression
etag additional.fields.value.string_value Mapeamento direto do campo etag
host principal.hostname Mapeamento direto do campo host
log_id read_only_udm.metadata.product_log_id Mapeamento direto do campo log_id
método network.http.method Mapeamento direto do campo method
persistent_session_id network.session_id Mapeamento direto do campo persistent_session_id
piscina additional.fields.value.string_value Mapeamento direto do campo pool
pool_name additional.fields.value.string_value Mapeamento direto do campo pool_name
request_id additional.fields.value.string_value Mapeamento direto do campo request_id
request_state additional.fields.value.string_value Mapeamento direto do campo request_state
response_code network.http.response_code Mapeamento direto do campo response_code
rewritten_uri_query additional.fields.value.string_value Mapeamento direto do campo rewritten_uri_query
server_ip target.ip Mapeamento direto do campo server_ip
server_name target.hostname Mapeamento direto do campo server_name
server_src_port target.port Mapeamento direto do campo server_src_port
service_engine additional.fields.value.string_value Mapeamento direto do campo service_engine
ssl_cipher network.tls.cipher Mapeamento direto do campo ssl_cipher
ssl_version network.tls.version_protocol Mapeamento direto do campo ssl_version
uri_path network.http.referral_url Mapeamento direto do campo uri_path
uri_query additional.fields.value.string_value Mapeamento direto do campo uri_query
user_id principal.user.userid Mapeamento direto do campo user_id
virtualservice additional.fields.value.string_value Mapeamento direto do campo virtualservice
vs_name additional.fields.value.string_value Mapeamento direto do campo vs_name
read_only_udm.metadata.event_type Definido como SCAN_UNCATEGORIZED se os endereços IP principal e de destino estiverem presentes, STATUS_UPDATE se o IP principal ou o nome do host estiverem presentes, USER_UNCATEGORIZED se o ID do usuário principal estiver presente, EMAIL_TRANSACTION se alert.src.smtp-mail-from e alert.dst.smtp-to estiverem presentes e GENERIC_EVENT caso contrário.
read_only_udm.metadata.ingested_timestamp Definido como o carimbo de data/hora atual se alert.attack-time não estiver presente.
read_only_udm.metadata.log_type Defina como FIREEYE_NX.
read_only_udm.metadata.vendor_name Defina como FireEye.
read_only_udm.network.application_protocol Definido como HTTP se a mensagem contiver "http" (sem diferenciar maiúsculas e minúsculas).
read_only_udm.security_result.action Defina como ALLOW se _source.action for "notified" (não diferencia maiúsculas de minúsculas), BLOCK se _source.action for "blocked" (não diferencia maiúsculas de minúsculas) e UNKNOWN_ACTION caso contrário.
read_only_udm.security_result.category Defina como NETWORK_SUSPICIOUS se sec_category contiver "DOMAIN.MATCH" (sem distinção entre maiúsculas e minúsculas), NETWORK_MALICIOUS se sec_category contiver "INFECTION.MATCH" ou "WEB.INFECTION" (sem distinção entre maiúsculas e minúsculas), SOFTWARE_MALICIOUS se sec_category contiver "MALWARE.OBJECT" (sem distinção entre maiúsculas e minúsculas), NETWORK_COMMAND_AND_CONTROL se sec_category contiver "MALWARE.CALLBACK" (sem distinção entre maiúsculas e minúsculas) e UNKNOWN_CATEGORY caso contrário.
read_only_udm.security_result.severity Definido como MEDIUM se _source.severity ou temp_severity for "majr" (não diferencia maiúsculas de minúsculas), LOW se _source.severity ou temp_severity for "minr" (não diferencia maiúsculas de minúsculas) e não definido caso contrário.
read_only_udm.security_result.summary Definido como o valor de security_result.threat_name.
is_alert Defina como true.
is_significant Defina como true.

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