Raccogliere i log di Lacework Cloud Security

Supportato in:

Panoramica

Questo parser estrae i campi dai log JSON di Lacework Cloud Security, trasformandoli in formato UDM. Mappa i campi dei log non elaborati ai campi UDM, gestisce vari tipi di dati e arricchisce l'evento con un contesto aggiuntivo proveniente dai tag, classificando infine il tipo di evento in base alla presenza di informazioni principali e di destinazione.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso con privilegi a FortiCNAPP Lacework.

Configura un feed in Google SecOps per importare i log di Lacework

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuova.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log Lacework).
  4. Seleziona Webhook come Tipo di origine.
  5. Seleziona Lacework come Tipo di log.
  6. Fai clic su Avanti.
  7. (Facoltativo) Specifica i valori per i seguenti parametri di input:
    • Delimitatore di split: il delimitatore utilizzato per separare le righe di log, ad esempio \n.
    • Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  8. Fai clic su Avanti.
  9. Controlla la configurazione del feed nella schermata Concludi e poi fai clic su Invia.
  10. Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
  11. Copia e memorizza la chiave segreta. Non potrai più visualizzare questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
  12. Dalla scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni endpoint. Devi specificare questo URL endpoint nell'applicazione client.
  13. Fai clic su Fine.

Crea una chiave API per il feed webhook

  1. Vai alla console Google Cloud > Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali e poi seleziona Chiave API.

  3. Limita l'accesso della chiave API all'API Chronicle.

Specifica l'URL dell'endpoint

  1. Nell'applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
  2. Attiva l'autenticazione specificando la chiave API e la chiave segreta nell'intestazione personalizzata nel seguente formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Consiglio: specifica la chiave API come intestazione anziché nell'URL.

  3. Se il client webhook non supporta le intestazioni personalizzate, puoi specificare la chiave API e la chiave segreta utilizzando parametri di ricerca nel seguente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Sostituisci quanto segue:

    • ENDPOINT_URL: l'URL dell'endpoint del feed.
    • API_KEY: la chiave API per l'autenticazione in Google SecOps.
    • SECRET: la chiave segreta che hai generato per autenticare il feed.

Configurare un webhook Lacework per Google SecOps

  1. Accedi alla console Lacework FortiCNAPP con privilegi amministrativi.
  2. Vai a Impostazioni > Notifiche > Canali di avviso.
  3. Fai clic su + Aggiungi nuovo.
  4. Seleziona Webhook.
  5. Fai clic su Avanti.
  6. Specifica un nome univoco per il canale (ad esempio Google SecOps).
  7. URL webhook: inserisci <ENDPOINT_URL> seguito da <API_KEY> e <SECRET>.
  8. Fai clic su Salva.
  9. Seleziona Regole di avviso e configura i dettagli di inoltro degli avvisi richiesti.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
