Raccogli i log di VMware vSphere

Supportato in:

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

VMware vSphere è una piattaforma di virtualizzazione che genera messaggi syslog per eventi host ESXi, operazioni VM, autenticazione e monitoraggio dell'integrità del sistema.

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'host VMware vSphere ESXi
  • Se l'esecuzione avviene dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso con privilegi al client web VMware vSphere o alla shell ESXi

Ottieni le credenziali di Google SecOps per l'agente Bindplane

Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:

  • Nuove implementazioni: utilizza l'API Chronicle (opzione 1).
  • Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (Opzione 2) fino alla dismissione dell'API Ingestion il 20 luglio 2027.
  1. Accedi alla consoleGoogle Cloud e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea service account.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome service account: inserisci un nome per l'account (ad esempio bindplane-ingest).
    • Descrizione del service account: inserisci una descrizione (ad esempio, Bindplane agent log ingestion).
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
  7. Fai clic su Continua, quindi su Fine.
  8. Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
  9. Fai clic su Aggiungi chiave > Crea nuova chiave.
  10. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul computer.
  11. Salva il file della chiave come ingestion-auth.json nella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.json su Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json su Windows) o aggiorna creds_file_path in config.yaml in modo che corrisponda al percorso in cui lo salvi.
  12. Vai a IAM e amministrazione > Impostazioni e copia il numero di progetto. Ti servirà per la configurazione dell'esportatore.

Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)

  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 l'agente 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 organizzazione.

Installa l'agente Bindplane

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di Windows

  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/vmware_vsphere:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: VMWARE_VSPHERE
        raw_log_field: body
    
    service:
      pipelines:
        logs/vmware_vsphere_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/vmware_vsphere
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • 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 della chiave JSON del account di servizio (opzione 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID cliente copiato dalla console Google SecOps
    • location: sostituisci <LOCATION> con la regione della tua istanza Google SecOps (ad esempio us, europe o asia-southeast1). L'esportatore antepone chronicle.googleapis.com a questo valore. Per l'elenco completo, consulta Endpoint regionali.
    • project: sostituisci <PROJECT_NUMBER> con il numero di progetto da IAM e amministrazione > Impostazioni.
    • endpoint: mantieni l'impostazione chronicle.googleapis.com.

Esportatore API di importazione legacy

  • Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco exporters con il seguente. Imposta creds_file_path sul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con il tuo endpoint regionale (ad esempio, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/vmware_vsphere:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: VMWARE_VSPHERE
        raw_log_field: body
    

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 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:

      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 syslog in VMware vSphere

Opzione 1: vSphere Web Client

  1. Accedi al client web vSphere.
  2. Seleziona l'host ESXi.
  3. Vai a Configura > Sistema > Impostazioni di sistema avanzate.
  4. Fai clic su Modifica.
  5. Imposta il parametro Syslog.global.logHost su udp://<bindplane-ip>:514 (sostituisci <bindplane-ip> con l'indirizzo IP dell'agente Bindplane).
  6. Fai clic su OK.

Opzione 2: ESXi Shell

  1. Accedi all'host ESXi tramite SSH.
  2. Esegui questi comandi:

    esxcli system syslog config set --loghost=udp://<bindplane-ip>:514
    esxcli system syslog reload
    
    • Sostituisci <bindplane-ip> con l'indirizzo IP dell'agente Bindplane.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
Originator_label additional.fields Unita
activityType_label additional.fields Unita
certVerificationStatus_label additional.fields Unita
cls_simple_activity_label additional.fields Unita
itemType_label additional.fields Unita
logtype_label additional.fields Unita
opID_label additional.fields Unita
progress_label additional.fields Unita
securityCompliance_label additional.fields Unita
sub_label additional.fields Unita
vpxd_label additional.fields Unita
column9 extensions.auth.type Mappatura: logged out → AUTHTYPE_UNSPECIFIED
column9 metadata.description Mappata direttamente
msg metadata.description Mappato direttamente
response_Message metadata.description Mappato direttamente
column3 metadata.event_timestamp Analizzato come ISO8601
column9 metadata.event_type Mappatura: logged out → USER_LOGOUT
has_principal metadata.event_type Mappatura: true → NETWOK_CONNECTION, true → STATUS_UPDATE
column4 metadata.product_event_type Mappato direttamente
column1 metadata.product_log_id Mappato direttamente
uuid metadata.product_log_id Mappata direttamente
user_agent network.http.parsed_user_agent Rinominate/mappate
user_agent network.http.user_agent Mappata direttamente
sessionId network.session_id Mappato direttamente
Hostname principal.asset.hostname Mappato direttamente
hostname principal.asset.hostname Mappata direttamente
srcip principal.asset.ip Unita
Hostname principal.hostname Mappata direttamente
hostname principal.hostname Mappata direttamente
srcip principal.ip Unita
column5 security_result.severity Mappatura: INFO → INFORMATIONAL
severity security_result.severity_details Mappato direttamente
pid target.process.pid Mappato direttamente
column7 target.resource.name Mappato direttamente
column6 target.user.userid Mappato direttamente
N/D extensions.auth.type Costante: AUTHTYPE_UNSPECIFIED
N/D metadata.event_type Costante: NETWOK_CONNECTION
N/D metadata.product_name Costante: VMWARE_VSPHERE
N/D metadata.vendor_name Costante: VMWARE_VSPHERE
N/D security_result.severity Costante: INFORMATIONAL
timestamp event.idm.read_only_udm.metadata.event_timestamp Mappato dal log delle modifiche
file_path event.idm.read_only_udm.target.process.file.full_path Mappato dal log delle modifiche
api_invocations event.idm.read_only_udm.security_result.detection_fields Mappato dal log delle modifiche
column2 event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
login time event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
syslog_priority event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
user_level event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
session_id event.idm.read_only_udm.network.session_id Mappato dal log delle modifiche
uuid event.idm.read_only_udm.metadata.product_log_id Mappato dal log delle modifiche
Hostname event.idm.read_only_udm.principal.hostname Mappato dal log delle modifiche
Hostname event.idm.read_only_udm.principal.asset.hostname Mappato dal log delle modifiche
msg event.idm.read_only_udm.metadata.description Mappato dal log delle modifiche
Originator event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
sub event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
opID event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
progress event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
cls_simple_activity event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
certVerificationStatus event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
itemType event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
vpxd event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
securityCompliance event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
logtype event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
severity event.idm.read_only_udm.security_result.severity_details 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.