Raccogliere i log di Big Switch BigCloudFabric
Questo documento spiega come importare i log di Big Switch BigCloudFabric in Google Security Operations utilizzando l'agente Bindplane.
Arista Networks Big Cloud Fabric (BCF), ora noto come Converged Cloud Fabric (CCF), è una soluzione di networking software-defined (SDN) che fornisce la gestione automatizzata della struttura del data center tramite un controller centralizzato. Il controller BCF/CCF gestisce le architetture di rete leaf-spine, fornendo funzionalità di configurazione, monitoraggio e risoluzione dei problemi centralizzate per le reti di data center aziendali. Questo prodotto è stato originariamente sviluppato da Big Switch Networks prima di essere acquisito da Arista Networks.
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 il controller BCF/CCF
- Se esegui l'agente dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso amministrativo al controller BCF/CCF tramite GUI o CLI
- Controller BCF/CCF versione 2.5 o successive (per il supporto di syslog)
Recuperare il file di autenticazione dell'importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione.
Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Recuperare l'ID cliente di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.
Installare l'agente Bindplane
Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
Installazione di finestre
- Apri il 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:
sc query observiq-otel-collectorIl servizio dovrebbe essere visualizzato come IN ESECUZIONE.
Installazione di Linux
- Apri un terminale con privilegi di 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:
sudo systemctl status observiq-otel-collectorIl servizio dovrebbe essere visualizzato come attivo (in esecuzione).
Risorse di installazione aggiuntive
Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.
Configurare l'agente Bindplane per importare syslog e inviarli a Google SecOps
Individuare il file di configurazione
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modificare 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/bigswitch_bcf: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: BIGSWITCH_BCF raw_log_field: body ingestion_labels: env: production source: bcf_controller service: pipelines: logs/bcf_to_chronicle: receivers: - udplog exporters: - chronicle/bigswitch_bcfSostituisci i seguenti segnaposto:
Configurazione del ricevitore:
- Il ricevitore è configurato per l'ascolto sulla porta UDP 514 dei messaggi syslog dal controller BCF/CCF
- Per utilizzare una porta diversa, modifica
514con il numero di porta che preferisci (ad esempio,1514per le installazioni Linux senza privilegi)
Configurazione dell'esportatore:
creds_file_path: percorso completo del file di autenticazione dell'importazione:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: sostituisci con il tuoCustomer ID. Per i dettagli, vedi Recuperare l'ID cliente di Google SecOps.endpoint: URL dell'endpoint regionale:- Stati Uniti:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Per l'elenco completo, vedi Endpoint regionali
- Stati Uniti:
log_type: imposta suBIGSWITCH_BCF(non modificare)ingestion_labels: etichette facoltative per la classificazione dei log (personalizza in base alle esigenze)
Salvare il file di configurazione
Dopo la modifica, salva il file:
- Linux: premi
Ctrl+O, poiEnter, poiCtrl+X - Windows: fai clic su File > Salva
Riavviare 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 Servizi:
- 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"
Configurare l'inoltro di syslog di Big Switch BigCloudFabric
Configura il controller BCF/CCF per inoltrare i messaggi syslog all'agente Bindplane utilizzando il metodo GUI o CLI.
Metodo 1: configurare syslog utilizzando la GUI
- Accedi all'interfaccia web del controller BCF/CCF utilizzando le tue credenziali di amministratore.
- Vai a Manutenzione > Logging.
- Fai clic sulla scheda Remote Logging.
- Fai clic su Aggiungi per creare una nuova configurazione del server syslog remoto.
- Fornisci i seguenti dettagli di configurazione:
- Server: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio,
192.168.1.100). - Porta: inserisci
514(o la porta configurata in config.yaml dell'agente Bindplane). - Protocollo: seleziona UDP.
- Server: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio,
- Fai clic su Salva o Applica per salvare la configurazione.
- Verifica che la configurazione venga visualizzata nell'elenco Remote Logging.
Metodo 2: configurare syslog utilizzando la CLI
- Connettiti al controller BCF/CCF tramite SSH utilizzando le tue credenziali di amministratore.
Attiva la modalità di abilitazione:
controller-1> enableAttiva la modalità di configurazione:
controller-1# configureConfigura il server syslog remoto:
controller-1(config)# logging remote 192.168.1.100Sostituisci
192.168.1.100con l'indirizzo IP dell'host dell'agente Bindplane.Esci dalla modalità di configurazione:
controller-1(config)# exitVerifica la configurazione di syslog:
controller-1# show loggingL'output dovrebbe mostrare l'indirizzo IP del server syslog remoto configurato.
Verificare l'inoltro dei log
- Genera eventi di log di test sul controller BCF/CCF eseguendo modifiche alla configurazione o visualizzando lo stato del sistema.
Controlla i log dell'agente Bindplane per verificare che i messaggi syslog vengano ricevuti:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Accedi alla console Google SecOps e verifica che i log vengano visualizzati nell'interfaccia Ricerca con l'etichetta di importazione
BIGSWITCH_BCF.
Tabella di mapping UDM
| Campo log | Mapping UDM | Funzione logica |
|---|---|---|
| descrizione | metadata.description | Valore copiato direttamente, con gli spazi iniziali e finali rimossi |
| target_host, time, product_event_type, description, application | metadata.event_type | Imposta su STATUS_HEARTBEAT se target_host e time non sono vuoti; SERVICE_STOP se product_event_type == PORT_DOWN; SERVICE_START se la descrizione corrisponde a ".Running job." o product_event_type == PORT_UP o application == snmpd-execstart; STATUS_SHUTDOWN se la descrizione corrisponde a ".status down."; SERVICE_DELETION se product_event_type == Removing Endpoint; SERVICE_CREATION se product_event_type == Adding Endpoint; SERVICE_MODIFICATION se product_event_type == Moving Endpoint o la descrizione corrisponde a ".change instances."; NETWORK_CONNECTION se target_host non è vuoto; altrimenti GENERIC_EVENT |
| product_event_type | metadata.product_event_type | Valore copiato direttamente |
| application_protocol | network.application_protocol | Imposta su "UNKNOWN_APPLICATION_PROTOCOL" se application_protocol == "lldpa" |
| host | principal.hostname | Valore copiato direttamente |
| ip | principal.ip | Valore copiato direttamente |
| process_id | principal.process.pid | Valore copiato direttamente |
| UTENTE | principal.user.userid | Valore copiato direttamente |
| log_level | security_result | Oggetto con gravità impostata su INFORMATIONAL se INFO, MEDIUM se WARN, HIGH se ERROR; azione impostata su ALLOW se INFO o WARN, BLOCK se ERROR |
| applicazione | target.application | Valore copiato direttamente |
| target_host | target.hostname | Valore copiato direttamente |
| porta | target.port | Convertito in numero intero |
| Comando | target.process.command_line | Valore copiato direttamente |
| product_specific_id | target.process.product_specific_process_id | Con il prefisso "Bigswitch:" |
| kv_1, kv2, kv3 | target.user.group_identifiers | Unito da kv_1 se non è vuoto, kv2 se non è vuoto, kv3 se non è vuoto |
| metadata.product_name | Imposta su "Big Cloud Fabric" | |
| metadata.vendor_name | Imposta su "Big Switch" |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.