Raccogli i log di Cisco eStreamer
Questo documento spiega come importare i log di Cisco eStreamer in Google Security Operations utilizzando Bindplane.
L'analizzatore sintattico estrae i campi dai log formattati syslog Cisco eStreamer con coppie chiave-valore. Utilizza grok e/o kv per analizzare il messaggio di log e poi mappa questi valori al modello UDM (Unified Data Model). Imposta anche i valori predefiniti dei metadati per l'origine e il tipo di evento.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps.
- Windows Server 2016 o versioni successive oppure host 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 con privilegi a Cisco Firepower Management Center (FMC).
- Un sistema Linux per eseguire il client CLI eNcore.
Recuperare il file di autenticazione dell'importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agente di raccolta.
- 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
- 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 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" /quiet
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.sh
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione, consulta questa guida all'installazione.
Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps
Accedi al file di configurazione:
- Individua il file
config.yaml. In genere si trova nella directory/observiq-otel-collector/su Linux o nella directory `C:\Program Files\observIQ OpenTelemetry Collector` su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano,vio Blocco note).
- Individua il file
Modifica il file
config.yamlcome segue:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:5514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: YOUR_CUSTOMER_ID endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'CISCO_ESTREAMER' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.
- Sostituisci
YOUR_CUSTOMER_IDcon l'ID cliente effettivo. - Aggiorna
/path/to/ingestion-authentication-file.jsoncon il percorso del file in cui è stato salvato il file di autenticazione nel passaggio 1.
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 individuare eventuali 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-collector- Console dei 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 individuare eventuali errori:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Configura l'inoltro di Syslog su Cisco eStreamer
Configura eStreamer su Firepower Management Center
- Accedi a Firepower Management Center.
- Vai a Sistema > Integrazione > eStreamer.
- Fai clic su eStreamer per accedere alla configurazione degli eventi eStreamer.
- Seleziona le caselle di controllo accanto ai tipi di eventi che vuoi acquisire:
- Eventi di intrusione: per gli eventi di rilevamento delle intrusioni
- Dati dei pacchetti di eventi di intrusione: per acquisizioni di pacchetti associati a eventi di intrusione
- Eventi di connessione: per i dati di connessione di rete
- Eventi Intelligence per la sicurezza: per i dati di threat intelligence
- Eventi file: per gli eventi di analisi dei file
- Eventi malware: per gli eventi di rilevamento di malware
- Fai clic su Salva.
Crea client eStreamer
- Nella pagina eStreamer, fai clic su Crea client.
- Fornisci i seguenti dettagli di configurazione:
- Nome host: inserisci l'indirizzo IP del sistema Linux in cui verrà eseguito il client eNcore.
- Password: inserisci una password per criptare il file del certificato.
- Fai clic su Salva.
- Scarica il file del certificato PKCS12 generato e trasferiscilo al sistema client eNcore.
Installa e configura il client CLI eNcore
- Sul sistema Linux, scarica il client CLI eStreamer eNcore da Cisco.
Estrai il pacchetto eNcore:
tar -xzf eStreamer-eNcore-*.tar.gz cd eStreamer-eNcore-*Esegui lo script di configurazione:
./encore.sh setupQuando richiesto, scegli il formato di output per le coppie chiave-valore (compatibile con i sistemi SIEM).
Inserisci l'indirizzo IP FMC e la password del certificato PKCS12.
Configura il file
estreamer.confper inviare i messaggi syslog all'agente Bindplane:- Apri il file
estreamer.confin un editor di testo. - Individua la sezione degli output e configurala per inviare syslog all'agente Bindplane:
{ "handler": { "outputters": [ { "name": "syslog", "adapter": "kvpair", "enabled": true, "stream": { "uri": "udp://BINDPLANE_AGENT_IP:5514" } } ] } }- Apri il file
Sostituisci
BINDPLANE_AGENT_IPcon l'indirizzo IP dell'agente Bindplane.
Avviare eNcore Client
Testa la connessione in modalità in primo piano:
./encore.sh foregroundUna volta verificato, avvia eNcore come servizio in background:
./encore.sh start
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
additional_deviceInboundInterface |
additional.fields |
Unita |
additional_deviceOutboundInterface |
additional.fields |
Unita |
additional_start |
additional.fields |
Unita |
has_target |
extensions.auth.type |
Mappato: true → AUTHTYPE_UNSPECIFIED |
dvchost |
intermediary.asset.hostname |
Mappato direttamente |
hostname |
intermediary.asset.hostname |
Mappato direttamente |
dvchost |
intermediary.hostname |
Mappato direttamente |
hostname |
intermediary.hostname |
Mappato direttamente |
dvcpid |
intermediary.process.pid |
Mappato direttamente |
ts |
metadata.event_timestamp |
Analizzato come MMM d HH:mm:ss |
has_principal |
metadata.event_type |
Valori mappati (5 in totale, ad es. true → NETWORK_HTTP, true → NETWORK_DNS, true → `NETW... |
has_target |
metadata.event_type |
Mappato: true → USER_UNCATEGORIZED |
product_event_type |
metadata.product_event_type |
Mappato direttamente |
product_name |
metadata.product_name |
Mappato direttamente |
version |
metadata.product_version |
Mappato direttamente |
vendor_name |
metadata.vendor_name |
Mappato direttamente |
app |
network.application_protocol |
Mappato direttamente |
src |
network.dhcp.ciaddr |
Mappato direttamente |
deviceDirection |
network.direction |
Mappato: 0 → INBOUND, 1 → OUTBOUND |
dns_question |
network.dns.questions |
Unita |
requestClientApplication |
network.http.user_agent |
Mappato direttamente |
ip_protocol_out |
network.ip_protocol |
Mappato direttamente |
bytesIn |
network.received_bytes |
Mappato direttamente |
bytesOut |
network.sent_bytes |
Mappato direttamente |
deviceExternalId |
principal.asset.asset_id |
Mappato direttamente |
src |
principal.asset.ip |
Unita |
src |
principal.ip |
Unita |
spt |
principal.port |
Mappato direttamente |
security_result_action |
security_result.action |
Unita |
act |
security_result.action_details |
Mappato direttamente |
category |
security_result.category |
Unita |
cat |
security_result.category_details |
Unita |
cs5 |
security_result.description |
Mappato direttamente |
blockLength_label |
security_result.detection_fields |
Unita |
blockType_label |
security_result.detection_fields |
Unita |
cs1_var |
security_result.detection_fields |
Unita |
cs2_var |
security_result.detection_fields |
Unita |
cs3_var |
security_result.detection_fields |
Unita |
cs4_var |
security_result.detection_fields |
Unita |
cs5_var |
security_result.detection_fields |
Unita |
cs6_var |
security_result.detection_fields |
Unita |
suser_var |
security_result.detection_fields |
Unita |
cs6 |
security_result.rule_id |
Mappato direttamente |
severity |
security_result.severity_details |
Mappato direttamente |
outcome |
security_result.summary |
Mappato direttamente |
destinationDnsDomain |
target.asset.hostname |
Mappato direttamente |
dst |
target.asset.ip |
Unita |
fname |
target.file.full_path |
Mappato direttamente |
fileType |
target.file.mime_type |
Mappato direttamente |
fileHash |
target.file.sha256 |
Mappato direttamente |
fsize |
target.file.size |
Mappato direttamente |
destinationDnsDomain |
target.hostname |
Mappato direttamente |
host |
target.hostname |
Mappato direttamente |
dst |
target.ip |
Unita |
dpt |
target.port |
Mappato direttamente |
request |
target.url |
Mappato direttamente |
| N/D | extensions.auth.type |
Costante: AUTHTYPE_UNSPECIFIED |
| N/D | metadata.event_type |
Costante: NETWORK_HTTP |
| N/D | network.direction |
Costante: INBOUND |
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.