Raccogli i log di Vectra Detect
Questo documento spiega come importare i log di Vectra Detect in Google Security Operations utilizzando l'agente Bindplane.
Vectra Detect è una piattaforma di rilevamento e risposta di rete (NDR) che genera messaggi syslog in formato JSON e CEF per rilevamenti di host, eventi di campagne, eventi di controllo ed eventi di integrità. Il parser estrae i campi dai formati SYSLOG, JSON e CEF e li mappa al modello Unified Data Model (UDM).
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 Vectra Detect
- Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
- Accesso amministrativo all'interfaccia utente di Vectra Detect
Ottieni il file di autenticazione dell'acquisizione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti 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 organizzazione.
Installa l'agente Bindplane
Installa l'agente Bindplane sul tuo sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
Installazione di finestre
- 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:
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:
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 /opt/observiq-otel-collector/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/vectra_detect: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VECTRA_DETECT raw_log_field: body service: pipelines: logs/vectra_detect_to_chronicle: receivers: - udplog exporters: - chronicle/vectra_detect
Parametri di configurazione
Sostituisci i seguenti segnaposto:
Configurazione del destinatario:
listen_address: indirizzo IP e porta su cui ascoltare:0.0.0.0per ascoltare su tutte le interfacce (consigliato)- La porta
514è la porta syslog standard (richiede l'accesso root su Linux; utilizza1514per l'accesso non root)
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
- Linux:
customer_id: ID cliente copiato dalla console Google SecOpsendpoint: 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, consulta Endpoint regionali.
- Stati Uniti:
Salva il file di configurazione
- Dopo la modifica, salva il file:
- Linux: premi
Ctrl+O, poiEntere infineCtrl+X - Windows: fai clic su File > Salva
- Linux: premi
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-collectorConsole Servizi:
- Premi
Win+R, digitaservices.msce premi Invio. - Individua observIQ OpenTelemetry Collector.
- Fai clic con il tasto destro del mouse e seleziona Riavvia.
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"
- Premi
Configura Vectra Detect per l'invio di syslog
- Accedi all'interfaccia utente di Vectra Detect.
- Vai a Impostazioni > Notifiche.
- Vai alla sezione Syslog.
- Fai clic su Modifica per aggiungere o modificare la configurazione di syslog.
- Destinazione: inserisci l'indirizzo IP dell'agente Bindplane.
- Porta: inserisci il numero di porta dell'agente Bindplane.
- Protocollo: seleziona UDP o TCP in base alla configurazione di Bindplane.
- Formato: seleziona JSON.
- Tipi di log: seleziona i log che vuoi inviare a Google SecOps.
- Seleziona la casella di controllo Includi dettagli avanzati.
- (Facoltativo) Configura altri interruttori sul lato destro:
- Includi rilevamenti sottoposti a triage: se questa opzione è disattivata, i messaggi syslog non vengono inviati quando vengono creati o aggiornati rilevamenti sottoposti a triage.
- Includi rilevamenti nella categoria Informazioni: se questa opzione è disattivata, i messaggi syslog non vengono inviati quando vengono creati o aggiornati i rilevamenti nella categoria Informazioni.
- Includi diminuzioni del punteggio di host/account: se questa opzione è disattivata, i messaggi syslog non vengono inviati quando i punteggi di minaccia e certezza diminuiscono o rimangono invariati.
- Fai clic su Salva.
- Fai clic su Test per testare la configurazione.
Tabella di mappatura UDM
| Campo log | mappatura UDM | Logica |
|---|---|---|
action |
read_only_udm.security_result.action |
Valore preso dal campo "action" se [result] è "true" o "failure" negli eventi di controllo. |
category |
read_only_udm.security_result.category_details |
Valore tratto dal campo "category". |
certainty |
read_only_udm.security_result.confidence |
Se [certainty] è compreso tra 0 e 35, imposta il valore su "LOW_CONFIDENCE". Se [certainty] è compreso tra 35 e 70, imposta il valore su "MEDIUM_CONFIDENCE". Se [certainty] è compreso tra 70 e 100, imposta "HIGH_CONFIDENCE". |
dd_bytes_rcvd |
read_only_udm.network.received_bytes |
Valore estratto dal campo "dd_bytes_rcvd". |
dd_bytes_sent |
read_only_udm.network.sent_bytes |
Valore tratto dal campo "dd_bytes_sent". |
dd_dst_dns |
read_only_udm.target.hostname |
Valore estratto dal campo "dd_dst_dns". |
dd_dst_dns |
read_only_udm.target.asset.hostname |
Valore estratto dal campo "dd_dst_dns". |
dd_dst_ip |
read_only_udm.target.asset.ip |
Valore estratto dal campo "dd_dst_ip". |
dd_dst_ip |
read_only_udm.target.ip |
Valore estratto dal campo "dd_dst_ip". |
dd_dst_port |
read_only_udm.target.port |
Valore estratto dal campo "dd_dst_port". |
detection_id |
read_only_udm.metadata.product_log_id |
Valore tratto dal campo "detection_id". |
detection_profile.name |
read_only_udm.security_result.detection_fields |
La chiave è "detection_profile name", il valore viene estratto dal campo "detection_profile.name". |
detection_profile.scoringDetections |
read_only_udm.security_result.detection_fields |
La chiave è "detectionprofile scoringDetections{index}", il valore viene preso da ogni elemento dell'array "detection_profile.scoringDetections". |
detection_profile.vname |
read_only_udm.security_result.detection_fields |
La chiave è "detection_profile vname", il valore viene estratto dal campo "detection_profile.vname". |
dest_ip |
read_only_udm.target.asset.ip |
Valore estratto dal campo "dest_ip" in Eventi campagne. |
dest_ip |
read_only_udm.target.ip |
Valore preso dal campo "dest_ip" in Eventi delle campagne. |
dest_name |
read_only_udm.target.asset.hostname |
Valore estratto dal campo "dest_name" in Eventi campagne. |
dest_name |
read_only_udm.target.hostname |
Valore estratto dal campo "dest_name" in Eventi campagne. |
d_type |
read_only_udm.additional.fields |
La chiave è "d_type", il valore viene estratto dal campo "d_type". |
d_type_vname |
read_only_udm.additional.fields |
La chiave è "d_type_vname", il valore viene preso dal campo "d_type_vname". |
dvchost |
read_only_udm.observer.hostname |
Valore estratto dal campo "dvchost". |
dvchost |
read_only_udm.principal.asset.hostname |
Valore estratto dal campo "dvchost" se [host_name] è vuoto negli eventi HOST. |
dvchost |
read_only_udm.principal.hostname |
Valore preso dal campo "dvchost" se [host_name] è vuoto negli eventi HOST. |
headend_addr |
read_only_udm.observer.ip |
Valore tratto dal campo "headend_addr". |
headend_addr |
read_only_udm.principal.asset.ip |
Valore estratto dal campo "headend_addr" se [host_ip] è vuoto in Eventi di rilevamento. |
headend_addr |
read_only_udm.principal.ip |
Valore preso dal campo "headend_addr" se [host_ip] è vuoto negli eventi di rilevamento. |
href |
read_only_udm.target.url |
Valore preso dal campo "href". |
host_id |
read_only_udm.target.asset_id |
Il valore è "VectraAI.DETECT:{host_id}" in HOST Events. |
host_ip |
read_only_udm.principal.asset.ip |
Valore estratto dal campo "host_ip" negli eventi HOST e Rilevamenti. |
host_ip |
read_only_udm.principal.ip |
Valore estratto dal campo "host_ip" negli eventi HOST e Rilevamenti. |
host_name |
read_only_udm.principal.asset.hostname |
Valore tratto dal campo "host_name". |
host_name |
read_only_udm.principal.hostname |
Valore tratto dal campo "host_name". |
msg_data |
read_only_udm.security_result.summary |
Valore estratto dal campo "msg_data" in Eventi di controllo e stato. |
quadrant |
read_only_udm.security_result.priority_details |
Valore tratto dal campo "quadrante". |
result |
read_only_udm.security_result.action |
Se [result] è "true", imposta su "ALLOW". Se [result] è "failure", imposta "BLOCK" in Audit Events. |
result |
read_only_udm.security_result.detection_fields |
La chiave è "result", il valore viene preso dal campo "result" in Audit and Health Events. |
role |
read_only_udm.target.user.attribute.roles.name |
Valore estratto dal campo "role" (ruolo) in Eventi di controllo. |
severity |
read_only_udm.security_result.severity |
Se [threat] è compreso tra 0 e 20, imposta il valore su "INFORMATIONAL". Se [threat] è compreso tra 20 e 40, imposta "BASSA". Se [threat] è compreso tra 40 e 60, imposta "MEDIO". Se [threat] è compreso tra 60 e 80, imposta "HIGH". Se [threat] è compreso tra 80 e 100, imposta su "CRITICAL". |
severity |
read_only_udm.security_result.severity_details |
Valore tratto dal campo "gravità". |
source_ip |
read_only_udm.principal.asset.ip |
Valore ricavato dal campo "source_ip" negli eventi di controllo e di integrità. |
source_ip |
read_only_udm.principal.ip |
Valore ricavato dal campo "source_ip" negli eventi di controllo e di integrità. |
src |
read_only_udm.principal.asset.ip |
Valore estratto dal campo "src" negli eventi CEF. |
src |
read_only_udm.principal.ip |
Valore preso dal campo "src" negli eventi CEF. |
src_ip |
read_only_udm.principal.asset.ip |
Valore preso dal campo "src_ip" in Eventi delle campagne. |
src_ip |
read_only_udm.principal.ip |
Valore estratto dal campo "src_ip" in Eventi campagne. |
src_name |
read_only_udm.principal.asset.hostname |
Valore preso dal campo "src_name" se [host_name] e [dvchost] sono vuoti. |
src_name |
read_only_udm.principal.hostname |
Valore estratto dal campo "src_name" se [host_name] e [dvchost] sono vuoti. |
threat |
read_only_udm.security_result.severity |
Se [threat] è compreso tra 0 e 20, imposta il valore su "INFORMATIONAL". Se [threat] è compreso tra 20 e 40, imposta "LOW". Se [threat] è compreso tra 40 e 60, imposta su "MEDIUM". Se [threat] è compreso tra 60 e 80, imposta "HIGH". Se [threat] è compreso tra 80 e 100, imposta il valore su "CRITICA". |
triaged |
read_only_udm.additional.fields |
La chiave è "triaged", il valore viene estratto dal campo "triaged". |
type |
read_only_udm.metadata.product_event_type |
Valore estratto dal campo "type" in Eventi salute. |
user |
read_only_udm.target.user.userid |
Valore preso dal campo "user" in Audit Events. |
vectra_timestamp |
read_only_udm.metadata.event_timestamp |
Valore estratto dal campo "vectra_timestamp". |
version |
read_only_udm.metadata.product_version |
Valore tratto dal campo "version". |
read_only_udm.metadata.event_type |
Imposta su "USER_LOGIN" se [msg_data] contiene "log in" e [user] non è vuoto in Eventi di controllo. | |
read_only_udm.metadata.event_type |
Impostato su "SCAN_HOST" negli eventi HOST. | |
read_only_udm.metadata.event_type |
Imposta su "NETWORK_HTTP" se [host_ip] non è vuoto, [principal_present] è true e [target_present] è true in Eventi di rilevamento. | |
read_only_udm.metadata.event_type |
Impostato su "STATUS_UPDATE" se [principal_present] è true in Detections Events. | |
read_only_udm.metadata.event_type |
Impostato su "NETWORK_CONNECTION" se [principal_present] è true e [target_present] è true in Detections Events. | |
read_only_udm.metadata.event_type |
Imposta su "NETWORK_CONNECTION" se [event_type] è "GENERIC_EVENT", [principal_present] è true e [target_present] è true. | |
read_only_udm.metadata.event_type |
Impostato su "STATUS_UPDATE" se [event_type] è "GENERIC_EVENT" e [principal_present] è true. | |
read_only_udm.metadata.log_type |
Imposta "VECTRA_DETECT". | |
read_only_udm.metadata.vendor_name |
Imposta su "Vectra.AI". | |
read_only_udm.metadata.product_name |
Imposta su "DETECT" (RILEVA). | |
read_only_udm.network.application_protocol |
Imposta "HTTP" se [dd_dst_port] è 80. | |
read_only_udm.network.application_protocol |
Imposta "HTTPS" se [dd_dst_port] è 443. | |
read_only_udm.network.application_protocol |
Impostato su "UNKNOWN_APPLICATION_PROTOCOL" se [principal_present] è true e [target_present] è true negli eventi di rilevamento. | |
read_only_udm.network.http.method |
Imposta su "METHOD_OTHER". | |
read_only_udm.extensions.auth.type |
Imposta "AUTHTYPE_UNSPECIFIED" se [msg_data] contiene "log in" in Eventi di controllo. | |
| is_alert | Impostato su "true" se [triaged] è true. | |
detection_id |
event.idm.read_only_udm.metadata.product_log_id |
Mappato dal log delle modifiche |
id |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
entity_id |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
detail.event_id |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
detail.account_id |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
detail.dst_host.id |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
detail.dst_host.session_luid |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
detail.src_account.id |
event.idm.read_only_udm.security_result.detection_fields |
Mappato dal log delle modifiche |
detection_type |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
entity_type |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
entity_uid |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.event_name |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.sensor.count |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.count |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.first_timestamp |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.last_timestamp |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.additional_details.client_name |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.additional_details.cookie |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.additional_details.encrypted |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
detail.additional_details.normal |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
phase1_bytes.sent |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
phase1_bytes.recv |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
phase2_bytes.sent |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
phase2_bytes.recv |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
breadth_contrib |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
entity_importance |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
importance |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
is_prioritized |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
urgency_score |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
velocity_contrib |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
attack_rating |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
active_detection_types |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
last_detection_type |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
last_detection_id |
event.idm.read_only_udm.additional.fields |
Mappato dal log delle modifiche |
threat |
event.idm.read_only_udm.security_result.severity |
Mappato dal log delle modifiche |
certainty |
event.idm.read_only_udm.security_result.confidence |
Mappato dal log delle modifiche |
detection_href |
event.idm.read_only_udm.principal.url |
Mappato dal log delle modifiche |
detail.src_host.ip |
event.idm.read_only_udm.principal.ip |
Mappato dal log delle modifiche |
detail.src_host.name |
event.idm.read_only_udm.principal.hostname |
Mappato dal log delle modifiche |
detail.dst_host.ip |
event.idm.read_only_udm.target.ip |
Mappato dal log delle modifiche |
detail.dst_host.name |
event.idm.read_only_udm.target.hostname |
Mappato dal log delle modifiche |
detail.src_account.name |
event.idm.read_only_udm.target.user.user_display_name |
Mappato dal log delle modifiche |
detail.dst_account.id |
event.idm.read_only_udm.target.user.userid |
Mappato dal log delle modifiche |
detail.dst_account.name |
event.idm.read_only_udm.target.user.user_display_name |
Mappato dal log delle modifiche |
detail.sensor.name |
event.idm.read_only_udm.observer.hostname |
Mappato dal log delle modifiche |
detail.dst_port |
event.idm.read_only_udm.target.port |
Mappato dal log delle modifiche |
detail.additional_details.dst_ips |
event.idm.read_only_udm.target.port |
Mappato dal log delle modifiche |
detail.bytes_received |
event.idm.read_only_udm.network.sent_bytes |
Mappato dal log delle modifiche |
last_detection_url |
event.idm.read_only_udm.target.url |
Mappato dal log delle modifiche |
detail.account_uid |
event.idm.read_only_udm.principal.user.email_addresses |
Mappato dal log delle modifiche |
threat", "certainty", and "score_decreases |
additional.fields |
Mappato dal log delle modifiche |
detection_profile.name", "detection_profile.vname", and "detection_profile.scoringDetections |
security_result.detection_fields |
Mappato dal log delle modifiche |
msg.quadrant |
security_result.priority_details |
Mappato dal log delle modifiche |
suser |
principal.user.email_addresses |
Mappato dal log delle modifiche |
suser |
principal.user.userid |
Mappato dal log delle modifiche |
message |
security_result.summary |
Mappato dal log delle modifiche |
device_version |
metadata.product_version |
Mappato dal log delle modifiche |
externalId |
metadata.product_log_id |
Mappato dal log delle modifiche |
event_name" and "device_event_class_id |
metadata.product_event_type |
Mappato dal log delle modifiche |
shost |
principal.hostname |
Mappato dal log delle modifiche |
dhost |
target.hostname |
Mappato dal log delle modifiche |
cs5 |
additional.fields |
Mappato dal log delle modifiche |
cs4 |
metadata.target.url |
Mappato dal log delle modifiche |
out |
network.sent_bytes |
Mappato dal log delle modifiche |
dpt |
target.port |
Mappato dal log delle modifiche |
proto |
network.ip_protocol |
Mappato dal log delle modifiche |
href |
metadata.target.url |
Mappato dal log delle modifiche |
account_uid |
additional.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.