Raccogli i log di Netscout Arbor Sightline
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
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
- Apri Prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo il comando:
sc query observiq-otel-collectorIl servizio dovrebbe essere visualizzato come IN ESECUZIONE.
Installazione di Linux
- Apri un terminale con privilegi root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAttendi il completamento dell'installazione.
Verifica l'installazione eseguendo il comando:
sudo systemctl status observiq-otel-collectorIl 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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifica il file di configurazione
Sostituisci l'intero contenuto di
config.yamlcon 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_sightlineSostituisci 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
1514per le installazioni Linux non root), modifica il valore dilisten_address. - Se preferisci TCP syslog, sostituisci
udplogcontcplogsia nella sezione dei ricevitori sia nella pipeline
- Il ricevitore è configurato per l'ascolto sulla porta UDP 514 su tutte le interfacce (
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
- Linux:
<CUSTOMER_ID>: l'ID cliente del passaggio precedenteendpoint: 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.
- Stati Uniti:
log_type: impostato suARBOR_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, poiEntere infineCtrl+X. - Windows: fai clic su File > Salva.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux:
Esegui questo comando:
sudo systemctl restart observiq-otel-collectorVerifica che il servizio sia in esecuzione:
sudo systemctl status observiq-otel-collectorControlla i log per verificare la presenza di errori:
sudo journalctl -u observiq-otel-collector -f
Per riavviare l'agente Bindplane in Windows:
Scegli una delle seguenti opzioni:
Prompt dei comandi o PowerShell come amministratore:
net stop observiq-otel-collector && net start observiq-otel-collectorConsole Services:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
- Premi
Verifica che il servizio sia in esecuzione:
sc query observiq-otel-collectorControlla 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
- Accedi all'interfaccia web di Netscout Arbor Sightline come amministratore.
- Vai ad Amministrazione > Notifiche > Gruppi.
- Fai clic su Aggiungi gruppo di notifiche.
- 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 esempio1514). - Struttura: seleziona una struttura syslog (ad esempio
local0ouser). - Gravità: seleziona
info. La gravità informativa raccoglie tutti i messaggi di evento a livello di evento informativo e di gravità superiore.
- Destinazioni: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio,
- Fai clic su Salva.
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.
- Nell'interfaccia web di Netscout Arbor Sightline, vai ad Administration > Notification > Global Settings.
- Nel campo Gruppo di notifiche predefinito, seleziona il gruppo di notifiche che hai creato per Google SecOps.
- Fai clic su Salva.
- 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).
- Accedi all'interfaccia a riga di comando di Netscout Arbor Sightline come amministratore.
Elenca la configurazione attuale degli avvisi di sistema:
services sp alerts system_errors showPer elencare i nomi dei campi degli avvisi di sistema disponibili che possono essere configurati, esegui:
services sp alerts system_errors ?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 enableSostituisci
<alert_name>con il nome del campo di avviso di sistema specifico (ad esempiodisk_full,flow_collector_down,license_expiring).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.
- Nell'interfaccia web di Netscout Arbor Sightline, vai ad Administration > Notification > Rules.
- 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.
- 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,HighoCritical). Gli avvisi di questo livello o superiore attiveranno le notifiche. - Gruppo di notifiche: seleziona il gruppo di notifiche che hai creato per Google SecOps.
- Nome: inserisci un nome descrittivo per la regola (ad esempio,
- Ripeti questi passaggi per configurare altre regole in base alle necessità per risorse o livelli di importanza diversi.
- Fai clic su Salva.
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.
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.Il comando dovrebbe restituire:
Server returned: SuccessControlla i log dell'agente Bindplane per verificare che i messaggi di test vengano ricevuti:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"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.