Recopila registros de Lacework Cloud Security
Descripción general
Este analizador extrae campos de los registros JSON de Lacework Cloud Security y los transforma al formato de UDM. Asigna los campos de registro sin procesar a los campos del UDM, controla varios tipos de datos y enriquece el evento con contexto adicional de las etiquetas, y, por último, clasifica el tipo de evento según la presencia de información del principal y del objetivo.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Es la instancia de Google Security Operations.
- Acceso privilegiado a FortiCNAPP Lacework.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds
- Centro de contenido > Paquetes de contenido
Configura feeds en Configuración del SIEM > Feeds
Para configurar un feed, sigue estos pasos:
- Ve a Configuración del SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Lacework).
- Selecciona Webhook como el Tipo de origen.
- Selecciona Lacework como el Tipo de registro.
- Haz clic en Siguiente.
- Opcional: Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
\n
.
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
- Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
- Copia y almacena la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes regenerar una clave secreta nueva, pero esta acción hace que la clave secreta anterior quede obsoleta.
- En la pestaña Detalles, copia la URL del extremo del feed del campo Información del extremo. Debes especificar esta URL de extremo en tu aplicación cliente.
- Haz clic en Listo.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como
\n
.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
- Espacio de nombres del activo: Es el espacio de nombres asociado con el feed.
Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
Copia y almacena la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes regenerar una clave secreta nueva, pero esta acción hace que la clave secreta anterior quede obsoleta.
En la pestaña Detalles, copia la URL del extremo del feed del campo Información del extremo. Debes especificar esta URL de extremo en tu aplicación cliente.
Crea una clave de API para el feed del webhook
Ve a Google Cloud consola > Credenciales.
Haz clic en Crear credenciales y selecciona Clave de API.
Restringe el acceso a la clave de API a la API de Chronicle.
Especifica la URL del extremo
- En tu aplicación cliente, especifica la URL del extremo HTTPS que se proporciona en el feed de webhook.
Para habilitar la autenticación, especifica la clave de API y la clave secreta como parte del encabezado personalizado con el siguiente formato:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Recomendación: Especifica la clave de API como un encabezado en lugar de hacerlo en la URL.
Si tu cliente de webhook no admite encabezados personalizados, puedes especificar la clave de API y la clave secreta con parámetros de búsqueda en el siguiente formato:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Reemplaza lo siguiente:
ENDPOINT_URL
: Es la URL del extremo del feed.API_KEY
: Es la clave de API para autenticarse en Google SecOps.SECRET
: Es la clave secreta que generaste para autenticar el feed.
Configura un webhook de Lacework para Google SecOps
- Accede a la consola de Lacework FortiCNAPP con privilegios administrativos.
- Ve a Configuración > Notificaciones > Canales de alertas.
- Haz clic en + Agregar nuevo.
- Selecciona Webhook.
- Haz clic en Siguiente.
- Especifica un nombre único para el canal (por ejemplo, Google SecOps).
- URL de webhook: Ingresa
<ENDPOINT_URL>
seguido de<API_KEY>
y<SECRET>
. - Haz clic en Guardar.
- Selecciona Reglas de alertas y configura los detalles de enrutamiento de alertas que necesites.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
AGENT_VERSION |
metadata.product_version |
Se asigna directamente desde el campo AGENT_VERSION . |
CREATED_TIME |
metadata.event_timestamp |
Se asigna directamente desde el campo CREATED_TIME y se convierte en una marca de tiempo. |
FILEDATA_HASH |
target.file.sha256 |
Se asigna directamente desde el campo FILEDATA_HASH . |
FILE_PATH |
target.file.full_path |
Se asigna directamente desde el campo FILE_PATH . |
IP_ADDR |
principal.ip |
Se asigna directamente desde el campo IP_ADDR . |
OS |
target.platform |
Se asignó desde el campo OS . La lógica convierte varias cadenas de SO (Linux, Windows, Mac) en valores de enumeración de UDM (LINUX, WINDOWS, MAC). El valor predeterminado es UNKNOWN_PLATFORM si no se encuentra una coincidencia. |
STATUS |
additional.fields[].key:"STATUS", value.string_value |
Se asigna directamente desde el campo STATUS como un campo adicional. |
TAGS.Account |
metadata.product_deployment_id |
Se asigna directamente desde el campo TAGS.Account . |
TAGS.AmiId |
additional.fields[].key:"AmiId", value.string_value |
Se asigna directamente desde el campo TAGS.AmiId como un campo adicional. |
TAGS.ExternalIp |
target.ip |
Se asigna directamente desde el campo TAGS.ExternalIp . |
TAGS.Hostname |
principal.hostname |
Se asigna directamente desde el campo TAGS.Hostname . |
TAGS.InstanceId |
target.asset_id |
Se asigna directamente desde el campo TAGS.InstanceId , con el prefijo "Device Instance Id: ". |
TAGS.LwTokenShort |
additional.fields[].key:"LwTokenShort", value.string_value |
Se asigna directamente desde el campo TAGS.LwTokenShort como un campo adicional. |
TAGS.MID |
additional.fields[].key:"MID", value.string_value |
Se asigna directamente desde el campo MID como un campo adicional. |
TAGS.MODE |
additional.fields[].key:"MODE", value.string_value |
Se asigna directamente desde el campo MODE como un campo adicional. |
TAGS.Name |
additional.fields[].key:"Name", value.string_value |
Se asigna directamente desde el campo TAGS.Name como un campo adicional. |
TAGS.QSConfigName-vfzg0 |
additional.fields[].key:"QSConfigName", value.string_value |
Se asigna directamente desde el campo TAGS.QSConfigName-vfzg0 como un campo adicional. |
TAGS.ResourceType |
target.resource.resource_subtype |
Se asigna directamente desde el campo TAGS.ResourceType . |
TAGS.SubnetId |
target.resource.attribute.labels[].key:"Subnet Id", value |
Se asigna directamente desde el campo TAGS.SubnetId como una etiqueta dentro de target.resource.attribute. |
TAGS.VmInstanceType |
target.resource.attribute.labels[].key:"VmInstanceType", value |
Se asigna directamente desde el campo TAGS.VmInstanceType como una etiqueta dentro de target.resource.attribute. |
TAGS.VmProvider |
target.resource.attribute.labels[].key:"VmProvider", value |
Se asigna directamente desde el campo TAGS.VmProvider como una etiqueta dentro de target.resource.attribute. |
TAGS.VpcId |
target.resource.product_object_id |
Se asigna directamente desde el campo TAGS.VpcId . |
TAGS.Zone |
target.cloud.availability_zone |
Se asigna directamente desde el campo TAGS.Zone . |
TAGS.alpha.eksctl.io/nodegroup-name |
additional.fields[].key:"eksctl_nodegroup_name", value.string_value |
Se asigna directamente desde el campo TAGS.alpha.eksctl.io/nodegroup-name como un campo adicional. |
TAGS.alpha.eksctl.io/nodegroup-type |
additional.fields[].key:"eksctl_nodegroup_type", value.string_value |
Se asigna directamente desde el campo TAGS.alpha.eksctl.io/nodegroup-type como un campo adicional. |
TAGS.arch |
principal.platform_version |
Se asigna directamente desde el campo TAGS.arch . |
TAGS.aws:autoscaling:groupName |
additional.fields[].key:"autoscaling_groupName", value.string_value |
Se asigna directamente desde el campo TAGS.aws:autoscaling:groupName como un campo adicional. |
TAGS.aws:ec2:fleet-id |
additional.fields[].key:"ec2_fleetid", value.string_value |
Se asigna directamente desde el campo TAGS.aws:ec2:fleet-id como un campo adicional. |
TAGS.aws:ec2launchtemplate:id |
additional.fields[].key:"ec2launchtemplate_id", value.string_value |
Se asigna directamente desde el campo TAGS.aws:ec2launchtemplate:id como un campo adicional. |
TAGS.aws:ec2launchtemplate:version |
additional.fields[].key:"ec2launchtemplate_ver", value.string_value |
Se asigna directamente desde el campo TAGS.aws:ec2launchtemplate:version como un campo adicional. |
TAGS.aws:eks:cluster-name |
additional.fields[].key:"eks_cluster_name", value.string_value |
Se asigna directamente desde el campo TAGS.aws:eks:cluster-name como un campo adicional. |
TAGS.enableCrowdStrike |
additional.fields[].key:"enableCrowdStrike", value.string_value |
Se asigna directamente desde el campo TAGS.enableCrowdStrike como un campo adicional. |
TAGS.falconx.io/application |
additional.fields[].key:"io/application", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/application como un campo adicional. |
TAGS.falconx.io/environment |
additional.fields[].key:"io/environment", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/environment como un campo adicional. |
TAGS.falconx.io/managedBy |
additional.fields[].key:"io/managedBy", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/managedBy como un campo adicional. |
TAGS.falconx.io/project |
additional.fields[].key:"io/project", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/project como un campo adicional. |
TAGS.falconx.io/proxy-type |
additional.fields[].key:"io/proxy_type", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/proxy-type como un campo adicional. |
TAGS.falconx.io/service |
additional.fields[].key:"io/service", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/service como un campo adicional. |
TAGS.falconx.io/team |
additional.fields[].key:"io/team", value.string_value |
Se asigna directamente desde el campo TAGS.falconx.io/team como un campo adicional. |
TAGS.k8s.io/cluster-autoscaler/enabled |
additional.fields[].key:"k8s_autoscaler_enabled", value.string_value |
Se asigna directamente desde el campo TAGS.k8s.io/cluster-autoscaler/enabled como un campo adicional. |
TAGS.k8s.io/cluster-autoscaler/falcon |
additional.fields[].key:"k8s_cluster_autoscaler", value.string_value |
Se asigna directamente desde el campo TAGS.k8s.io/cluster-autoscaler/falcon como un campo adicional. |
TAGS.kubernetes.io/cluster/falcon |
additional.fields[].key:"kubernetes_io_cluster", value.string_value |
Se asigna directamente desde el campo TAGS.kubernetes.io/cluster/falcon como un campo adicional. |
TAGS.lw_KubernetesCluster |
additional.fields[].key:"lw_KubernetesCluster", value.string_value |
Se asigna directamente desde el campo TAGS.lw_KubernetesCluster como un campo adicional. |
LAST_UPDATE |
additional.fields[].key:"LAST_UPDATE", value.string_value |
Se asigna directamente desde el campo LAST_UPDATE como un campo adicional. Se codificó de forma rígida como "LACEWORK". Se codifica como "Lacework Cloud Security". |
metadata.event_type |
metadata.event_type |
Se determina por la lógica. Se establece en "NETWORK_CONNECTION" si están presentes principal.ip y target.ip, en "STATUS_UPDATE" si solo está presente principal.ip y en "GENERIC_EVENT" en los demás casos. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.