Raccogli i log di Lacework Cloud Security
Panoramica
Questo parser estrae i campi dai log JSON di Lacework Cloud Security e li trasforma in formato UDM. Mappa i campi dei log non elaborati ai campi UDM, gestendo vari tipi di dati e arricchendo l'evento con un contesto aggiuntivo dai tag, classificando infine il tipo di evento in base alla presenza di informazioni principali e di destinazione.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google Security Operations.
- Accesso privilegiato a FortiCNAPP Lacework.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed
- Hub dei contenuti > Pacchetti di contenuti
Configura i feed da Impostazioni SIEM > Feed
Per configurare un feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Lacework Logs).
- Seleziona Webhook come Tipo di origine.
- Seleziona Lacework come Tipo di log.
- Fai clic su Avanti.
- (Facoltativo) Specifica i valori per i seguenti parametri di input:
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
\n
.
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
- Fai clic su Avanti.
- Controlla la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
- Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
- Copia e memorizza la chiave segreta. Non puoi visualizzare di nuovo questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
- Nella scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni sull'endpoint. Devi specificare questo URL dell'endpoint nell'applicazione client.
- Fai clic su Fine.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
\n
.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
Copia e memorizza la chiave segreta. Non puoi visualizzare di nuovo questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
Nella scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni sull'endpoint. Devi specificare questo URL dell'endpoint nell'applicazione client.
Crea una chiave API per il feed webhook
Vai alla console Google Cloud > Credenziali.
Fai clic su Crea credenziali e poi seleziona Chiave API.
Limita l'accesso della chiave API all'API Chronicle.
Specifica l'URL dell'endpoint
- Nella tua applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
Attiva l'autenticazione specificando la chiave API e la chiave segreta come parte dell'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.
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 a Google SecOps.SECRET
: la chiave segreta che hai generato per autenticare il feed.
Configura un webhook Lacework per Google SecOps
- Accedi alla console Lacework FortiCNAPP con privilegi amministrativi.
- Vai a Impostazioni > Notifiche > Canali di avviso.
- Fai clic su + Aggiungi nuovo.
- Seleziona Webhook.
- Fai clic su Avanti.
- Specifica un nome univoco per il canale (ad esempio Google SecOps).
- URL webhook: inserisci
<ENDPOINT_URL>
seguito da<API_KEY>
e<SECRET>
. - Fai clic su Salva.
- Seleziona Regole di avviso e configura i dettagli di routing degli avvisi richiesti.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
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 . Logic converte varie stringhe del sistema operativo (Linux, Windows, Mac) in valori enum 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 "ID istanza dispositivo: ". |
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 all'interno di target.resource.attribute. |
TAGS.VmInstanceType |
target.resource.attribute.labels[].key:"VmInstanceType", value |
Mappato direttamente dal campo TAGS.VmInstanceType come etichetta all'interno di target.resource.attribute. |
TAGS.VmProvider |
target.resource.attribute.labels[].key:"VmProvider", value |
Mappato direttamente dal campo TAGS.VmProvider come etichetta all'interno di 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. Codificato in modo permanente su "LACEWORK". Codificato come "Lacework Cloud Security". |
metadata.event_type |
metadata.event_type |
Determinato dalla logica. Imposta "NETWORK_CONNECTION" se sono presenti sia principal.ip che target.ip, "STATUS_UPDATE" se è presente solo principal.ip e "GENERIC_EVENT" in caso contrario. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.