Raccogli i log di Netscout Arbor Sightline

Supportato in:

Questo documento spiega come importare i log di Netscout Arbor Sightline in Google Security Operations utilizzando l'agente Bindplane.

Netscout Arbor Sightline (in precedenza Peakflow SP) è una piattaforma di rilevamento DDoS e visibilità di rete che offre funzionalità avanzate, dalla pianificazione della capacità a livello di rete all'identificazione e alla gestione della mitigazione di attacchi DDoS e altre minacce alla rete. Sightline raccoglie e analizza i dati di flusso, le informazioni di routing BGP e i dati SNMP per rilevare anomalie, generare avvisi e coordinare le risposte di mitigazione.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive o host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e l'appliance Netscout Arbor Sightline
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso amministrativo all'interfaccia web di Netscout Arbor Sightline
  • Accesso amministrativo all'interfaccia a riga di comando (CLI) di Netscout Arbor Sightline per la configurazione degli avvisi di sistema

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 dell'acquisizione. 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 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
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi 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
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.

Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  1. Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/arbor_sightline:
            compression: gzip
            creds_file_path: '<CREDS_FILE_PATH>'
            customer_id: '<CUSTOMER_ID>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: ARBOR_SIGHTLINE
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/arbor_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/arbor_sightline
    
  2. Sostituisci i seguenti segnaposto:

    • Configurazione del ricevitore:

      • Il ricevitore è configurato per l'ascolto sulla porta UDP 514 su tutte le interfacce (0.0.0.0:514)
      • Se devi utilizzare una porta diversa (ad esempio, 1514 per le installazioni Linux non root), modifica il valore listen_address.
      • Se preferisci TCP syslog, sostituisci udplog con tcplog sia nella sezione dei ricevitori sia nella pipeline
    • Configurazione dell'esportatore:

      • <CREDS_FILE_PATH>: Percorso completo del file di autenticazione dell'acquisizione:

        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • <CUSTOMER_ID>: l'ID cliente del passaggio precedente

      • endpoint: URL dell'endpoint regionale (per impostazione predefinita viene visualizzata la regione Stati Uniti):

        • Stati Uniti: malachiteingestion-pa.googleapis.com
        • Europa: europe-malachiteingestion-pa.googleapis.com
        • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Per l'elenco completo, consulta Endpoint regionali.
      • log_type: impostato su ARBOR_SIGHTLINE (corrispondenza esatta obbligatoria)

      • ingestion_labels: Etichette facoltative in formato YAML (modifica in base alle esigenze del tuo ambiente)

Configurazione di esempio

  • receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/arbor_sightline:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ARBOR_SIGHTLINE
        raw_log_field: body
        ingestion_labels:
          env: production
          source: sightline
    
    service:
      pipelines:
        logs/arbor_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/arbor_sightline
    

Salva il file di configurazione

Dopo la modifica, salva il file:

  • Linux: premi Ctrl+O, poi Enter e infine Ctrl+X.
  • Windows: fai clic su File > Salva.

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux:

    1. Esegui questo comando:

      sudo systemctl restart observiq-otel-collector
      
    2. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    3. Controlla i log per individuare eventuali errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • Per riavviare l'agente Bindplane in Windows:

    1. Scegli una delle seguenti opzioni:

      • Prompt dei comandi o PowerShell come amministratore:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Console dei servizi:

        1. Premi Win+R, digita services.msc e premi Invio.
        2. Individua observIQ OpenTelemetry Collector.
        3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
    2. Verifica che il servizio sia in esecuzione:

      sc query observiq-otel-collector
      
    3. Controlla i log per individuare eventuali errori:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

Configura l'inoltro di syslog di Netscout Arbor Sightline

Per inviare i log a Google SecOps, devi configurare Netscout Arbor Sightline in modo che inoltri gli eventi syslog all'agente Bindplane. Ciò comporta la creazione di un gruppo di notifiche, la configurazione delle impostazioni di notifica globali e l'impostazione di regole di notifica di avviso.

