Raccogli i log XDR di ChromeOS

Versione parser: 4.0

Supportata in:

Questo documento spiega come importare i log XDR di ChromeOS in Google Security Operations utilizzando Google Cloud Pub/Sub.

ChromeOS XDR inoltra la telemetria di sicurezza a livello di sistema operativo dai dispositivi ChromeOS gestiti a un argomento Pub/Sub Google Cloud di tua proprietà. Questa telemetria include l'attività di accesso e disconnessione, lo stato di avvio del dispositivo, l'esecuzione dei processi, i flussi di rete e le modifiche ai file sensibili. Indirizza la configurazione del provider XDR di ChromeOS nella Console di amministrazione Google al tuo argomento Pub/Sub e una sottoscrizione push Pub/Sub invia gli eventi all'endpoint del feed Google SecOps.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps.
  • Un progetto Google Cloud associato alla tua istanza Google SecOps. L'argomento Pub/Sub e la sottoscrizione push devono trovarsi in questo progetto.
  • Accesso privilegiato a Identity and Access Management (IAM) e Pub/Sub nel progetto Google Cloud .
  • Un account amministratore di Google Workspace con privilegi di super amministratore.
  • Dispositivi ChromeOS gestiti registrati nella tua organizzazione Google Workspace.
  • Unità organizzative (UO) di destinazione che contengono i dispositivi ChromeOS da cui vuoi raccogliere i dati di telemetria
  • Accesso alla configurazione del provider XDR Google Cloud Pub/Sub nella Console di amministrazione Google.

Associa il progetto Google Cloud all'istanza Google SecOps

Prima di creare un feed push Pub/Sub, associa il progetto Google Cloud che ospita l'argomento alla tua istanza Google SecOps. L'associazione consente alla sottoscrizione push di autenticarsi con un account di servizio.

Controlla se il progetto è già associato

  1. Nell'istanza Google SecOps, vai a Impostazioni > Amministrazione > Google Cloud Platform.
  2. Controlla se il tuo progetto Google Cloud è presente nell'elenco.
  3. Se è presente, il progetto è già associato. Vai alla sezione successiva.

Associa il progetto

  1. Vai a Impostazioni > Amministrazione > Google Cloud Platform.
  2. Fai clic su Aggiungi progetto.
  3. Nel campo ID progetto, inserisci l'ID progetto Google Cloud .
  4. Fai clic su Aggiungi.
  5. Attendi il completamento dell'associazione, quindi aggiorna la pagina e verifica che il progetto venga visualizzato con lo stato Attivo.

Verifica che l'API Chronicle sia abilitata

  1. Vai alla libreria API e servizi della consoleGoogle Cloud .
  2. Seleziona il progetto associato.
  3. Nella casella di ricerca, digita Chronicle.
  4. Fai clic su API Chronicle.
  5. Se l'API non è abilitata, fai clic su Abilita.

Crea l'argomento Pub/Sub

Crea l'argomento che riceve gli eventi XDR di ChromeOS. L'argomento appartiene a te ed è il valore che inserirai in un secondo momento nella Console di amministrazione Google.

Utilizzo della console Google Cloud

  1. Vai ad Argomenti Pub/Sub.
  2. Seleziona il progetto associato.
  3. Fai clic su Crea argomento.
  4. Fornisci i seguenti dettagli di configurazione:
    • ID argomento: inserisci un nome descrittivo (ad esempio chromeos-xdr-secops)
    • Aggiungi una sottoscrizione predefinita: deseleziona questa casella di controllo.
  5. Fai clic su Crea.
  6. Copia il percorso completo dell'argomento. Il formato è il seguente:

    projects/<PROJECT_ID>/topics/<TOPIC_ID>
    

Utilizzo dello strumento a riga di comando gcloud

  • Utilizza il seguente comando:

    gcloud pubsub topics create chromeos-xdr-secops \
            --project=<PROJECT_ID>
    
    • Sostituisci <PROJECT_ID> con l'ID del progetto Google Cloud associato.

Concedi l'accesso in pubblicazione al publisher ChromeOS XDR

