Raccogli i log della piattaforma di servizi in fibra ADVA

Supportato in:

Questo documento spiega come importare i log di ADVA Fiber Service Platform (ADVA FSP) in Google Security Operations utilizzando Bindplane. L'analizzatore sintattico estrae i campi dai messaggi syslog di switch e router, convertendoli in coppie chiave-valore. Quindi, mappa questi campi estratti e i relativi valori con i campi corrispondenti nello schema UDM di Chronicle, arricchendo i dati per l'analisi della sicurezza.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Un host Windows 2012 SP2 o versioni successive o Linux con systemd
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso privilegiato alla console di gestione dei dispositivi ADVA FSP

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installazione di Linux

  1. Apri un terminale con privilegi di root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Risorse aggiuntive per l'installazione

Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps

  1. Accedi al file di configurazione:

    1. Individua il file config.yaml. In genere si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    2. Apri il file utilizzando un editor di testo (ad esempio nano, vi o Blocco note).
  2. Modifica il file config.yaml. Di seguito sono riportate due opzioni di ricevitore funzionanti. Scegli quella che corrisponde al modo in cui il tuo dispositivo invia i log:

    • Opzione A - Ricevitore log UDP (UDP semplice)
    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
    
    • Opzione B: ricevitore Syslog (consigliata per l'inquadratura Syslog rigorosa)
    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
    

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart bindplane-agent
    
  • Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

    Configura l'inoltro di Syslog su ADVA FSP

  1. Accedi alla console di gestione ADVA FSP.
  2. Vai a Nodo > Generale > Controlli.
  3. Nella sezione Destinatari eventi remoti (SysLog), fai clic su Aggiungi.
  4. Fornisci i seguenti dettagli di configurazione:
    • Indirizzo IPv4/v6: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane (ad esempio, 514).
    • Protocollo: seleziona UDP o TCP, a seconda della configurazione effettiva dell'agente Bindplane.
    • Estensione di messaggistica: (facoltativo) fai clic su Aggiungi etichetta utente per includere identificatori aggiuntivi nei messaggi.
  5. Fai clic su Salva per attivare la configurazione.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
ACCESSORDER additional.fields.value.string_value Il valore viene estratto dal campo ACCESSORDER nel log non elaborato.
INDIRIZZO principal.ip Il valore viene estratto dal campo ADDRESS del log non elaborato e analizzato come indirizzo IP.
ADMINSTATE additional.fields.value.string_value Il valore viene estratto dal campo ADMINSTATE nel log non elaborato.
AISCLIENTMDLEVEL additional.fields.value.string_value Il valore viene estratto dal campo AISCLIENTMDLEVEL nel log non elaborato.
AISGENENABLED additional.fields.value.string_value Il valore viene estratto dal campo AISGENENABLED nel log non elaborato.
AISPRIORITY additional.fields.value.string_value Il valore viene estratto dal campo AISPRIORITY nel log non elaborato.
AISTXPERIOD additional.fields.value.string_value Il valore viene estratto dal campo AISTXPERIOD nel log non elaborato.
AISTRIGGERTYPES additional.fields.value.string_value Il valore viene estratto dal campo AISTRIGGERTYPES nel log non elaborato.
BUFFERSIZE additional.fields.value.string_value Il valore viene estratto dal campo BUFFERSIZE nel log non elaborato.
CCIENABLED additional.fields.value.string_value Il valore viene estratto dal campo CCIENABLED nel log non elaborato.
CCMINTERFACESTATUSTLVCONTROL additional.fields.value.string_value Il valore viene estratto dal campo CCMINTERFACESTATUSTLVCONTROL nel log non elaborato.
CCMLTMPRIORITY additional.fields.value.string_value Il valore viene estratto dal campo CCMLTMPRIORITY nel log non elaborato.
CFMTAGETHERTYPE additional.fields.value.string_value Il valore viene estratto dal campo CFMTAGETHERTYPE nel log non elaborato.
CIR additional.fields.value.string_value Il valore viene estratto dal campo CIR nel log non elaborato.
COS additional.fields.value.string_value Il valore viene estratto dal campo COS nel log non elaborato.
CT metadata.description Il valore viene estratto dal campo CT nel log non elaborato.
DESTBMAC target.mac Il valore viene estratto dal campo DESTBMAC nel log non elaborato e analizzato come indirizzo MAC.
DHCPCIDENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPCIDENABLED nel log non elaborato.
DHCPENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPENABLED nel log non elaborato.
DHCPHOSTNAME network.dhcp.client_hostname Il valore viene estratto dal campo DHCPHOSTNAME nel log non elaborato.
DHCPHOSTNAMEENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPHOSTNAMEENABLED nel log non elaborato.
DHCPHOSTNAMETYPE additional.fields.value.string_value Il valore viene estratto dal campo DHCPHOSTNAMETYPE nel log non elaborato.
DHCPLOGSERVERENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPLOGSERVERENABLED nel log non elaborato.
DHCPNTPSERVERENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPNTPSERVERENABLED nel log non elaborato.
DHCPV6CIDENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPV6CIDENABLED nel log non elaborato.
DHCPV6ENABLED additional.fields.value.string_value Il valore viene estratto dal campo DHCPV6ENABLED nel log non elaborato.
DHCPV6ROLE additional.fields.value.string_value Il valore viene estratto dal campo DHCPV6ROLE nel log non elaborato.
DHCPVENDORINFOTYPE additional.fields.value.string_value Il valore viene estratto dal campo DHCPVENDORINFOTYPE nel log non elaborato.
DIR additional.fields.value.string_value Il valore viene estratto dal campo DIR nel log non elaborato.
DIREZIONE network.direction Il valore è impostato su "OUTBOUND" se il campo DIRECTION nel log non elaborato è "UP" (senza distinzione tra maiuscole e minuscole), su "INBOUND" se è "DOWN" e viene lasciato vuoto in caso contrario.
ENCAPSULATIONTYPE additional.fields.value.string_value Il valore viene estratto dal campo ENCAPSULATIONTYPE nel log non elaborato.
GUARANTEEDA2NBW additional.fields.value.string_value Il valore viene estratto dal campo GUARANTEEDA2NBW nel log non elaborato.
HCOSMGMTENABLED additional.fields.value.string_value Il valore viene estratto dal campo HCOSMGMTENABLED nel log non elaborato.
INT additional.fields.value.string_value Il valore viene estratto dal campo INT nel log non elaborato.
IPMODE additional.fields.value.string_value Il valore viene estratto dal campo IPMODE nel log non elaborato.
IPV6ADDR principal.ip Il valore viene estratto dal campo IPV6ADDR nel log non elaborato e analizzato come indirizzo IP.
IPV6ADDRPREFIXLENGTH additional.fields.value.string_value Il valore viene estratto dal campo IPV6ADDRPREFIXLENGTH nel log non elaborato.
IPV6MTU additional.fields.value.string_value Il valore viene estratto dal campo IPV6MTU nel log non elaborato.
ITAG additional.fields.value.string_value Il valore viene estratto dal campo ITAG nel log non elaborato.
ITAGENABLED additional.fields.value.string_value Il valore viene estratto dal campo ITAGENABLED nel log non elaborato.
LBMTXDESTTYPE additional.fields.value.string_value Il valore viene estratto dal campo LBMTXDESTTYPE nel log non elaborato.
LBMTXNUMMSGS additional.fields.value.string_value Il valore viene estratto dal campo LBMTXNUMMSGS nel log non elaborato.
LBMTXVLANDROPENABLE additional.fields.value.string_value Il valore viene estratto dal campo LBMTXVLANDROPENABLE nel log non elaborato.
LBMTXVLANPRIORITY additional.fields.value.string_value Il valore viene estratto dal campo LBMTXVLANPRIORITY nel log non elaborato.
LLRESPONDERENABLED additional.fields.value.string_value Il valore viene estratto dal campo LLRESPONDERENABLED nel log non elaborato.
LLVIDLIST additional.fields.value.string_value Il valore viene estratto dal campo LLVIDLIST nel log non elaborato.
LMDUALENDEDCOUNTALLPRIOS additional.fields.value.string_value Il valore viene estratto dal campo LMDUALENDEDCOUNTALLPRIOS nel log non elaborato.
LMINPROFILEONLY additional.fields.value.string_value Il valore viene estratto dal campo LMINPROFILEONLY nel log non elaborato.
LMRXCOUNTALLPRIOS additional.fields.value.string_value Il valore viene estratto dal campo LMRXCOUNTALLPRIOS nel log non elaborato.
LMTXCOUNTALLPRIOS additional.fields.value.string_value Il valore viene estratto dal campo LMTXCOUNTALLPRIOS nel log non elaborato.
LOC additional.fields.value.string_value Il valore viene estratto dal campo LOC nel log non elaborato.
LOCN additional.fields.value.string_value Il valore viene estratto dal campo LOCN nel log non elaborato.
LOGINTIMEOUT additional.fields.value.string_value Il valore viene estratto dal campo LOGINTIMEOUT nel log non elaborato.
LOOPBACKBLOCKINGENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKBLOCKINGENABLED nel log non elaborato.
LOOPBACKCONFIG additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKCONFIG nel log non elaborato.
LOOPBACKDESTMAC target.mac Il valore viene estratto dal campo LOOPBACKDESTMAC nel log non elaborato e analizzato come indirizzo MAC.
LOOPBACKDESTMACCONTROL additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKDESTMACCONTROL nel log non elaborato.
LOOPBACKINNERVLAN1 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKINNERVLAN1 nel log non elaborato.
LOOPBACKINNERVLAN1ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKINNERVLAN1ENABLED nel log non elaborato.
LOOPBACKINNERVLAN2 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKINNERVLAN2 nel log non elaborato.
LOOPBACKINNERVLAN2ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKINNERVLAN2ENABLED nel log non elaborato.
LOOPBACKINNERVLAN3 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKINNERVLAN3 nel log non elaborato.
LOOPBACKINNERVLAN3ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKINNERVLAN3ENABLED nel log non elaborato.
LOOPBACKOUTERITAG1 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERITAG1 nel log non elaborato.
LOOPBACKOUTERITAG1ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERITAG1ENABLED nel log non elaborato.
LOOPBACKOUTERITAG2 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERITAG2 nel log non elaborato.
LOOPBACKOUTERITAG2ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERITAG2ENABLED nel log non elaborato.
LOOPBACKOUTERITAG3 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERITAG3 nel log non elaborato.
LOOPBACKOUTERITAG3ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERITAG3ENABLED nel log non elaborato.
LOOPBACKOUTERVLAN1 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERVLAN1 nel log non elaborato.
LOOPBACKOUTERVLAN1ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERVLAN1ENABLED nel log non elaborato.
LOOPBACKOUTERVLAN2 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERVLAN2 nel log non elaborato.
LOOPBACKOUTERVLAN2ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERVLAN2ENABLED nel log non elaborato.
LOOPBACKOUTERVLAN3 additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERVLAN3 nel log non elaborato.
LOOPBACKOUTERVLAN3ENABLED additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKOUTERVLAN3ENABLED nel log non elaborato.
LOOPBACKSOURCEMAC principal.mac Il valore viene estratto dal campo LOOPBACKSOURCEMAC nel log non elaborato e analizzato come indirizzo MAC.
LOOPBACKSWAPSADA additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKSWAPSADA nel log non elaborato.
LOOPBACKTIMER additional.fields.value.string_value Il valore viene estratto dal campo LOOPBACKTIMER nel log non elaborato.
LOWESTPRIODEFECT additional.fields.value.string_value Il valore viene estratto dal campo LOWESTPRIODEFECT nel log non elaborato.
LTMTXDESTTYPE additional.fields.value.string_value Il valore viene estratto dal campo LTMTXDESTTYPE nel log non elaborato.
LTMTXEGRESSID metadata.product_log_id Il valore viene estratto dal campo LTMTXEGRESSID nel log non elaborato.
LTMTXFLAGS additional.fields.value.string_value Il valore viene estratto dal campo LTMTXFLAGS nel log non elaborato.
LTMTXTTL additional.fields.value.string_value Il valore viene estratto dal campo LTMTXTTL nel log non elaborato.
MT additional.fields.value.string_value Il valore viene estratto dal campo MT nel log non elaborato.
MAXIMUMA2NBW additional.fields.value.string_value Il valore viene estratto dal campo MAXIMUMA2NBW nel log non elaborato.
MVAL additional.fields.value.string_value Il valore viene estratto dal campo MVAL nel log non elaborato.
NOME additional.fields.value.string_value Il valore viene estratto dal campo NAME (NOME) del log non elaborato.
NC additional.fields.value.string_value Il valore viene estratto dal campo NC nel log non elaborato.
PORTEID additional.fields.value.string_value Il valore viene estratto dal campo PORTEID nel log non elaborato.
PORTLLENABLED additional.fields.value.string_value Il valore viene estratto dal campo PORTLLENABLED nel log non elaborato.
PRIMARYSERVER target.ip Il valore viene estratto dal campo PRIMARYSERVER nel log non elaborato e analizzato come indirizzo IP.
PRIMARYVID additional.fields.value.string_value Il valore viene estratto dal campo PRIMARYVID nel log non elaborato.
QUEUEPROFILEID additional.fields.value.string_value Il valore viene estratto dal campo QUEUEPROFILEID nel log non elaborato.
RXSHAPEREID additional.fields.value.string_value Il valore viene estratto dal campo RXSHAPEREID nel log non elaborato.
SATRESPONDENABLED additional.fields.value.string_value Il valore viene estratto dal campo SATRESPONDENABLED nel log non elaborato.
SE additional.fields.value.string_value Il valore viene estratto dal campo SE nel log non elaborato.
SHAREDVIM additional.fields.value.string_value Il valore viene estratto dal campo SHAREDVIM nel log non elaborato.
SVLANENABLED additional.fields.value.string_value Il valore viene estratto dal campo SVLANENABLED nel log non elaborato.
SVLANID additional.fields.value.string_value Il valore viene estratto dal campo SVLANID nel log non elaborato.
SYSLOCATION principal.location.country_or_region Il valore viene estratto dal campo SYSLOCATION nel log non elaborato.
THVAL additional.fields.value.string_value Il valore viene estratto dal campo THVAL nel log non elaborato.
TIPO additional.fields.value.string_value Il valore viene estratto dal campo TYPE nel log non elaborato.
USERACCESSTYPE additional.fields.value.string_value Il valore viene estratto dal campo USERACCESSTYPE nel log non elaborato.
USERAUTHKEY additional.fields.value.string_value Il valore viene estratto dal campo USERAUTHKEY nel log non elaborato.
USERAUTHKEYLOCAL additional.fields.value.string_value Il valore viene estratto dal campo USERAUTHKEYLOCAL nel log non elaborato.
USERAUTHPROTOCOL additional.fields.value.string_value Il valore viene estratto dal campo USERAUTHPROTOCOL nel log non elaborato.
USERENGINEID additional.fields.value.string_value Il valore viene estratto dal campo USERENGINEID nel log non elaborato.
USERKEYSLOCAL additional.fields.value.string_value Il valore viene estratto dal campo USERKEYSLOCAL nel log non elaborato.
NOME UTENTE principal.user.userid Il valore viene estratto dal campo USERNAME nel log non elaborato.
USERPRIVKEY additional.fields.value.string_value Il valore viene estratto dal campo USERPRIVKEY nel log non elaborato.
USERPRIVKEYLOCAL additional.fields.value.string_value Il valore viene estratto dal campo USERPRIVKEYLOCAL nel log non elaborato.
USERPRIVPROTOCOL additional.fields.value.string_value Il valore viene estratto dal campo USERPRIVPROTOCOL nel log non elaborato.
USERSECURITYLEVEL additional.fields.value.string_value Il valore viene estratto dal campo USERSECURITYLEVEL nel log non elaborato.
USERSECURITYNAME principal.user.user_display_name Il valore viene estratto dal campo USERSECURITYNAME nel log non elaborato.
applicazione principal.application Il valore viene estratto dal campo dell'applicazione dal parser Grok.
descrizione security_result.description Il valore viene estratto dal campo della descrizione dal parser grok.
metadata.description Il valore è impostato su "Backup NTP Server Failed" (Errore del server NTP di backup) se il campo CT nel log non elaborato è "Backup NTP Server Failed".
metadata.event_timestamp.seconds Il valore viene estratto dal campo timestamp dal parser Grok e convertito in secondi epoch.
metadata.event_type Il valore viene impostato in base alla seguente logica:
- NETWORK_DHCP se network_dhcp_present è true e principal_present o target_present è true.
- NETWORK_CONNECTION se target_present e principal_present sono entrambi true.
- USER_RESOURCE_ACCESS se user_present è true.
- STATUS_UPDATE se principal_present è true.
- GENERIC_EVENT altrimenti.
metadata.product_log_id Il valore viene estratto dal campo LTMTXEGRESSID nel log non elaborato.
metadata.product_name Il valore è impostato su "ADVA_FSP".
metadata.vendor_name Il valore è impostato su "ADVA_FSP".
network.application_protocol Il valore è impostato su "DHCP" se network_dhcp_present è true e principal_present o target_present è true.
principal.hostname Il valore viene estratto dal campo principal_hostname analizzato dal parser grok, con i trattini bassi rimossi.
principal.ip Il valore viene estratto dal campo IPADDR nel log non elaborato e analizzato come indirizzo IP.
timestamp.seconds Il valore viene estratto dal campo timestamp dal parser Grok e convertito in secondi epoch.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.