Configura un webhook de SOAR
Los webhooks son una solución liviana para incorporar alertas de tu organización a la plataforma SOAR de Google Security Operations.
Las alertas incorporadas a través de webhooks aparecen en la plataforma con la misma información que las alertas incorporadas mediante conectores.
Google recomienda usar un conector o un webhook de la misma fuente, pero no ambos, para evitar crear casos duplicados.
Los webhooks son más adecuados para situaciones que requieren una lógica de asignación básica, mientras que los conectores son mejores para la asignación avanzada y flexible.
Configura un webhook para incorporar alertas
Para configurar un webhook para incorporar alertas, sigue estos pasos:
- Ve a Configuración de SOAR > Ingesta > Webhooks.
- Haz clic en add Agregar webhook entrante.
- Ingresa un nombre para el webhook nuevo y elige un entorno.
- Haz clic en Guardar. Después de guardar, el webhook nuevo aparecerá en la página principal.
- Copia la URL del webhook y anótala para usarla más tarde. Debes ingresarla en la plataforma de origen como destino del webhook.
Asigna datos
Después de subir una muestra de JSON, puedes usar la sección Asignación de datos para asignar campos de tu JSON de origen a los campos correspondientes en Google Security Operations SOAR. El sistema procesa tu JSON sin procesar y tú usas la interfaz de usuario (IU) para establecer las asignaciones.
- En la sección Asignación de datos, haz clic en Subir muestra de JSON. Proporciona una muestra representativa de la carga útil de JSON que envía tu webhook.
- Asigna los campos de Google Security Operations a los campos correspondientes en tu muestra de JSON. Por ejemplo, para asignar el campo obligatorio
StartTime, puedes seleccionar un campo de marca de tiempo de tu JSON, comoDetections.Last.Update. - Usa el Generador de expresiones para definir mejor los datos. Por ejemplo, puedes usar la función Formato de fecha para convertir tu marca de tiempo al formato de milisegundos de época de Unix requerido. Para obtener más información, consulta Usa el Generador de expresiones.
- Haz clic en Ejecutar en el Generador de expresiones para probar la asignación y ver el resultado. Una marca de verificación verde indica que la asignación se realizó correctamente.
- La carga útil de JSON del webhook debe contener los campos obligatorios para la creación de casos y la incorporación de alertas. Para obtener más información, consulta Comprende el esquema JSON del webhook.
- Después de asignar todos los campos necesarios, haz clic en Guardar y, luego, habilita el webhook.
Comprende los campos de destino de la asignación
Cuando asignas tus datos JSON, los asignas a campos estandarizados dentro de Google Security Operations SOAR. Estos campos se organizan en categorías para ayudarte a normalizar y estructurar los datos entrantes. Los campos disponibles en la IU de Asignación de datos se basan en la ontología del sistema interno. Las categorías principales incluyen las siguientes:
- Campos de entidad: Usa estos campos para los datos a partir de los cuales el sistema puede extraer y modelar entidades automáticamente, como direcciones IP, nombres de dominio, hashes de archivos y nombres de usuario. La asignación a estos campos enriquece la alerta y mejora la correlación y la segmentación.
- Campos de eventos genéricos: Úsalos para los metadatos de eventos generales, como marcas de tiempo (
StartTime,EndTime), descripciones o mensajes de eventos, y otros atributos de eventos comunes. - Metadatos técnicos y de dispositivos: Usa estos campos para obtener detalles técnicos sobre la fuente del evento, como el proveedor y el producto del dispositivo que informa (
DeviceVendor,DeviceProduct), la gravedad del evento y otros atributos técnicos similares.
Explora los campos disponibles en la herramienta Asignación de datos en la IU de Google Security Operations SOAR para encontrar el campo de destino más adecuado para cada dato de tu carga útil de JSON.
Comprende el esquema JSON del webhook
Para asegurarte de que Google Security Operations SOAR incorpore y procese correctamente tus alertas, la carga útil de JSON del webhook debe seguir una estructura específica. En las siguientes tablas, se detallan los campos principales que se esperan en la carga útil de JSON.
Campos principales de casos y alertas
Estos campos representan las propiedades de nivel superior de la alerta o el caso que se está creando.
| Campo | Tipo | Formato recomendado | Obligatorio | Descripción | Ejemplo |
|---|---|---|---|---|---|
TicketId |
String | UUID | Sí |
|
"f7167971-f641-432f-a06f-ebca3caaa9dd" |
SourceSystemName |
String | Texto | Sí | El nombre del sistema externo (por ejemplo, SIEM o un sistema de detección y respuesta de extremos [EDR]) que envió las alertas originales a SOAR. | "Splunk" |
Name |
String | Texto | Sí | El título o el nombre del caso, que suele tomarse del tipo o el resumen de la alerta de origen. | "Suspicious Login Attempt" |
DeviceVendor |
String | Texto | Sí | El proveedor del dispositivo o producto que generó la alerta. También se puede asignar desde los datos del evento. | "Palo Alto Networks" |
RuleGenerator |
String | Texto | Sí | El nombre de la regla en el sistema de origen (por ejemplo, una regla de correlación de SIEM) que generó la alerta. | "Brute Force Attempt Detected" |
StartTime |
String o número entero | Milisegundos de época (UTC) o cadena ISO8601 (por ejemplo, "2026-04-09T14:30:00Z") | Sí | La hora de inicio del evento más antiguo del caso. Si proporcionas un número entero, debe estar en milisegundos de época de Unix. | 1670000000000 o "2026-04-09T14:30:00Z" |
Environment |
String | Texto | No | El nombre del entorno de SOAR al que pertenece esta alerta. Debe coincidir con un entorno definido en la configuración de SOAR. | "Default Environment" |
Description |
String | Texto | No | Una breve descripción del caso o la alerta. | "Failed login followed by success from new IP" |
DisplayId |
String | UUID o string | No |
|
"f7167971-f641-432f-a06f-ebca3caaa9dd" |
Reason |
String | Texto | No | El motivo por el que se creó o activó la alerta. | "Unusual file access patterns detected." |
DeviceProduct |
String | Texto | No | El nombre del producto del proveedor que generó la alerta. También se puede asignar desde los datos del evento. | "Cortex XDR" |
EndTime |
String o número entero | Milisegundos de época (UTC) o cadena ISO8601 (por ejemplo, "2026-04-09T14:30:00Z") | No | La hora de finalización del evento más reciente del caso. Si proporcionas un número entero, debe estar en milisegundos de época de Unix. | 1670000060000 o "2026-04-09T14:31:00Z" |
Priority |
Número entero | 0-100 | No | El nivel de prioridad del caso. El valor predeterminado es 40 si no se proporciona. (0-19: Informativo, 20-39: Bajo, 40-59: Medio, 60-79: Alto, 80-100: Crítico) | 80 |
EventsList |
Arreglo | Arreglo de objetos JSON | No | Un arreglo que contiene uno o más objetos de eventos sin procesar tal como se reciben de la fuente. Consulta Envía datos de eventos sin procesar. | [ { ... }, { ... } ] |
EventProduct |
String | Texto | No | Producto que creó los eventos. | "Cortex XDR" |
EventName |
String | Texto | No | El título o el nombre del evento, que suele tomarse del tipo o el resumen de la alerta de origen. | "Suspicious Login Attempt" |
Envía datos de eventos sin procesar: el arreglo EventsList
Debes enviar la carga útil de JSON sin procesar que representa los eventos tal como provienen del sistema de origen dentro del arreglo EventsList. Este objeto es un elemento del arreglo EventsList. Luego, asignas campos como source_ip y timestamp con la IU de Asignación de datos.
Ejemplo de objeto de evento en el arreglo EventsList
{
"event_id": "9a8b7c-1234-5678",
"timestamp": "2026-07-01T07:29:50Z",
"signature": "UserLoginFailed",
"severity": "Medium",
"user_name": "administrator",
"source_ip": "192.168.1.50",
"destination_ip": "10.0.0.10",
"domain": "CORP",
"status": "Failure",
"Reason": "Wrong Password",
"EventProduct": "Acme Firewall",
"EventName": "Failed Login Attempt"
}
Consideraciones clave y prácticas recomendadas
- Marcas de tiempo: Usa milisegundos de época de Unix para todos los campos
StartTimeyEndTimeen el nivel superior (como un número entero). Dentro de los datos del evento, proporciona marcas de tiempo tal como provienen de la fuente; las conviertes en la IU de Asignación de datos. - Campos obligatorios: Asegúrate de que todos los campos marcados como "Sí" en la columna Obligatorio estén presentes en tu carga útil de JSON.
- Arreglo
EventsList: Este arreglo es fundamental. Incluso si la alerta representa un solo evento, debe incluirse en el arregloEventsList. - IU de Asignación de datos: Usa la herramienta Asignación de datos en la IU de Configuración de webhook para asignar campos de tu JSON sin procesar a los campos correspondientes de Google Security Operations SOAR.
- Unicidad:
DisplayIddebe ser único para cada alerta nueva para evitar la deduplicación.TicketIddebe ser único si no se proporcionaDisplayId. - Estado de la respuesta: Una respuesta
HTTP 200 OKdel extremo de incorporación de webhooks confirma que se recibió la carga útil, pero no garantiza que se creará una alerta. La creación de alertas puede fallar durante el procesamiento posterior debido a la estructura de la carga útil o a las reglas de filtrado. Puedes hacer un seguimiento del estado del procesamiento posterior con la función Recopilar registros de la plataforma SOAR. - Pruebas: Usa las pestañas Subir muestra de JSON y Pruebas en la página Configuración de webhook en SOAR para validar la estructura y las asignaciones de tu carga útil.
Prueba el webhook
En la pestaña Pruebas, puedes probar la funcionalidad de extremo a extremo del webhook y ver descripciones detalladas de los errores.
- En la pestaña Pruebas, copia la URL del webhook.
- Sube un archivo JSON con los datos pertinentes.
- Haz clic en Ejecutar. Los resultados se muestran junto con el resultado.
Configura la plataforma CrowdStrike
En este caso de uso, se explican los pasos que debes seguir en CrowdStrike para que el webhook comience a incorporar alertas a la plataforma de Google SecOps.
- En el panel de CrowdStrike Falcon, ve a Falcon Store y, luego, instala el complemento Webhooks.
- Configura el webhook con el nombre y la URL del webhook que copiaste de la plataforma de Google SecOps y, luego, haz clic en Guardar.
- Ve a la sección Flujos de trabajo.
- Haz clic en Crear un flujo de trabajo.
- Selecciona un activador, como Detección nueva, y haz clic en Siguiente.
- Selecciona Agregar acción.
- En la sección Personalizar acción , selecciona Notificaciones en el menú Tipo de acción y Llamar a webhook en el menú Acción.
- Selecciona el nombre que agregaste en el paso inicial y todos los campos necesarios y, luego, haz clic en Finalizar.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.