Raccogliere i log di Cloud Intrusion Detection System (Cloud IDS)

Supportato in:

Questo documento spiega come esportare e importare i log di Cloud IDS in Google Security Operations utilizzando Cloud Storage. Il parser trasforma i log Cloud IDS non elaborati in formato JSON da Google Cloud in un formato UDM strutturato. Estrae i campi pertinenti, li mappa allo schema UDM, classifica gli eventi e arricchisce i dati con un contesto aggiuntivo, come la direzione della rete e i tipi di risorse.

Prima di iniziare

Assicurati di disporre dei seguenti prerequisiti:

  • Istanza Google SecOps.
  • Cloud IDS è configurato e attivo nel tuo ambiente Google Cloud .
  • Accesso privilegiato a Google Cloud e autorizzazioni appropriate per accedere a Cloud IDS.

Crea un bucket Cloud Storage

  1. Accedi alla consoleGoogle Cloud .
  2. Vai alla pagina Bucket Cloud Storage.

    Vai a Bucket

  3. Fai clic su Crea.

  4. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio riportato di seguito, fai clic su Continua per passare al passaggio successivo:

    1. Nella sezione Inizia, segui questi passaggi:

      1. Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket, ad esempio gcp-ids-logs.
      2. Per attivare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.

      3. Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.

      4. Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.

    2. Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:

      1. Seleziona un Tipo di località.
      2. Utilizza il menu del tipo di località per selezionare una Località in cui i dati degli oggetti all'interno del bucket verranno archiviati in modo permanente.

      3. Per configurare la replica tra bucket, espandi la sezione Configura replica tra bucket.

    3. Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket oppure Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.

    4. Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona No per applicare la prevenzione dell'accesso pubblico e seleziona un modello di controllo dell'accesso per gli oggetti del bucket.

    5. Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:

      1. Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
      2. Per scegliere come criptare i dati degli oggetti, fai clic sulla freccia di espansione con l'etichetta Crittografia dei dati e seleziona un metodo di crittografia dei dati.
  5. Fai clic su Crea.

Configura l'esportazione dei log di Cloud IDS

  1. Accedi alla consoleGoogle Cloud .
  2. Vai a Logging > Router dei log.
  3. Fai clic su Crea sink.
  4. Fornisci i seguenti parametri di configurazione:

    • Nome sink: inserisci un nome significativo, ad esempio google-cloud-ids-logs-sink.
    • Destinazione sink: seleziona Cloud Storage e fornisci l'URI del bucket di archiviazione Google Cloud , ad esempio gs://gcp-ids-logs.
    • Filtro log:

      logName="projects/<your-project-id>/logs/cloud-ids"
      
  5. Fai clic su Crea.

Configura le autorizzazioni per Cloud Storage

  1. Vai a IAM e amministrazione > IAM.
  2. Individua il account di servizio Cloud Logging.
  3. Concedi il ruolo roles/storage.admin sul bucket.

Configurare i feed

Per configurare un feed:

  1. Vai a Impostazioni SIEM > 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 esempio Log IDS GCP.
  5. Seleziona Google Cloud Storage V2 come Tipo di origine.
  6. Seleziona GCP IDS come Tipo di log.
  7. Fai clic su Ottieni account di servizio accanto al campo Account di servizio Chronicle.
  8. Fai clic su Avanti.
  9. Specifica i valori per i seguenti parametri di input:
    • URI bucket di archiviazione: URL del bucket Cloud Storage, ad esempio gs://gcp-ids-logs.
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze. Nota: se selezioni l'opzione Delete transferred files o Delete transferred files and empty directories, assicurati di aver concesso le autorizzazioni appropriate al account di servizio.
    • Età massima dei file: include i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni
  10. Fai clic su Avanti.
  11. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
