Recolha registos CEF do ArcSight

Compatível com:

Este documento explica como carregar registos CEF (Common Event Format) do ArcSight para o Google Security Operations através do Bindplane. O analisador transforma os dados não processados num formato de modelo de dados unificado (UDM) estruturado. Extrai campos do cabeçalho e das extensões do CEF, mapeia-os para campos do UDM e executa uma lógica específica para categorizar eventos como inícios de sessão de utilizadores, ligações de rede e acessos a recursos com base nas informações extraídas.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps
  • Um anfitrião Windows 2016 ou posterior, ou um anfitrião Linux com systemd
  • Se estiver a ser executado através de um proxy, as portas da firewall estão abertas
  • ArcSight SmartConnector 8.4 (ou posterior) instalado num anfitrião com acesso à rede do agente Bindplane
  • Acesso privilegiado ao portal da OpenText

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

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

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

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

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

  1. Aceda ao ficheiro de configuração:
    • 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.
    • 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_file_path: '/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
            log_type: 'ARCSIGHT_CEF'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

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 Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Transfira o ArcSight SmartConnector

  1. Inicie sessão no portal de apoio técnico da OpenText.
  2. Encontre e transfira o ArcSight SmartConnector mais recente para Linux.
  3. Nome do ficheiro de exemplo: ArcSight-Connector-Linux64-8.4.0.8499.0.bin.

Instale o ArcSight SmartConnector

  1. Carregue o ficheiro .bin para o servidor do SmartConnector:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. Inicie sessão no servidor SmartConnector através de SSH e execute o seguinte comando:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. Siga o instalador interativo:

    • Selecione o diretório de instalação (por exemplo, /opt/arcsight/connectors/current).
    • Aceite a licença.
    • Selecione Instalar conetor quando lhe for pedido.

Configure o ArcSight SmartConnector para enviar CEF para o Syslog

  1. No anfitrião do SmartConnector, inicie o assistente de destino:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. No assistente, faça o seguinte:

    • Selecione Adicionar destino.
    • Selecione CEF Syslog.
  3. Faculte os seguintes detalhes de configuração:

    • Anfitrião/IP: introduza o endereço IP do agente do Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane.
    • Protocolo: selecione UDP.
  4. Conclua a configuração e reinicie o conetor:

    ./arcsight agents
    
  5. Execute uma verificação da conetividade (por exemplo, procure: Successfully connected to syslog: X.X.X.X:514).

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

Tabela de mapeamento do UDM

