Raccogli i log di Vectra Stream

Supportato in:

Questo documento spiega come importare i log di Vectra Stream in Google Security Operations utilizzando l'agente Bindplane.

Vectra Stream è una piattaforma di streaming di metadati di rete che genera messaggi in formato JSON e syslog per connessioni di rete, query DNS, richieste HTTP, sessioni TLS/SSL, lease DHCP, autenticazione RADIUS, posta SMTP ed eventi Kerberos. Il parser estrae le coppie chiave-valore e le 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 o host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e l'appliance Vectra Brain
  • 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 utente di Vectra (brain)

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. 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 finestre

  1. Apri Prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

    Il 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.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modifica il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/vectra_stream:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: VECTRA_STREAM
            raw_log_field: body
    
    service:
        pipelines:
            logs/vectra_stream_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/vectra_stream
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del destinatario:

    • listen_address: indirizzo IP e porta su cui ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • La porta 514 è la porta syslog standard (richiede l'accesso root su Linux; utilizza 1514 per 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
    • customer_id: ID cliente copiato dalla console 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, consulta Endpoint regionali.

Salva il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter e infine Ctrl+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-collector
    
    1. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    2. Controlla 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-collector
      
    • Console dei servizi:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per individuare eventuali errori:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configura Vectra Stream per l'invio di syslog

  1. Accedi all'interfaccia utente di Vectra (brain).
  2. Vai a Impostazioni > Notifiche.
  3. Vai alla sezione Syslog.
  4. Fai clic su Modifica per aggiungere o modificare la configurazione di syslog.
  5. Fornisci i seguenti dettagli di configurazione:
    • 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 dell'agente Bindplane.
    • Formato: seleziona JSON.
    • Tipi di log: seleziona i log che vuoi inviare a Google SecOps.
  6. Fai clic su Salva.
  7. Fai clic su Test per testare la configurazione.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
AA network.dns.authoritative Convertito in booleano dal valore stringa.
account_session_id network.session_id Mappatura diretta.
account_session_time network.session_duration Convertito in timestamp da secondi UNIX.
answers network.dns.answers.data Mappatura diretta.
assigned_ip network.dhcp.yiaddr Mappatura diretta.
beacon_type metadata.description Mappatura diretta.
beacon_uid network.session_id Mappatura diretta.
calling_station_id intermediary.asset.product_object_id Mappatura diretta.
certificate.issuer network.tls.client.certificate.issuer Mappatura diretta.
certificate.not_valid_after network.tls.client.certificate.not_after Convertito in timestamp da UNIX o UNIX_MS a seconda del formato.
certificate.not_valid_before network.tls.client.certificate.not_before Convertito in timestamp da UNIX o UNIX_MS a seconda del formato.
certificate.serial network.tls.client.certificate.serial Mappatura diretta.
certificate.subject network.tls.client.certificate.subject Mappatura diretta.
certificate.version network.tls.client.certificate.version Mappatura diretta.
cipher network.tls.cipher Mappatura diretta.
cipher_alg network.tls.cipher Mappatura diretta.
client principal.application Mappatura diretta.
client_cipher network.tls.client.supported_ciphers Mappatura diretta.
community_id network.community_id Mappatura diretta.
compression_alg additional.fields.value.string_value Aggiunta a campi aggiuntivi con la chiave "compression_alg".
connect_info security_result.description Mappatura diretta.
conn_state metadata.description Mappato a una descrizione in base al valore di conn_state.
cookie target.user.userid Mappatura diretta.
curve network.tls.curve Mappatura diretta.
dhcp_server_ip network.dhcp.giaddr Mappatura diretta.
dns_server_ips principal.ip Ogni IP nell'array viene aggiunto all'array principal.ip.
domain target.domain.name Mappatura diretta.
dst_display_name target.hostname,, target.asset.hostname Mappatura diretta.
dst_luid target.asset.product_object_id Mappatura diretta.
duration network.session_duration.seconds Convertito in numero intero dal valore della stringa.
endpoint principal.application Mappatura diretta.
established network.tls.established Convertito in booleano dal valore stringa.
host target.hostname,, target.asset.hostname Nome host estratto dal campo "host".
host_key additional.fields.value.string_value Aggiunta ai campi aggiuntivi con la chiave "host_key".
host_key_alg additional.fields.value.string_value Aggiunto ai campi aggiuntivi con la chiave "host_key_alg".
host_multihomed additional.fields.value.string_value Aggiunto a campi aggiuntivi con la chiave "host_multihomed" e il valore "subnet %{host_multihomed}".
hostname target.hostname,, target.asset.hostname Mappatura diretta.
id.orig_h principal.ip Mappatura diretta.
id.orig_p principal.port Convertito in numero intero dal valore stringa.
id.resp_h target.ip,, target.asset.ip Mappatura diretta.
id.resp_p target.port Convertito in numero intero dal valore della stringa.
issuer network.tls.client.certificate.issuer Mappatura diretta.
ja3 network.tls.client.ja3 Mappatura diretta.
ja3s network.tls.server.ja3s Mappatura diretta.
kex_alg additional.fields.value.string_value Aggiunto ai campi aggiuntivi con la chiave "kex_alg".
lease_time network.dhcp.lease_time_seconds Convertito in numero intero senza segno dal valore della stringa.
log_type metadata.log_type Mappatura diretta.
mac principal.mac Mappatura diretta.
mac_alg additional.fields.value.string_value Aggiunta ai campi aggiuntivi con la chiave "mac_alg".
mail_from network.email.from Mappatura diretta.
metadata_type metadata.product_event_type Mappatura diretta.
method network.http.method Mappatura diretta.
name target.file.full_path Mappatura diretta.
nas_identifier target.user.attribute.roles.name Mappatura diretta.
next_protocol network.tls.next_protocol Mappatura diretta.
orig_hostname principal.hostname Mappatura diretta.
orig_ip_bytes network.sent_bytes Convertito in numero intero senza segno dal valore della stringa.
orig_sluid principal.hostname Mappatura diretta.
path target.file.full_path Mappatura diretta.
proto network.ip_protocol Mappato al nome del protocollo IP in base al valore numerico.
proxied principal.ip Se il valore è un indirizzo IP, viene aggiunto all'array principal.ip.
qclass network.dns.questions.class Convertito in numero intero senza segno dal valore della stringa.
qclass_name network.dns.questions.name Mappatura diretta.
query network.dns.questions.name,, principal.process.command_line Mappatura diretta.
qtype network.dns.questions.type Convertito in numero intero senza segno dal valore della stringa.
RA network.dns.recursion_available Convertito in booleano dal valore stringa.
radius_type metadata.description Mappatura diretta.
rcode network.dns.response_code Convertito in numero intero senza segno dal valore della stringa.
RD network.dns.recursion_desired Convertito in booleano dal valore stringa.
rcpt_to network.email.reply_to,, network.email.to Il primo indirizzo email viene mappato a reply_to, mentre gli altri vengono aggiunti all'array to.
referrer network.http.referral_url Mappatura diretta.
resp_domain target.domain.name Mappatura diretta.
resp_hostname target.hostname,, target.asset.hostname Mappatura diretta.
resp_ip_bytes network.received_bytes Convertito in numero intero senza segno dal valore della stringa.
resp_mime_types target.file.mime_type Mappatura diretta.
result security_result.description Mappatura diretta.
result_code security_result.action_details Mappatura diretta.
rtt network.session_duration.seconds Convertito in numero intero dal valore stringa.
security_result security_result Unito all'oggetto security_result esistente.
sensor_uid observer.asset_id Formattato come "Sensor_UID:%{sensor_uid}".
server target.application Mappatura diretta.
server_name network.tls.client.server_name Mappatura diretta.
service target.application Mappatura diretta.
src_display_name principal.hostname Mappatura diretta.
src_luid principal.asset.product_object_id Mappatura diretta.
status security_result.summary Mappatura diretta.
status_code network.http.response_code Convertito in numero intero dal valore della stringa.
status_msg security_result.summary Mappatura diretta.
subject network.email.subject Mappatura diretta.
success security_result.action Mappato su "ALLOW" se true, "BLOCK" se false.
TC network.dns.truncated Convertito in booleano dal valore stringa.
trans_id network.dhcp.transaction_id,, network.dns.id Convertito in un numero intero senza segno dal valore della stringa.
ts metadata.event_timestamp Convertito in timestamp da vari formati.
uid metadata.product_log_id Mappatura diretta.
uri target.url Mappatura diretta.
user_agent network.http.user_agent Mappatura diretta.
username principal.user.userid Mappatura diretta.
version network.tls.version,, principal.platform_version Mappatura diretta.
version_num network.tls.version_protocol Mappatura diretta.
metadata.event_type Determinato dalla logica del parser in base ai tipi di log e metadati.
metadata.vendor_name Valore impostato come hardcoded: "Vectra".
metadata.product_name Valore hardcoded: "Vectra Stream".
eve_json.alert.signature security_result.summary Mappato dal log delle modifiche
eve_json.alert.category security_result.category_details Mappato dal log delle modifiche
eve_json.alert.metadata.signature_severity security_result.severity Mappato dal log delle modifiche
eve_json.alert.gid target.group.product_object_id Mappato dal log delle modifiche
eve_json.alert.metadata.confidence security_result.confidence Mappato dal log delle modifiche
eve_json.dest_ip" and "eve_json.flow.dest_ip target.ip Mappato dal log delle modifiche
eve_json.dest_port" and "eve_json.flow.dest_port target.port Mappato dal log delle modifiche
rrname dns.questions.name Mappato dal log delle modifiche
eve_json.flow.bytes_toclient network.sent_bytes Mappato dal log delle modifiche
eve_json.flow.bytes_toserver network.received_bytes Mappato dal log delle modifiche
eve_json.flow.src_ip" and "eve_json.src_ip principal.ip Mappato dal log delle modifiche
eve_json.flow.src_port" and "eve_json.src_port principal.port Mappato dal log delle modifiche
idorig_h principal.ip Mappato dal log delle modifiche
idorig_p principal.port Mappato dal log delle modifiche
attributes additional.fields Mappato dal log delle modifiche
first_orig_resp_data_pkt", "first_orig_resp_data_pkt_time", "cookie", "keyboard_layout", "name", and "query_scope additional.fields Mappato dal log delle modifiche
operation security_result.action_details Mappato dal log delle modifiche
qclass_name question.name 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.