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 oppure 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 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 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 il comando:

    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 il comando:

    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 di 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 importazione:

        • 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 un elenco completo, vedi Endpoint regionali.
      • log_type: impostato su ARBOR_SIGHTLINE (è richiesta la corrispondenza esatta)

      • 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
    

Salvare 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 verificare la presenza di 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 Services:

        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 verificare la presenza di 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 degli avvisi.

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. La gravità informativa raccoglie tutti i messaggi di evento a livello di evento informativo e di gravità superiore.
  5. Fai clic su Salva.
  6. Fai clic su Commit della 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 della 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 della 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. Nella CLI 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 notifiche 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 utente riusciti e non riusciti, 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: avvio, interruzione e aggiornamenti dello stato della mitigazione per gli attacchi DDoS

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
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
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
tasso 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 Impostato su "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 Imposta su "ARBOR_SIGHTLINE"
metadata.vendor_name metadata.vendor_name Impostato su "NETSCOUT"
direction network.direction Imposta su "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 Imposta su "ACTIVE" (ATTIVO) se la descrizione corrisponde ad "Avviso di rilevamento dell'organizzatore" e il messaggio è "start" (avvio) e non "stop" (interruzione); "CLEARED" (RISOLTO) se la descrizione corrisponde ad "Avviso di rilevamento dell'organizzatore" e il messaggio è "stop" (interruzione)
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 per 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

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