Recolha registos da plataforma de serviços de fibra ADVA

Suportado em:

Este documento explica como carregar registos da ADVA Fiber Service Platform (ADVA FSP) para o Google Security Operations através do Bindplane. O analisador extrai campos das mensagens syslog do comutador e do router, convertendo-os em pares de chave-valor. Em seguida, mapeia estes campos extraídos e os respetivos valores para os campos correspondentes no esquema UDM do Chronicle, enriquecendo os dados para análise de segurança.

Antes de começar

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

  • Uma instância do Google SecOps
  • Um anfitrião Windows 2012 SP2 ou posterior, ou Linux com systemd
  • Se estiver a executar o agente através de um proxy, certifique-se de que as portas da firewall estão abertas de acordo com os requisitos do agente Bindplane
  • Acesso privilegiado à consola de gestão de dispositivos ADVA FSP

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 de janelas

  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. Seguem-se duas opções de recetor funcionais. Escolha a que corresponde à forma como o seu dispositivo envia registos:

    • Opção A – Recetor de registos UDP (UDP simples)
    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'ADVA_FSP'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/adva-fsp:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • Opção B: recetor Syslog (recomendado para enquadramento Syslog rigoroso)
    receivers:
      syslog:
        tcp:
          listen_address: "0.0.0.0:514"
        protocol: rfc5424   # or rfc3164 if your device uses BSD syslog
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'ADVA_FSP'
        raw_log_field: body
        ingestion_labels:
          source: 'adva-fsp'
          env: 'production'
    
    service:
      pipelines:
        logs/adva-fsp:
          receivers:
            - syslog
          exporters:
            - chronicle/chronicle_w_labels
    

Reinicie o agente do Bindplane para aplicar as alterações

  • Para reiniciar o agente Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

    Configure o encaminhamento de Syslog no ADVA FSP

  1. Inicie sessão na ADVA FSP Management Console.
  2. Aceda a Node > Geral > Controlos.
  3. Na secção Destinatários de eventos remotos (SysLog), clique em Adicionar.
  4. Forneça os seguintes detalhes de configuração:
    • Endereço IPv4/v6: introduza o endereço IP do agente Bindplane.
    • Porta: introduza o número da porta do agente do Bindplane (por exemplo, 514).
    • Protocolo: selecione UDP ou TCP, consoante a configuração real do agente Bindplane.
    • Extensão de mensagem: opcional: clique em Adicionar etiqueta do utilizador para incluir identificadores adicionais nas mensagens.
  5. Clique em Guardar para ativar a configuração.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do UDM Lógica