Campo de registo Mapeamento do UDM Lógica
agir security_result.action_details Mapeado diretamente a partir do campo act.
agt principal.ip Mapeado diretamente a partir do campo agt.
agt principal.asset.ip Mapeado diretamente a partir do campo agt.
app network.application_protocol Mapeado diretamente a partir do campo app.
arte metadata.event_timestamp.seconds Mapeado diretamente a partir do campo art.
cs2 additional.fields.value.string_value Mapeado diretamente a partir do campo cs2 quando cs2Label é EventlogCategory.
cs2Label additional.fields.key Mapeado diretamente a partir do campo cs2Label quando o respetivo valor é EventlogCategory.
cs3 additional.fields.value.string_value Mapeado diretamente a partir do campo cs3 quando cs3Label é Process ID.
cs3Label additional.fields.key Mapeado diretamente a partir do campo cs3Label quando o respetivo valor é Process ID.
cs5 additional.fields.value.string_value Mapeado diretamente a partir do campo cs5 quando cs5Label é Authentication Package Name.
cs5Label additional.fields.key Mapeado diretamente a partir do campo cs5Label quando o respetivo valor é Authentication Package Name.
cs6 additional.fields.value.string_value Mapeado diretamente a partir do campo cs6 quando cs6Label é Logon GUID.
cs6Label additional.fields.key Mapeado diretamente a partir do campo cs6Label quando o respetivo valor é Logon GUID.
dhost about.hostname Mapeado diretamente a partir do campo dhost.
dhost target.hostname Mapeado diretamente a partir do campo dhost.
dntdom about.administrative_domain Mapeado diretamente a partir do campo dntdom.
dntdom target.administrative_domain Mapeado diretamente a partir do campo dntdom.
dproc about.process.command_line Mapeado diretamente a partir do campo dproc.
dproc target.process.command_line Mapeado diretamente a partir do campo dproc.
dst principal.ip Mapeado diretamente a partir do campo dst.
dst principal.asset.ip Mapeado diretamente a partir do campo dst.
dst target.ip Mapeado diretamente a partir do campo dst.
duid target.user.userid Mapeado diretamente a partir do campo duid.
duser target.user.user_display_name Mapeado diretamente a partir do campo duser.
dvc about.ip Mapeado diretamente a partir do campo dvc.
dvchost about.hostname Mapeado diretamente a partir do campo dvchost.
eventId additional.fields.value.string_value Mapeado diretamente a partir do campo eventId.
externalId metadata.product_log_id Mapeado diretamente a partir do campo externalId.
fname additional.fields.value.string_value Mapeado diretamente a partir do campo fname.
msg metadata.description Mapeado diretamente a partir do campo msg.
proto network.ip_protocol Mapeado diretamente a partir do campo proto. Traduz os nomes dos protocolos nas respetivas constantes (por exemplo, tcp a TCP).
rt metadata.event_timestamp.seconds Mapeado diretamente a partir do campo rt.
shost about.hostname Mapeado diretamente a partir do campo shost.
shost principal.hostname Mapeado diretamente a partir do campo shost.
src principal.ip Mapeado diretamente a partir do campo src.
src principal.asset.ip Mapeado diretamente a partir do campo src.
src target.ip Mapeado diretamente a partir do campo src.
sproc principal.process.command_line Mapeado diretamente a partir do campo sproc.
spt principal.port Mapeado diretamente a partir do campo spt.
spt target.port Mapeado diretamente a partir do campo spt.
additional.EventRecordID additional.fields.value.string_value Mapeado diretamente a partir do campo ad.EventRecordID.
additional.ThreadID additional.fields.value.string_value Mapeado diretamente a partir do campo ad.ThreadID.
additional.Opcode additional.fields.value.string_value Mapeado diretamente a partir do campo ad.Opcode.
additional.ProcessID additional.fields.value.string_value Mapeado diretamente a partir do campo ad.ProcessID.
additional.TargetDomainName additional.fields.value.string_value Mapeado diretamente a partir do campo ad.TargetDomainName.
additional.Version additional.fields.value.string_value Mapeado diretamente a partir do campo ad.Version.
deviceExternalId about.asset.hardware.serial_number Mapeado diretamente a partir do campo deviceExternalId.
deviceInboundInterface additional.fields.value.string_value Mapeado diretamente a partir do campo deviceInboundInterface.
deviceOutboundInterface additional.fields.value.string_value Mapeado diretamente a partir do campo deviceOutboundInterface.
PanOSConfigVersion security_result.detection_fields.value Mapeado diretamente a partir do campo PanOSConfigVersion.
PanOSContentVersion security_result.detection_fields.value Mapeado diretamente a partir do campo PanOSContentVersion.
PanOSDGHierarchyLevel1 security_result.detection_fields.value Mapeado diretamente a partir do campo PanOSDGHierarchyLevel1.
PanOSDestinationLocation target.location.country_or_region Mapeado diretamente a partir do campo PanOSDestinationLocation.
PanOSRuleUUID metadata.product_log_id Mapeado diretamente a partir do campo PanOSRuleUUID.
PanOSThreatCategory security_result.category_details Mapeado diretamente a partir do campo PanOSThreatCategory.
PanOSThreatID security_result.threat_id Mapeado diretamente a partir do campo PanOSThreatID.
about.asset.asset_id Gerado através da concatenação de Palo Alto Networks., o nome do fornecedor (LF) e o campo deviceExternalId.
extensions.auth.type Defina como AUTHTYPE_UNSPECIFIED se o campo event_name contiver logged on.
metadata.description Se o campo description contiver by seguido de um endereço IP, o endereço IP é extraído e mapeado para principal.ip e principal.asset.ip.
metadata.event_type Determinado com base numa série de verificações condicionais em vários campos, incluindo event_name, principal_*, target_* e device_event_class_id. A lógica determina o tipo de evento mais adequado com base nas informações disponíveis.
metadata.log_type Definido como ARCSIGHT_CEF.
metadata.product_event_type Gerado através da concatenação de \[, the device_event_class_id field, \] - e do campo name.
metadata.product_name Defina como NGFW se o campo product_name for LF.
principal.asset.ip Se o campo description contiver by seguido de um endereço IP, o endereço IP é extraído e mapeado para principal.ip e principal.asset.ip.
principal.ip Se o campo description contiver by seguido de um endereço IP, o endereço IP é extraído e mapeado para principal.ip e principal.asset.ip.
security_result.action Definido como ALLOW se o campo act for alert; caso contrário, é definido como BLOCK.
security_result.severity Definido como HIGH se o campo sev for superior ou igual a 7. Caso contrário, é definido como LOW.

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