ChromeOS XDR pubblica gli eventi utilizzando un account di servizio gestito da Google. Questo account di servizio non ha accesso al tuo argomento finché non concedi l'accesso e il controllo Testa connessione della Console di amministrazione Google non va a buon fine finché non lo fai.

Utilizzo della console Google Cloud

  1. Vai ad Argomenti Pub/Sub.
  2. Fai clic sull'argomento che hai creato.
  3. Apri la scheda Autorizzazioni e fai clic su Aggiungi entità.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nuove entità: inserisci cloud-pub-sub-publisher@chromeos-xdr.iam.gserviceaccount.com
    • Ruolo: seleziona Pub/Sub > Pub/Sub Publisher
  5. Fai clic su Salva.

Utilizzo dello strumento a riga di comando gcloud

  • Utilizza il seguente comando:

    gcloud pubsub topics add-iam-policy-binding chromeos-xdr-secops \
            --member="serviceAccount:cloud-pub-sub-publisher@chromeos-xdr.iam.gserviceaccount.com" \
            --role="roles/pubsub.publisher" \
            --project=<PROJECT_ID>
    

Crea il feed push Pub/Sub in Google SecOps

Crea il feed

  1. In Google SecOps, vai a Impostazioni > Gestione dei dati > Feed. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad es. ChromeOS XDR events).
  5. Seleziona Google Cloud Pub/Sub Push come Tipo di origine.
  6. Seleziona ChromeOS XDR come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:
    • Delimitatore di suddivisione: lascia vuoto questo campo. ChromeOS XDR pubblica un evento per messaggio Pub/Sub.
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset
    • Etichette di importazione: le etichette da applicare agli eventi di questo feed
  9. Fai clic su Avanti.
  10. Rivedi la configurazione del feed nella schermata Finalizza, quindi fai clic su Invia.