ACCESSORDER additional.fields.value.string_value O valor é retirado do campo ACCESSORDER no registo não processado.
MORADA principal.ip O valor é retirado do campo ADDRESS no registo não processado e analisado como um endereço IP.
ADMINSTATE additional.fields.value.string_value O valor é retirado do campo ADMINSTATE no registo não processado.
AISCLIENTMDLEVEL additional.fields.value.string_value O valor é retirado do campo AISCLIENTMDLEVEL no registo não processado.
AISGENENABLED additional.fields.value.string_value O valor é retirado do campo AISGENENABLED no registo não processado.
AISPRIORITY additional.fields.value.string_value O valor é retirado do campo AISPRIORITY no registo não processado.
AISTXPERIOD additional.fields.value.string_value O valor é retirado do campo AISTXPERIOD no registo não processado.
AISTRIGGERTYPES additional.fields.value.string_value O valor é retirado do campo AISTRIGGERTYPES no registo não processado.
BUFFERSIZE additional.fields.value.string_value O valor é retirado do campo BUFFERSIZE no registo não processado.
CCIENABLED additional.fields.value.string_value O valor é retirado do campo CCIENABLED no registo não processado.
CCMINTERFACESTATUSTLVCONTROL additional.fields.value.string_value O valor é retirado do campo CCMINTERFACESTATUSTLVCONTROL no registo não processado.
CCMLTMPRIORITY additional.fields.value.string_value O valor é retirado do campo CCMLTMPRIORITY no registo não processado.
CFMTAGETHERTYPE additional.fields.value.string_value O valor é retirado do campo CFMTAGETHERTYPE no registo não processado.
CIR additional.fields.value.string_value O valor é retirado do campo CIR no registo não processado.
COS additional.fields.value.string_value O valor é retirado do campo COS no registo não processado.
CT metadata.description O valor é retirado do campo CT no registo não processado.
DESTBMAC target.mac O valor é retirado do campo DESTBMAC no registo não processado e analisado como um endereço MAC.
DHCPCIDENABLED additional.fields.value.string_value O valor é retirado do campo DHCPCIDENABLED no registo não processado.
DHCPENABLED additional.fields.value.string_value O valor é retirado do campo DHCPENABLED no registo não processado.
DHCPHOSTNAME network.dhcp.client_hostname O valor é retirado do campo DHCPHOSTNAME no registo não processado.
DHCPHOSTNAMEENABLED additional.fields.value.string_value O valor é retirado do campo DHCPHOSTNAMEENABLED no registo não processado.
DHCPHOSTNAMETYPE additional.fields.value.string_value O valor é retirado do campo DHCPHOSTNAMETYPE no registo não processado.
DHCPLOGSERVERENABLED additional.fields.value.string_value O valor é retirado do campo DHCPLOGSERVERENABLED no registo não processado.
DHCPNTPSERVERENABLED additional.fields.value.string_value O valor é retirado do campo DHCPNTPSERVERENABLED no registo não processado.
DHCPV6CIDENABLED additional.fields.value.string_value O valor é retirado do campo DHCPV6CIDENABLED no registo não processado.
DHCPV6ENABLED additional.fields.value.string_value O valor é retirado do campo DHCPV6ENABLED no registo não processado.
DHCPV6ROLE additional.fields.value.string_value O valor é retirado do campo DHCPV6ROLE no registo não processado.
DHCPVENDORINFOTYPE additional.fields.value.string_value O valor é retirado do campo DHCPVENDORINFOTYPE no registo não processado.
DIR additional.fields.value.string_value O valor é retirado do campo DIR no registo não processado.
DIRECTION network.direction O valor é definido como "OUTBOUND" se o campo DIRECTION no registo não processado for "UP" (sem distinção entre maiúsculas e minúsculas), "INBOUND" se for "DOWN" e fica vazio caso contrário.
ENCAPSULATIONTYPE additional.fields.value.string_value O valor é retirado do campo ENCAPSULATIONTYPE no registo não processado.
GUARANTEEDA2NBW additional.fields.value.string_value O valor é retirado do campo GUARANTEEDA2NBW no registo não processado.
HCOSMGMTENABLED additional.fields.value.string_value O valor é retirado do campo HCOSMGMTENABLED no registo não processado.
INT additional.fields.value.string_value O valor é retirado do campo INT no registo não processado.
IPMODE additional.fields.value.string_value O valor é retirado do campo IPMODE no registo não processado.
IPV6ADDR principal.ip O valor é retirado do campo IPV6ADDR no registo não processado e analisado como um endereço IP.
IPV6ADDRPREFIXLENGTH additional.fields.value.string_value O valor é retirado do campo IPV6ADDRPREFIXLENGTH no registo não processado.
IPV6MTU additional.fields.value.string_value O valor é retirado do campo IPV6MTU no registo não processado.
ITAG additional.fields.value.string_value O valor é retirado do campo ITAG no registo não processado.
ITAGENABLED additional.fields.value.string_value O valor é retirado do campo ITAGENABLED no registo não processado.
LBMTXDESTTYPE additional.fields.value.string_value O valor é retirado do campo LBMTXDESTTYPE no registo não processado.
LBMTXNUMMSGS additional.fields.value.string_value O valor é retirado do campo LBMTXNUMMSGS no registo não processado.
LBMTXVLANDROPENABLE additional.fields.value.string_value O valor é retirado do campo LBMTXVLANDROPENABLE no registo não processado.
LBMTXVLANPRIORITY additional.fields.value.string_value O valor é retirado do campo LBMTXVLANPRIORITY no registo não processado.
LLRESPONDERENABLED additional.fields.value.string_value O valor é retirado do campo LLRESPONDERENABLED no registo não processado.
LLVIDLIST additional.fields.value.string_value O valor é retirado do campo LLVIDLIST no registo não processado.
LMDUALENDEDCOUNTALLPRIOS additional.fields.value.string_value O valor é retirado do campo LMDUALENDEDCOUNTALLPRIOS no registo não processado.
LMINPROFILEONLY additional.fields.value.string_value O valor é retirado do campo LMINPROFILEONLY no registo não processado.
LMRXCOUNTALLPRIOS additional.fields.value.string_value O valor é retirado do campo LMRXCOUNTALLPRIOS no registo não processado.
LMTXCOUNTALLPRIOS additional.fields.value.string_value O valor é retirado do campo LMTXCOUNTALLPRIOS no registo não processado.
LOC additional.fields.value.string_value O valor é retirado do campo LOC no registo não processado.
LOCN additional.fields.value.string_value O valor é retirado do campo LOCN no registo não processado.
LOGINTIMEOUT additional.fields.value.string_value O valor é retirado do campo LOGINTIMEOUT no registo não processado.
LOOPBACKBLOCKINGENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKBLOCKINGENABLED no registo não processado.
LOOPBACKCONFIG additional.fields.value.string_value O valor é retirado do campo LOOPBACKCONFIG no registo não processado.
LOOPBACKDESTMAC target.mac O valor é retirado do campo LOOPBACKDESTMAC no registo não processado e analisado como um endereço MAC.
LOOPBACKDESTMACCONTROL additional.fields.value.string_value O valor é retirado do campo LOOPBACKDESTMACCONTROL no registo não processado.
LOOPBACKINNERVLAN1 additional.fields.value.string_value O valor é retirado do campo LOOPBACKINNERVLAN1 no registo não processado.
LOOPBACKINNERVLAN1ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKINNERVLAN1ENABLED no registo não processado.
LOOPBACKINNERVLAN2 additional.fields.value.string_value O valor é retirado do campo LOOPBACKINNERVLAN2 no registo não processado.
LOOPBACKINNERVLAN2ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKINNERVLAN2ENABLED no registo não processado.
LOOPBACKINNERVLAN3 additional.fields.value.string_value O valor é retirado do campo LOOPBACKINNERVLAN3 no registo não processado.
LOOPBACKINNERVLAN3ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKINNERVLAN3ENABLED no registo não processado.
LOOPBACKOUTERITAG1 additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERITAG1 no registo não processado.
LOOPBACKOUTERITAG1ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERITAG1ENABLED no registo não processado.
LOOPBACKOUTERITAG2 additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERITAG2 no registo não processado.
LOOPBACKOUTERITAG2ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERITAG2ENABLED no registo não processado.
LOOPBACKOUTERITAG3 additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERITAG3 no registo não processado.
LOOPBACKOUTERITAG3ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERITAG3ENABLED no registo não processado.
LOOPBACKOUTERVLAN1 additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERVLAN1 no registo não processado.
LOOPBACKOUTERVLAN1ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERVLAN1ENABLED no registo não processado.
LOOPBACKOUTERVLAN2 additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERVLAN2 no registo não processado.
LOOPBACKOUTERVLAN2ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERVLAN2ENABLED no registo não processado.
LOOPBACKOUTERVLAN3 additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERVLAN3 no registo não processado.
LOOPBACKOUTERVLAN3ENABLED additional.fields.value.string_value O valor é retirado do campo LOOPBACKOUTERVLAN3ENABLED no registo não processado.
LOOPBACKSOURCEMAC principal.mac O valor é retirado do campo LOOPBACKSOURCEMAC no registo não processado e analisado como um endereço MAC.
LOOPBACKSWAPSADA additional.fields.value.string_value O valor é retirado do campo LOOPBACKSWAPSADA no registo não processado.
LOOPBACKTIMER additional.fields.value.string_value O valor é retirado do campo LOOPBACKTIMER no registo não processado.
LOWESTPRIODEFECT additional.fields.value.string_value O valor é retirado do campo LOWESTPRIODEFECT no registo não processado.
LTMTXDESTTYPE additional.fields.value.string_value O valor é retirado do campo LTMTXDESTTYPE no registo não processado.
LTMTXEGRESSID metadata.product_log_id O valor é retirado do campo LTMTXEGRESSID no registo não processado.
LTMTXFLAGS additional.fields.value.string_value O valor é retirado do campo LTMTXFLAGS no registo não processado.
LTMTXTTL additional.fields.value.string_value O valor é retirado do campo LTMTXTTL no registo não processado.
MT additional.fields.value.string_value O valor é retirado do campo MT no registo não processado.
MAXIMUMA2NBW additional.fields.value.string_value O valor é retirado do campo MAXIMUMA2NBW no registo não processado.
MVAL additional.fields.value.string_value O valor é retirado do campo MVAL no registo não processado.
NOME additional.fields.value.string_value O valor é retirado do campo NAME no registo não processado.
NC additional.fields.value.string_value O valor é retirado do campo NC no registo não processado.
PORTEID additional.fields.value.string_value O valor é retirado do campo PORTEID no registo não processado.
PORTLLENABLED additional.fields.value.string_value O valor é retirado do campo PORTLLENABLED no registo não processado.
PRIMARYSERVER target.ip O valor é retirado do campo PRIMARYSERVER no registo não processado e analisado como um endereço IP.
PRIMARYVID additional.fields.value.string_value O valor é retirado do campo PRIMARYVID no registo não processado.
QUEUEPROFILEID additional.fields.value.string_value O valor é retirado do campo QUEUEPROFILEID no registo não processado.
RXSHAPEREID additional.fields.value.string_value O valor é retirado do campo RXSHAPEREID no registo não processado.
SATRESPONDENABLED additional.fields.value.string_value O valor é retirado do campo SATRESPONDENABLED no registo não processado.
SE additional.fields.value.string_value O valor é retirado do campo SE no registo não processado.
SHAREDVIM additional.fields.value.string_value O valor é retirado do campo SHAREDVIM no registo não processado.
SVLANENABLED additional.fields.value.string_value O valor é retirado do campo SVLANENABLED no registo não processado.
SVLANID additional.fields.value.string_value O valor é retirado do campo SVLANID no registo não processado.
SYSLOCATION principal.location.country_or_region O valor é retirado do campo SYSLOCATION no registo não processado.
THVAL additional.fields.value.string_value O valor é retirado do campo THVAL no registo não processado.
TIPO additional.fields.value.string_value O valor é retirado do campo TYPE no registo não processado.
USERACCESSTYPE additional.fields.value.string_value O valor é retirado do campo USERACCESSTYPE no registo não processado.
USERAUTHKEY additional.fields.value.string_value O valor é retirado do campo USERAUTHKEY no registo não processado.
USERAUTHKEYLOCAL additional.fields.value.string_value O valor é retirado do campo USERAUTHKEYLOCAL no registo não processado.
USERAUTHPROTOCOL additional.fields.value.string_value O valor é retirado do campo USERAUTHPROTOCOL no registo não processado.
USERENGINEID additional.fields.value.string_value O valor é retirado do campo USERENGINEID no registo não processado.
USERKEYSLOCAL additional.fields.value.string_value O valor é retirado do campo USERKEYSLOCAL no registo não processado.
NOME DE UTILIZADOR principal.user.userid O valor é retirado do campo USERNAME no registo não processado.
USERPRIVKEY additional.fields.value.string_value O valor é retirado do campo USERPRIVKEY no registo não processado.
USERPRIVKEYLOCAL additional.fields.value.string_value O valor é retirado do campo USERPRIVKEYLOCAL no registo não processado.
USERPRIVPROTOCOL additional.fields.value.string_value O valor é retirado do campo USERPRIVPROTOCOL no registo não processado.
USERSECURITYLEVEL additional.fields.value.string_value O valor é retirado do campo USERSECURITYLEVEL no registo não processado.
USERSECURITYNAME principal.user.user_display_name O valor é retirado do campo USERSECURITYNAME no registo não processado.
aplicação principal.application O valor é retirado do campo de aplicação extraído pelo analisador grok.
descrição security_result.description O valor é retirado do campo de descrição extraído pelo analisador grok.
metadata.description O valor é definido como "Backup NTP Server Failed" se o campo CT no registo não processado for "Backup NTP Server Failed".
metadata.event_timestamp.seconds O valor é retirado do campo de data/hora extraído pelo analisador grok e convertido em segundos desde epoch.
metadata.event_type O valor é definido com base na seguinte lógica:
- NETWORK_DHCP se network_dhcp_present for verdadeiro e principal_present ou target_present for verdadeiro.
- NETWORK_CONNECTION se target_present e principal_present forem ambos verdadeiros.
- USER_RESOURCE_ACCESS se user_present for verdadeiro.
- STATUS_UPDATE se principal_present for verdadeiro.
- GENERIC_EVENT caso contrário.
metadata.product_log_id O valor é retirado do campo LTMTXEGRESSID no registo não processado.
metadata.product_name O valor é definido como "ADVA_FSP".
metadata.vendor_name O valor é definido como "ADVA_FSP".
network.application_protocol O valor é definido como "DHCP" se network_dhcp_present for verdadeiro e principal_present ou target_present for verdadeiro.
principal.hostname O valor é retirado do campo principal_hostname extraído pelo analisador grok, com os carateres de sublinhado removidos.
principal.ip O valor é retirado do campo IPADDR no registo não processado e analisado como um endereço IP.
timestamp.seconds O valor é retirado do campo de data/hora extraído pelo analisador grok e convertido em segundos desde epoch.

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