Raccogliere i log di Vectra Detect
Questo documento spiega come importare i log di Vectra Detect in Google Security Operations utilizzando Bindplane. Il parser trasforma i log dai formati SYSLOG, JSON e CEF in un modello UDM (Unified Data Model). Innanzitutto, normalizza i dati rimuovendo caratteri e campi non necessari, poi utilizza i pattern grok per estrarre informazioni da diversi formati di log e infine mappa i campi estratti agli attributi UDM corrispondenti.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Un host Windows 2016 o versioni successive o Linux con
systemd - Se l'agente viene eseguito dietro un proxy, assicurati che le porte firewall siano aperte in base ai requisiti dell'agente BindPlane
- Accesso privilegiato alla UI di Vectra
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 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 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 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.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/etc/bindplane-agent/su Linux o nella directory di installazione 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:514" 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: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'VECTRA_DETECT' 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 come richiesto nella tua infrastruttura.
- Sostituisci
<CUSTOMER_ID>con l'ID cliente effettivo. - Aggiorna
/path/to/ingestion-authentication-file.jsonal percorso in cui è stato salvato il file di autenticazione nella sezione Recupera il file di autenticazione per l'importazione di Google SecOps.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart bindplane-agentPer riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
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 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 effettiva dell'agente Bindplane.
- Formato: seleziona JSON.
- Tipi di log: seleziona i log che vuoi inviare a Google SecOps.
- Seleziona la casella di controllo Includi dettagli avanzati.
- Sul lato destro, puoi vedere tre pulsanti di attivazione/disattivazione per la configurazione aggiuntiva:
- 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 disattivata, i messaggi syslog non verranno inviati quando vengono creati o aggiornati i rilevamenti nella categoria Informazioni.
- Includi diminuzioni del punteggio host/account: se questa opzione è disattivata, i messaggi syslog non vengono inviati quando i punteggi di minaccia e certezza diminuiscono e/o rimangono invariati.
- Fai clic su Salva.
- Fai clic su Test per testare la configurazione.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
| azione | read_only_udm.security_result.action | Valore estratto dal campo "action" se [result] è "true" o "failure" in Audit Events. |
| categoria | read_only_udm.security_result.category_details | Valore tratto dal campo "category". |
| certezza | 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 "MEDIUM_CONFIDENCE". Se [certainty] è compreso tra 70 e 100, imposta "HIGH_CONFIDENCE". |
| dd_bytes_rcvd | read_only_udm.network.received_bytes | Valore tratto 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 tratto dal campo "dd_dst_dns". |
| dd_dst_dns | read_only_udm.target.asset.hostname | Valore tratto 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 tratto 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 estratto dal campo "dest_ip" in Eventi 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 preso 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 estratto 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 estratto dal campo "headend_addr" se [host_ip] è vuoto in Eventi di rilevamento. |
| href | read_only_udm.target.url | Valore tratto 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 tratto dal campo "host_ip" negli eventi HOST e Rilevamenti. |
| host_ip | read_only_udm.principal.ip | Valore tratto 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. |
| quadrante | read_only_udm.security_result.priority_details | Valore tratto dal campo "Quadrante". |
| result | read_only_udm.security_result.action | Se [result] è "true", imposta "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. |
| ruolo | read_only_udm.target.user.attribute.roles.name | Valore estratto dal campo "role" (ruolo) in Eventi di controllo. |
| gravità | 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 il valore su "MEDIO". Se [threat] è compreso tra 60 e 80, imposta "ALTO". Se [threat] è compreso tra 80 e 100, impostalo su "CRITICO". |
| gravità | read_only_udm.security_result.severity_details | Valore tratto dal campo "Gravità". |
| source_ip | read_only_udm.principal.asset.ip | Valore tratto dal campo "source_ip" in Eventi di controllo e integrità. |
| source_ip | read_only_udm.principal.ip | Valore tratto dal campo "source_ip" in Eventi di controllo e integrità. |
| src | read_only_udm.principal.asset.ip | Valore estratto dal campo "src" negli eventi CEF. |
| src | read_only_udm.principal.ip | Valore estratto dal campo "src" negli eventi CEF. |
| src_ip | read_only_udm.principal.asset.ip | Valore estratto dal campo "src_ip" in Eventi 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 estratto 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. |
| minaccia | 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 il valore su "MEDIO". Se [threat] è compreso tra 60 e 80, imposta "ALTO". Se [threat] è compreso tra 80 e 100, impostalo su "CRITICO". |
| classificato | read_only_udm.additional.fields | La chiave è "triaged", il valore viene preso dal campo "triaged". |
| tipo | read_only_udm.metadata.product_event_type | Valore estratto dal campo "type" in Eventi salute. |
| utente | read_only_udm.target.user.userid | Valore tratto dal campo "user" in Eventi di controllo. |
| vectra_timestamp | read_only_udm.metadata.event_timestamp | Valore estratto dal campo "vectra_timestamp". |
| versione | read_only_udm.metadata.product_version | Valore tratto dal campo "versione". |
| 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 | Imposta "SCAN_HOST" in HOST Events. | |
| read_only_udm.metadata.event_type | Imposta "NETWORK_HTTP" se [host_ip] non è vuoto, [principal_present] è true e [target_present] è true in Detections Events. | |
| read_only_udm.metadata.event_type | Imposta 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 | Imposta "STATUS_UPDATE" se [event_type] è "GENERIC_EVENT" e [principal_present] è true. | |
| read_only_udm.metadata.log_type | Imposta su "VECTRA_DETECT". | |
| read_only_udm.metadata.vendor_name | Imposta su "Vectra.AI". | |
| read_only_udm.metadata.product_name | Imposta su "DETECT". | |
| 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 in 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. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.