AGENT_VERSION metadata.product_version Mappato direttamente dal campo AGENT_VERSION.
CREATED_TIME metadata.event_timestamp Mappato direttamente dal campo CREATED_TIME, convertito in un timestamp.
FILEDATA_HASH target.file.sha256 Mappato direttamente dal campo FILEDATA_HASH.
FILE_PATH target.file.full_path Mappato direttamente dal campo FILE_PATH.
IP_ADDR principal.ip Mappato direttamente dal campo IP_ADDR.
OS target.platform Mappato dal campo OS. La logica converte varie stringhe del sistema operativo (Linux, Windows, Mac) in valori enumerati UDM (LINUX, WINDOWS, MAC). Se non viene trovata alcuna corrispondenza, il valore predefinito è UNKNOWN_PLATFORM.
STATUS additional.fields[].key:"STATUS", value.string_value Mappato direttamente dal campo STATUS come campo aggiuntivo.
TAGS.Account metadata.product_deployment_id Mappato direttamente dal campo TAGS.Account.
TAGS.AmiId additional.fields[].key:"AmiId", value.string_value Mappato direttamente dal campo TAGS.AmiId come campo aggiuntivo.
TAGS.ExternalIp target.ip Mappato direttamente dal campo TAGS.ExternalIp.
TAGS.Hostname principal.hostname Mappato direttamente dal campo TAGS.Hostname.
TAGS.InstanceId target.asset_id Mappato direttamente dal campo TAGS.InstanceId, con il prefisso "Device Instance Id: ".
TAGS.LwTokenShort additional.fields[].key:"LwTokenShort", value.string_value Mappato direttamente dal campo TAGS.LwTokenShort come campo aggiuntivo.
TAGS.MID additional.fields[].key:"MID", value.string_value Mappato direttamente dal campo MID come campo aggiuntivo.
TAGS.MODE additional.fields[].key:"MODE", value.string_value Mappato direttamente dal campo MODE come campo aggiuntivo.
TAGS.Name additional.fields[].key:"Name", value.string_value Mappato direttamente dal campo TAGS.Name come campo aggiuntivo.
TAGS.QSConfigName-vfzg0 additional.fields[].key:"QSConfigName", value.string_value Mappato direttamente dal campo TAGS.QSConfigName-vfzg0 come campo aggiuntivo.
TAGS.ResourceType target.resource.resource_subtype Mappato direttamente dal campo TAGS.ResourceType.
TAGS.SubnetId target.resource.attribute.labels[].key:"Subnet Id", value Mappato direttamente dal campo TAGS.SubnetId come etichetta in target.resource.attribute.
TAGS.VmInstanceType target.resource.attribute.labels[].key:"VmInstanceType", value Mappato direttamente dal campo TAGS.VmInstanceType come etichetta in target.resource.attribute.
TAGS.VmProvider target.resource.attribute.labels[].key:"VmProvider", value Mappato direttamente dal campo TAGS.VmProvider come etichetta in target.resource.attribute.
TAGS.VpcId target.resource.product_object_id Mappato direttamente dal campo TAGS.VpcId.
TAGS.Zone target.cloud.availability_zone Mappato direttamente dal campo TAGS.Zone.
TAGS.alpha.eksctl.io/nodegroup-name additional.fields[].key:"eksctl_nodegroup_name", value.string_value Mappato direttamente dal campo TAGS.alpha.eksctl.io/nodegroup-name come campo aggiuntivo.
TAGS.alpha.eksctl.io/nodegroup-type additional.fields[].key:"eksctl_nodegroup_type", value.string_value Mappato direttamente dal campo TAGS.alpha.eksctl.io/nodegroup-type come campo aggiuntivo.
TAGS.arch principal.platform_version Mappato direttamente dal campo TAGS.arch.
TAGS.aws:autoscaling:groupName additional.fields[].key:"autoscaling_groupName", value.string_value Mappato direttamente dal campo TAGS.aws:autoscaling:groupName come campo aggiuntivo.
TAGS.aws:ec2:fleet-id additional.fields[].key:"ec2_fleetid", value.string_value Mappato direttamente dal campo TAGS.aws:ec2:fleet-id come campo aggiuntivo.
TAGS.aws:ec2launchtemplate:id additional.fields[].key:"ec2launchtemplate_id", value.string_value Mappato direttamente dal campo TAGS.aws:ec2launchtemplate:id come campo aggiuntivo.
TAGS.aws:ec2launchtemplate:version additional.fields[].key:"ec2launchtemplate_ver", value.string_value Mappato direttamente dal campo TAGS.aws:ec2launchtemplate:version come campo aggiuntivo.
TAGS.aws:eks:cluster-name additional.fields[].key:"eks_cluster_name", value.string_value Mappato direttamente dal campo TAGS.aws:eks:cluster-name come campo aggiuntivo.
TAGS.enableCrowdStrike additional.fields[].key:"enableCrowdStrike", value.string_value Mappato direttamente dal campo TAGS.enableCrowdStrike come campo aggiuntivo.
TAGS.falconx.io/application additional.fields[].key:"io/application", value.string_value Mappato direttamente dal campo TAGS.falconx.io/application come campo aggiuntivo.
TAGS.falconx.io/environment additional.fields[].key:"io/environment", value.string_value Mappato direttamente dal campo TAGS.falconx.io/environment come campo aggiuntivo.
TAGS.falconx.io/managedBy additional.fields[].key:"io/managedBy", value.string_value Mappato direttamente dal campo TAGS.falconx.io/managedBy come campo aggiuntivo.
TAGS.falconx.io/project additional.fields[].key:"io/project", value.string_value Mappato direttamente dal campo TAGS.falconx.io/project come campo aggiuntivo.
TAGS.falconx.io/proxy-type additional.fields[].key:"io/proxy_type", value.string_value Mappato direttamente dal campo TAGS.falconx.io/proxy-type come campo aggiuntivo.
TAGS.falconx.io/service additional.fields[].key:"io/service", value.string_value Mappato direttamente dal campo TAGS.falconx.io/service come campo aggiuntivo.
TAGS.falconx.io/team additional.fields[].key:"io/team", value.string_value Mappato direttamente dal campo TAGS.falconx.io/team come campo aggiuntivo.
TAGS.k8s.io/cluster-autoscaler/enabled additional.fields[].key:"k8s_autoscaler_enabled", value.string_value Mappato direttamente dal campo TAGS.k8s.io/cluster-autoscaler/enabled come campo aggiuntivo.
TAGS.k8s.io/cluster-autoscaler/falcon additional.fields[].key:"k8s_cluster_autoscaler", value.string_value Mappato direttamente dal campo TAGS.k8s.io/cluster-autoscaler/falcon come campo aggiuntivo.
TAGS.kubernetes.io/cluster/falcon additional.fields[].key:"kubernetes_io_cluster", value.string_value Mappato direttamente dal campo TAGS.kubernetes.io/cluster/falcon come campo aggiuntivo.
TAGS.lw_KubernetesCluster additional.fields[].key:"lw_KubernetesCluster", value.string_value Mappato direttamente dal campo TAGS.lw_KubernetesCluster come campo aggiuntivo.
LAST_UPDATE additional.fields[].key:"LAST_UPDATE", value.string_value Mappato direttamente dal campo LAST_UPDATE come campo aggiuntivo. Hardcoded su "LACEWORK". Hardcoded su "Lacework Cloud Security".
metadata.event_type metadata.event_type Determinato dalla logica. Impostato su "NETWORK_CONNECTION" se sono presenti sia principal.ip che target.ip, su "STATUS_UPDATE" se è presente solo principal.ip e su "GENERIC_EVENT" in caso contrario.

Modifiche

2023-11-09

  • Parser appena creato.