Creare un gruppo di notifiche

  1. Accedi all'interfaccia web di Netscout Arbor Sightline come amministratore.
  2. Vai ad Amministrazione > Notifiche > Gruppi.
  3. Fai clic su Aggiungi gruppo di notifiche.
  4. Fornisci i seguenti dettagli di configurazione:
    • Destinazioni: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci 514 (o la porta configurata nell'agente Bindplane, ad esempio 1514).
    • Struttura: seleziona una struttura syslog (ad esempio local0 o user).
    • Gravità: seleziona info. Il livello di gravità informativo raccoglie tutti i messaggi di evento a livello di evento informativo e con gravità superiore.
  5. Fai clic su Salva.
  6. Fai clic su Commit configurazione per applicare le modifiche alla configurazione.

Configurare le impostazioni di notifica globali

Le notifiche globali in Netscout Arbor Sightline forniscono notifiche di sistema non associate a regole di avviso specifiche.

  1. Nell'interfaccia web di Netscout Arbor Sightline, vai ad Administration > Notification > Global Settings.
  2. Nel campo Gruppo di notifiche predefinito, seleziona il gruppo di notifiche che hai creato per Google SecOps.
  3. Fai clic su Salva.
  4. Fai clic su Commit configurazione per applicare le modifiche alla configurazione.

Attivare le notifiche di avviso del sistema

Gli avvisi di sistema richiedono una configurazione aggiuntiva tramite l'interfaccia a riga di comando (CLI).

  1. Accedi all'interfaccia a riga di comando di Netscout Arbor Sightline come amministratore.
  2. Elenca la configurazione attuale degli avvisi di sistema:

    services sp alerts system_errors show
    
  3. Per elencare i nomi dei campi degli avvisi di sistema disponibili che possono essere configurati, esegui:

    services sp alerts system_errors ?
    
  4. Attiva le notifiche per gli avvisi di sistema. Per ogni tipo di avviso che vuoi attivare, esegui:

    services sp alerts system_errors <alert_name> notifications enable
    

    Sostituisci <alert_name> con il nome del campo di avviso di sistema specifico (ad esempio disk_full, flow_collector_down, license_expiring).

  5. Esegui il commit delle modifiche alla configurazione:

    config write
    

Configurare le regole di notifica degli avvisi

Le regole di notifica degli avvisi determinano quali avvisi attivano le notifiche syslog a Google SecOps.

  1. Nell'interfaccia web di Netscout Arbor Sightline, vai ad Administration > Notification > Rules.
  2. Scegli una delle seguenti opzioni:
    • Fai clic su una regola esistente per modificarla.
    • Fai clic su Aggiungi regola per creare una nuova regola di notifica.
  3. Configura i seguenti valori:
    • Nome: inserisci un nome descrittivo per la regola (ad esempio, Chronicle-DDoS-Alerts).
    • Risorsa: inserisci un indirizzo CIDR o seleziona un oggetto gestito dall'elenco delle risorse Sightline. Per applicare la regola a tutte le risorse, lascia vuoto questo campo o seleziona Tutte.
    • Importanza: seleziona il livello di importanza minimo per gli avvisi (ad esempio Low, Medium, High o Critical). Gli avvisi di questo livello o superiore attiveranno le notifiche.
    • Gruppo di notifiche: seleziona il gruppo di notifiche che hai creato per Google SecOps.
  4. Ripeti questi passaggi per configurare altre regole in base alle necessità per risorse o livelli di importanza diversi.
  5. Fai clic su Salva.
  6. Fai clic su Commit configurazione per applicare le modifiche alla configurazione.

Testare la connettività syslog

Dopo aver configurato il gruppo di notifiche e le regole, verifica che i messaggi syslog vengano inviati all'agente Bindplane.

  1. Nell'interfaccia a riga di comando di Netscout Arbor Sightline, testa la connessione syslog:

    services sp notification test syslog group <notification_group_name>
    

    Sostituisci <notification_group_name> con il nome del gruppo di notifica che hai creato.

  2. Il comando dovrebbe restituire:

    Server returned: Success
    
  3. Controlla i log dell'agente Bindplane per verificare che i messaggi di test vengano ricevuti:

    Linux:

    sudo journalctl -u observiq-otel-collector -f
    

    Windows:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    
  4. Nella console Google SecOps, vai a Ricerca e verifica che i log di Netscout Arbor Sightline vengano visualizzati con l'etichetta di importazione ARBOR_SIGHTLINE.

Tipi di eventi inoltrati a Google SecOps

  • Netscout Arbor Sightline inoltra le seguenti categorie di eventi tramite syslog:

    • Eventi Denial of Service (DoS): avvisi di rilevamento di attacchi DDoS, inclusi attacchi volumetrici, attacchi di protocollo e attacchi a livello di applicazione
    • Eventi di autenticazione: accessi riusciti e non riusciti degli utenti, tentativi di autenticazione
    • Eventi di exploit: tentativi di exploit rilevati e pattern di traffico sospetti
    • Eventi di attività sospetta: comportamento anomalo del traffico e potenziali minacce alla sicurezza
    • Eventi di sistema: integrità dell'appliance, stato del servizio, modifiche alla configurazione e avvisi operativi
    • Eventi di mitigazione: aggiornamenti di inizio, interruzione e stato della mitigazione per gli attacchi DDoS

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
msg1 additional.fields Unite alle etichette di ogni campo, se non vuoto, utilizzando chiavi specifiche come "message_description" per msg1, "config_version" per config_version e così via.
config_version additional.fields
prin_user additional.fields
old_bgp_attributes additional.fields
new_bgp_attributes additional.fields
motivo additional.fields
sample_rate additional.fields
proto additional.fields
flussi basati sull'AI additional.fields
identificatore additional.fields
expected_bps additional.fields
actual_bps additional.fields
server additional.fields
stato additional.fields
percentuale additional.fields
valutare additional.fields
rateunit additional.fields
flags additional.fields
router additional.fields
interfaccia additional.fields
ip_ver additional.fields
protocol_id additional.fields
router_name additional.fields
interface_id additional.fields
interface_name additional.fields
priorità additional.fields
log_level additional.fields
piscina additional.fields
thread_id additional.fields
timeout additional.fields
tentativi additional.fields
vulns extensions.vulns.vulnerabilities Unito se vulns non è vuoto
decr metadata.description Impostato su "%{desc}: %{desc2}" se sia desc che desc2 non sono vuoti, altrimenti desc; sovrascritto da message_desc se non è vuoto
desc2 metadata.description
message_desc metadata.description
event_time metadata.event_timestamp Convertito utilizzando il filtro per data con formato MMM gg HH:mm:ss o MMM g HH:mm:ss, fuso orario Europe/London
desc2 metadata.event_type Imposta "SCAN_PROCESS" se desc2 corrisponde a "(DNS Amplification
messaggio metadata.event_type
src_ip metadata.event_type
has_target_ip metadata.event_type
has_network_protocol metadata.event_type
host_name metadata.event_type
messaggio metadata.product_event_type Imposta "Rilevamento host" se il messaggio corrisponde a "Rilevamento host"; "Mitigazione TMS avviata" se il messaggio corrisponde a "avviata"; "Mitigazione TMS interrotta" se il messaggio corrisponde a "interrotta"
metadata.product_name metadata.product_name Impostato su "ARBOR_SIGHTLINE"
metadata.vendor_name metadata.vendor_name Impostato su "NETSCOUT"
direction network.direction Imposta "INBOUND" se la direzione è "incoming"
proto network.ip_protocol Imposta "TCP" se proto "6"; altrimenti imposta network_protocol in maiuscolo se corrisponde a "(?i)(TCP
network_protocol network.ip_protocol
byte network.sent_bytes Valore copiato direttamente, convertito in uinteger
pacchetti network.sent_packets Valore copiato direttamente, convertito in numero intero
duration network.session_duration.seconds Valore copiato direttamente se non è vuoto e non è "0", convertito in numero intero
host_name principal.hostname Valore copiato direttamente
src_ip principal.ip Unito da src_ip e nameserver_ip
nameserver_ip principal.ip
spazio dei nomi principal.namespace Valore copiato direttamente
filename principal.process.file.full_path Valore copiato direttamente
alert_id principal.process.pid Valore copiato direttamente
prin_url principal.url Valore copiato direttamente
prin_user principal.user.userid Valore copiato direttamente
impatto security_result.detection_fields Unito alle chiavi "Impatto" da impatto, "Importanza" da importanza, "Firma" da firma, "Leader" da leader, "parent_managed_object" da parent_managed_object, "ID avviso" da alert_id
importanza security_result.detection_fields
firma security_result.detection_fields
leader security_result.detection_fields
parent_managed_object security_result.detection_fields
alert_id security_result.detection_fields
gravità security_result.severity Impostato su "INFORMATIONAL" se la gravità è in ["10","9"]; "LOW" se in ["8","7"]; "MEDIUM" se "6"; "HIGH" se in ["5","4"]; "CRITICAL" se in ["3","2","1"]
desc2 security_result.threat_status Impostato su "ACTIVE" se la descrizione corrisponde ad "Avviso di rilevamento host" e il messaggio è "start" e non "stop"; "CLEARED" se la descrizione corrisponde ad "Avviso di rilevamento host" e il messaggio è "stop"
messaggio security_result.threat_status
intem_host target.group.product_object_id Valore copiato direttamente
dst_ip target.ip Valore copiato direttamente
dst_port target.port Valore copiato direttamente, convertito in numero intero
file_path target.process.file.full_path Valore copiato direttamente
stop_time vulns.vulnerabilities.scan_end_time Convertito utilizzando il filtro data con il formato AAAA-MM-GG HH:mm:ss
start_time vulns.vulnerabilities.scan_start_time Convertito utilizzando il filtro per data con il formato aaaa-MM-gg HH:mm:ss o aaaa-MM-gg
msg1 event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
prin_user event.idm.read_only_udm.principal.user.userid Mappato dal log delle modifiche
config_version event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
old_bgp_attributes event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
new_bgp_attributes event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
reason event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
sample_rate event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
proto event.idm.read_only_udm.network.ip_protocol Mappato dal log delle modifiche
proto event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
bytes event.idm.read_only_udm.network.sent_bytes Mappato dal log delle modifiche
packets event.idm.read_only_udm.network.sent_packets Mappato dal log delle modifiche
flows event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
identifier event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
expected_bps event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
actual_bps event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
server event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
status event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
percent event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
rate event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
rateunit event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
flags event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
router event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
interface event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
ip_ver event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
protocol_id event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
router_name event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
interface_id event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
interface_name event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
network_protocol event.idm.read_only_udm.network.ip_protocol Mappato dal log delle modifiche
prin_url event.idm.read_only_udm.principal.url Mappato dal log delle modifiche
src_port event.idm.read_only_udm.principal.port Mappato dal log delle modifiche
dst_port event.idm.read_only_udm.target.port Mappato dal log delle modifiche
dst_ip event.idm.read_only_udm.target.ip Mappato dal log delle modifiche
severity event.idm.read_only_udm.security_result.severity Mappato dal log delle modifiche
Active/Cleared security_result.threat_status Mappato dal log delle modifiche
alert_id","parent_managed_object security_result.detection_fields Mappato dal log delle modifiche

Log delle modifiche

Visualizza il log delle modifiche per questo parser

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