insertId metadata.product_log_id Mappatura diretta.
jsonPayload.alert_severity security_result.severity Mappatura diretta.
jsonPayload.alert_time metadata.event_timestamp Mappatura diretta.
jsonPayload.application principal.application Mappatura diretta, solo se la direzione è da server a client.
jsonPayload.application target.application Mappatura diretta, solo se la direzione è client-to-server o se logName contiene traffic.
jsonPayload.category security_result.category Mappato in base al valore di "jsonPayload.category":
- "dos": NETWORK_DENIAL_OF_SERVICE
- "info-leak": NETWORK_SUSPICIOUS
- "protocol-anomaly": NETWORK_MALICIOUS
- "backdoor", "spyware", "trojan": SOFTWARE_MALICIOUS
jsonPayload.category security_result.category_details Mappatura diretta.
jsonPayload.cves extensions.vulns.vulnerabilities.cve_id Mappatura diretta, iterazione sull'array.
jsonPayload.destination_ip_address target.ip Mappatura diretta.
jsonPayload.destination_port target.port Mappatura diretta.
jsonPayload.details extensions.vulns.vulnerabilities.description Mappatura diretta.
jsonPayload.details security_result.detection_fields.value Mappato se esiste "jsonPayload.repeat_count". La chiave è impostata su "repeat_count".
jsonPayload.direction network.direction Mappato in base al valore di "jsonPayload.direction":
- "client-to-server": OUTBOUND
- "server-to-client": INBOUND
jsonPayload.elapsed_time network.session_duration.seconds Mappatura diretta.
jsonPayload.ip_protocol network.ip_protocol Mapping diretto, conversione in maiuscolo e poi mapping al numero di protocollo.
jsonPayload.name security_result.threat_name Mappatura diretta.
jsonPayload.network principal.resource.name Mappatura diretta, solo se la direzione è da server a client.
jsonPayload.network target.resource.name Mappatura diretta, solo se la direzione è client-to-server o se logName contiene traffic.
jsonPayload.repeat_count security_result.detection_fields.value Mappato se esiste. La chiave è impostata su "repeat_count".
jsonPayload.session_id network.session_id Mappatura diretta.
jsonPayload.source_ip_address principal.ip Mappatura diretta.
jsonPayload.source_port principal.port Mappatura diretta.
jsonPayload.start_time about.labels.value Mappato se esiste. La chiave è impostata su "start_time".
jsonPayload.start_time additional.fields.value.string_value Mappato se esiste. La chiave è impostata su "start_time".
jsonPayload.threat_id security_result.threat_id Mappatura diretta.
jsonPayload.total_bytes about.labels.value Mappato se esiste. La chiave è impostata su "total_bytes".
jsonPayload.total_bytes additional.fields.value.string_value Mappato se esiste. La chiave è impostata su "total_bytes".
jsonPayload.total_packets about.labels.value Mappato se esiste. La chiave è impostata su "total_packets".
jsonPayload.total_packets additional.fields.value.string_value Mappato se esiste. La chiave è impostata su "total_packets".
jsonPayload.type security_result.detection_fields.value Mappato se esiste. La chiave è impostata su "type".
jsonPayload.uri_or_filename target.file.full_path Mappatura diretta.
logName security_result.category_details Mappatura diretta.
receiveTimestamp metadata.collected_timestamp Mappatura diretta.
resource.labels.id observer.resource.product_object_id Mappatura diretta.
resource.labels.location observer.location.name Mappatura diretta.
resource.labels.resource_container observer.resource.name Mappatura diretta.
resource.type observer.resource.resource_subtype Mappatura diretta.
metadata.event_type Determinato da un insieme di regole condizionali basate sulla presenza e sui valori di altri campi, con il valore predefinito "GENERIC_EVENT".
metadata.vendor_name Valore statico: Google Cloud Platform.
metadata.product_name Valore statico: GCP_IDS.
metadata.log_type Valore statico: GCP_IDS.
extensions.vulns.vulnerabilities.vendor Valore statico: GCP_IDS, aggiunto per ogni CVE in "jsonPayload.cves".
principal.resource.resource_type Valore statico: VPC_NETWORK, aggiunto se esiste "jsonPayload.network" e la direzione è da server a client.
target.resource.resource_type Valore statico: VPC_NETWORK, aggiunto se esiste "jsonPayload.network" e la direzione è client-to-server o se logName contiene traffic.
observer.resource.resource_type Valore statico: CLOUD_PROJECT, aggiunto se esistono "resource.labels.resource_container" o "resource.type".
observer.resource.attribute.cloud.environment Valore statico: GOOGLE_CLOUD_PLATFORM, aggiunto se esistono "resource.labels.resource_container" o "resource.type".

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.