Recupera l'URL dell'endpoint push

  1. Nella pagina dei dettagli del feed, verifica che lo stato del feed sia Attivo e che l'opzione Feed attivato sia attiva.
  2. Nel campo Endpoint Information (Informazioni sull'endpoint), copia l'URL dell'endpoint push. Il formato è:

    https://<REGION>-chronicle.googleapis.com/v1alpha/projects/<PROJECT_NUMBER>/locations/<REGION>/instances/<INSTANCE_ID>/feeds/<FEED_ID>:importPushLogs
    
  3. Salva questo URL per la sottoscrizione push.

Crea il account di servizio per il push Pub/Sub

Crea il account di servizio

  1. Vai alla pagina Service account della consoleGoogle Cloud .
  2. Seleziona il progetto associato.
  3. Fai clic su + Crea service account.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome service account: inserisci un nome descrittivo (ad esempio chromeos-xdr-push)
    • Descrizione account di servizio: inserisci Pub/Sub Push to Google SecOps for ChromeOS XDR
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, lascia vuoto il campo Ruolo.
  7. Fai clic su Continua > Fine.
  8. Copia l'indirizzo email dell'account di servizio. Il formato è:

    chromeos-xdr-push@<PROJECT_ID>.iam.gserviceaccount.com
    

Utilizzo dello strumento a riga di comando gcloud

  • Utilizza il seguente comando:

    gcloud iam service-accounts create chromeos-xdr-push \
            --display-name="ChromeOS XDR Push" \
            --description="Pub/Sub Push to Google SecOps for ChromeOS XDR" \
            --project=<PROJECT_ID>
    

Autorizzazioni service account

Non è richiesto alcun ruolo IAM aggiuntivo per questo account di servizio. L'associazione del progetto configurata in precedenza abilita l'autenticazione del account di servizio e la sottoscrizione push si autentica nell'endpoint del feed Google SecOps utilizzando il token OIDC del account di servizio. Seleziona questo account di servizio quando attivi l'autenticazione nella sottoscrizione push.

Crea la sottoscrizione push Pub/Sub

Utilizzo della console Google Cloud

  1. Vai a Sottoscrizioni Pub/Sub.
  2. Fai clic su Crea sottoscrizione.
  3. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    ID sottoscrizione Inserisci un nome descrittivo (ad esempio secops-chromeos-xdr)
    Seleziona un argomento Cloud Pub/Sub Seleziona l'argomento che hai creato
    Tipo di pubblicazione Push
    URL endpoint Incolla l'URL dell'endpoint push dalla pagina dei dettagli del feed.
    Attiva l'autenticazione Selezionato
    Service account Seleziona il account di servizio che hai creato
    Pubblico Lascia vuoto
    Abilita l'annullamento del wrapping del payload Cancellato
    Scrivi metadati Cancellato
    Scadenza conferma 600 secondi
    Periodo di scadenza Senza scadenza
  4. Fai clic su Crea.

Utilizzo dello strumento a riga di comando gcloud

  • Utilizza il seguente comando:

    gcloud pubsub subscriptions create secops-chromeos-xdr \
            --topic=chromeos-xdr-secops \
            --push-endpoint=<PUSH_ENDPOINT_URL> \
            --push-auth-service-account=chromeos-xdr-push@<PROJECT_ID>.iam.gserviceaccount.com \
            --ack-deadline=600 \
            --expiration-period=never \
            --project=<PROJECT_ID>
    

    Sostituisci quanto segue:

    • <PUSH_ENDPOINT_URL>: l'URL dell'endpoint push dalla pagina dei dettagli del feed
    • <PROJECT_ID>: l'ID del progetto Google Cloud associato

Verifica che la sottoscrizione sia stata creata

  • Utilizza il seguente comando:

    gcloud pubsub subscriptions describe secops-chromeos-xdr \
            --project=<PROJECT_ID>
    

    Verifica che l'output mostri quanto segue:

    • pushConfig.pushEndpoint: l'URL dell'endpoint del feed
    • pushConfig.oidcToken.serviceAccountEmail: l'indirizzo email del tuo account di servizio
    • ackDeadlineSeconds: 600

Aggiungi la configurazione del provider XDR Google Cloud Pub/Sub

Indirizza la configurazione del provider ChromeOS XDR all'argomento Pub/Sub in modo che i dispositivi ChromeOS gestiti vi pubblichino la telemetria.

  1. Accedi con un account super amministratore alla Console di amministrazione Google.

    Se non utilizzi un account super amministratore, non puoi portare a termine questi passaggi.

  2. Vai a Menu > Dispositivi > Chrome > Connettori.

  3. (Facoltativo) Se configuri le impostazioni di Chrome Enterprise Connectors per la prima volta, segui le istruzioni per attivare Chrome Enterprise Connectors.

  4. In alto, fai clic su + Configurazione nuovo provider.

  5. Trova Google Cloud Pub/Sub XDR e fai clic su Configura.

    Si apre la finestra di dialogo Configurazione XDR Google Cloud Pub/Sub.

  6. Inserisci i seguenti dettagli di configurazione:

    • Nome configurazione: inserisci un nome descrittivo. Ad esempio, ChromeOS XDR to Google SecOps.
    • Percorso completo argomento: inserisci il percorso completo dell'argomento che hai creato, nel formato projects/<PROJECT_ID>/topics/<TOPIC_ID>.
  7. Fai clic su Prova connessione per convalidare i dettagli della configurazione.

    Se la convalida non va a buon fine, verifica che:

    • Il percorso completo dell'argomento è corretto e l'argomento esiste nel progetto Google Cloud associato
    • cloud-pub-sub-publisher@chromeos-xdr.iam.gserviceaccount.com ha il ruolo Pub/Sub Publisher per questo argomento
    • L'API Pub/Sub è abilitata nel progetto
  8. In Eventi che questa configurazione può ricevere, espandi Eventi XDR e seleziona Attiva eventi XDR.

  9. Fai clic su Save configuration (Salva configurazione).

La configurazione viene aggiunta per l'intera organizzazione. Per attivarla per i dispositivi ChromeOS che vuoi monitorare, seleziona l'unità organizzativa che contiene i dispositivi e seleziona la casella di controllo accanto alla configurazione.

Attiva i report XDR di ChromeOS

Attiva i report XDR di ChromeOS in Impostazioni del dispositivo per iniziare a raccogliere la telemetria di sicurezza a livello di sistema operativo dai tuoi dispositivi ChromeOS gestiti.

  1. Nella Console di amministrazione Google, vai a Menu > Dispositivi > Chrome > Impostazioni > Impostazioni dispositivo.
  2. Per applicare l'impostazione a tutti i dispositivi ChromeOS, lascia selezionata l'unità organizzativa di primo livello. Altrimenti, seleziona un'unità organizzativa secondaria che contiene i dispositivi da cui vuoi raccogliere i dati di telemetria.
  3. Vai a Report su dispositivi e utenti.
  4. Accanto a Segnala eventi di rilevamento e risposta estesi (XDR), seleziona Segnala informazioni su eventi di rilevamento e risposta estesi (XDR).
  5. Fai clic su Salva.

    Fai clic su Sostituisci per un'unità organizzativa. Per ripristinare in un secondo momento il valore ereditato, fai clic su Eredita.

  6. Ripeti questi passaggi per tutte le altre unità organizzative che contengono dispositivi ChromeOS da cui vuoi raccogliere dati di telemetria.

Verifica il flusso di dati

Per verificare che i log di ChromeOS XDR vengano importati in Google SecOps:

  1. Apri l'istanza Google SecOps.
  2. Vai a Menu > Ricerca.
  3. Esegui la seguente query di ricerca per cercare gli eventi XDR di ChromeOS:

    metadata.log_type = "CHROMEOS_XDR"
    
  4. Dovresti vedere gli eventi entro pochi minuti dalla configurazione. Se non vengono visualizzati eventi:

    • Nella console Google Cloud , apri l'argomento e controlla la scheda Metriche per i messaggi pubblicati. L'assenza di messaggi pubblicati indica che la Console di amministrazione non sta inviando messaggi.
    • Nella console Google Cloud , apri la sottoscrizione e controlla le metriche relative al numero di richieste push e agli errori. Gli errori di push indicano che l'URL dell'endpoint, il account di servizio o l'associazione del progetto sono errati.
    • Verifica che i report XDR di ChromeOS siano attivati nella Console di amministrazione Google per le unità organizzative corrette
    • Verifica che la configurazione del provider sia applicata alle unità organizzative che contengono i tuoi dispositivi
    • Verifica che i dispositivi ChromeOS di destinazione siano registrati e gestiti nella tua organizzazione
    • Verifica che le opzioni Abilita l'annullamento del wrapping del payload e Scrivi metadati siano deselezionate nella sottoscrizione push

Tipi di log supportati

I report XDR di ChromeOS inoltrano a Google SecOps la seguente telemetria di sicurezza dei dispositivo ChromeOS:

Categoria evento Descrizione
Accedi ed esci Attività di accesso, disconnessione e fattore di autenticazione dell'utente sul dispositivo ChromeOS
Stato di avvio del dispositivo Report sullo stato di avvio del dispositivo, sullo stato dell'Avvio protetto del firmware e sulla versione kernel
Esecuzione dei processi Esecuzione di processi e processi principali, inclusi i dettagli della riga di comando e dell'immagine
Flusso di rete Connessioni di rete, inclusi endpoint locali e remoti, porte, protocollo e byte trasferiti
Modifica di file sensibili Creazione e modifica di file sensibili, inclusi i dettagli del percorso e dell'hash

Tabella di mappatura UDM

La seguente tabella mostra come i campi dei log di ChromeOS XDR vengono mappati ai campi di Google SecOps Unified Data Model (UDM):

Campo log Mappatura UDM Logica
application_protocol_label additional.fields Unita
attributesBefore_canonicalGid_label additional.fields Unita
attributesBefore_canonicalUid_label additional.fields Unita
attributesBefore_mode_label additional.fields Unita
authFactor_label additional.fields Unita
bindAddr_label additional.fields Unita
bindPort_label additional.fields Unita
communityIdV1_label additional.fields Unita
fileAfter_inodeDeviceId_label additional.fields Unita
fileAfter_inode_label additional.fields Unita
fileAfter_mntNs_label additional.fields Unita
fileAfter_mode_label additional.fields Unita
firmwareSecureBoot_label additional.fields Unita
image_canonicalGid_label additional.fields Unita
image_canonicalUid_label additional.fields Unita
image_mode_label additional.fields Unita
inodeDeviceId_label additional.fields Unita
inode_label additional.fields Unita
inode_process_label additional.fields Unita
linuxKernelVersion_label additional.fields Unita
local_timezone_label additional.fields Unita
metaFirstAppearance_label additional.fields Unita
modifyType_label additional.fields Unita
networkFlow_direction_label additional.fields Unita
process_image_canonicalGid_label additional.fields Unita
process_image_canonicalUid_label additional.fields Unita
process_image_mode_label additional.fields Unita
process_inodeDeviceId_label additional.fields Unita
process_metaFirstAppearance_label additional.fields Unita
process_relStartTimeS_label additional.fields Unita
rel_start_time_label additional.fields Unita
sensitiveFileType_label additional.fields Unita
socketType_label additional.fields Unita
spawnProcess_canonicalUid_label additional.fields Unita
spawnProcess_image_inodeDeviceId_label additional.fields Unita
spawnProcess_image_inode_label additional.fields Unita
spawnProcess_image_mode_label additional.fields Unita
spawnProcess_metaFirstAppearance_label additional.fields Unita
spawnProcess_relStartTimeS_label additional.fields Unita
has_principal metadata.event_type Mappatura: true → NETWORK_CONNECTION, true → STATUS_UPDATE
has_user metadata.event_type Mappatura: true → USER_UNCATEGORIZED
schemaVersion metadata.product_version Mappatura diretta
app_protocol_output network.application_protocol Mappatura diretta
ip_protocol_out network.ip_protocol Rinominato/mappato
networkFlow.rxBytes network.received_bytes Rinominato/mappato
networkFlow.txBytes network.sent_bytes Rinominato/mappato
deviceName principal.asset.asset_id Mappatura diretta
localIp principal.asset.ip Unita
sensitiveModify.attributesBefore.pathname principal.file.full_path Mappatura diretta
localIp principal.ip Unita
networkFlow.localIp principal.ip Unita
osVersion principal.platform_version Mappatura diretta
networkFlow.localPort principal.port Rinominato/mappato
spawnProcess.commandline principal.process.parent_process.command_line Mappatura diretta
spawnProcess.image.pathname principal.process.parent_process.file.full_path Mappatura diretta
spawnProcess.image.sha256 principal.process.parent_process.file.sha256 Mappatura diretta
spawnProcess.canonicalPid principal.process.parent_process.pid Mappatura diretta
spawnProcess.processUuid principal.process.product_specific_process_id Mappatura diretta
devicePermanentId principal.resource.product_object_id Mappatura diretta
event_log security_result.summary Mappatura diretta
sensitiveModify.fileAfter.pathname target.file.full_path Mappatura diretta
sensitiveModify.fileAfter.sha256 target.file.sha256 Mappatura diretta
networkFlow.remoteHostName target.hostname Mappatura diretta
networkFlow.remoteIp target.ip Unita
networkFlow.remotePort target.port Rinominato/mappato
process.image.pathname target.process.file.full_path Mappatura diretta
process.image.sha256 target.process.file.sha256 Mappatura diretta
parentProcess.commandline target.process.parent_process.command_line Mappatura diretta
process.commandline target.process.parent_process.command_line Mappatura diretta
parentProcess.image.pathname target.process.parent_process.file.full_path Mappatura diretta
parentProcess.image.sha256 target.process.parent_process.file.sha256 Mappatura diretta
parentProcess.canonicalPid target.process.parent_process.pid Mappatura diretta
parentProcess.processUuid target.process.parent_process.product_specific_process_id Mappatura diretta
process.canonicalPid target.process.pid Mappatura diretta
process.processUuid target.process.product_specific_process_id Mappatura diretta
deviceUser target.user.email_addresses Unita
N/D metadata.event_type Costante: NETWORK_CONNECTION
N/D metadata.product_name Costante: CHROMEOS XDR
N/D metadata.vendor_name Costante: CHROMEOS XDR

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.