Configura un webhook de SOAR
Los webhooks son una solución ligera para transferir alertas de tu organización a la plataforma de SOAR de Google Security Operations.
Las alertas transferidas con webhooks aparecen en la plataforma con la misma información que las alertas transferidas con 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 una asignación avanzada y flexible.
Configura un webhook para transferir alertas
Para configurar un webhook que transfiera alertas, sigue estos pasos:
- Ve a Configuración > Administración de datos > Webhooks de SOAR.
- 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 de webhook y anótala para usarla más adelante. Debes ingresarla en la plataforma de origen como el destino del webhook.
Datos del mapa
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 adecuados en Google Security Operations SOAR. El sistema procesa tu JSON sin procesar y 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 de 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 compilador de expresiones para definir mejor los datos. Por ejemplo, puedes usar la función Formato de fecha para convertir tu marca de tiempo en el formato de milisegundos de tiempo Unix requerido. Para obtener más información, consulta Usa el compilador de expresiones.
- Haz clic en Ejecutar en el compilador 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 de tu webhook debe contener los campos obligatorios para la creación de casos y la transferencia de alertas. Para obtener más detalles, consulta Información sobre el esquema JSON del webhook.
- Después de asignar todos los campos necesarios, haz clic en Guardar y, luego, habilita el webhook.
Información sobre la asignación de campos de destino
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 interna del sistema. Entre las categorías principales, se incluyen las siguientes:
- Campos de entidad: Usa estos campos para los datos de los que 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 rotación.
- Campos de eventos genéricos: Úsalos para los metadatos generales de los eventos, como las marcas de tiempo (
StartTime,EndTime), las descripciones o los mensajes de los eventos, y otros atributos comunes de los eventos. - Metadatos técnicos y del dispositivo: 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 de asignación de datos en la IU de SOAR de Google Security Operations para encontrar el campo de destino más adecuado para cada dato de tu carga útil de JSON.
Información sobre el esquema JSON del webhook
Para asegurarte de que Google Security Operations SOAR transfiera y procese tus alertas correctamente, la carga útil de JSON de tu 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í | Es 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í | Es el título o nombre del caso, que suele tomarse del tipo de alerta o resumen de origen. | "Suspicious Login Attempt" |
DeviceVendor |
String | Texto | Sí | Es el proveedor del dispositivo o producto que generó la alerta. Esto también se puede asignar a partir de los datos de eventos. | "Palo Alto Networks" |
RuleGenerator |
String | Texto | Sí | Es 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 |
Cadena o número entero | Milisegundos de época (UTC) o cadena ISO8601 (por ejemplo, "2026-04-09T14:30:00Z") | Sí | Es la hora de inicio del evento más antiguo del caso. Si proporcionas un número entero, debe estar en milisegundos de tiempo Unix. | 1670000000000 o "2026-04-09T14:30:00Z" |
Environment |
String | Texto | No | Es el nombre del entorno de SOAR al que pertenece esta alerta. Debe coincidir con un entorno definido en tu Configuración. | "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 cadena | No |
|
"f7167971-f641-432f-a06f-ebca3caaa9dd" |
Reason |
String | Texto | No | Es el motivo por el que se creó o activó la alerta. | "Unusual file access patterns detected." |
DeviceProduct |
String | Texto | No | Es el nombre del producto del proveedor que generó la alerta. Esto también se puede asignar a partir de los datos de eventos. | "Cortex XDR" |
EndTime |
Cadena o número entero | Milisegundos de época (UTC) o cadena ISO8601 (por ejemplo, "2026-04-09T14:30:00Z") | No | Es la hora de finalización del evento más reciente del caso. Si proporcionas un número entero, debe estar en milisegundos de tiempo Unix. | 1670000060000 o "2026-04-09T14:31:00Z" |
Priority |
Número entero | 0-100 | No | Es 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 | Array de objetos JSON | No | Es un array que contiene uno o más objetos de evento sin procesar, tal como se reciben de la fuente. Consulta Envía datos de eventos sin procesar. | [ { ... }, { ... } ] |
EventProduct |
String | Texto | No | Es el producto que creó los eventos. | "Cortex XDR" |
EventName |
String | Texto | No | Es el título o nombre del evento, que suele tomarse del tipo o resumen de la alerta de origen. | "Suspicious Login Attempt" |
Envío de datos de eventos sin procesar: el array EventsList
Debes enviar la carga útil de JSON sin procesar que representa los eventos tal como provienen del sistema de origen dentro del array EventsList. Este objeto es un elemento del array EventsList. Luego, asignas campos como source_ip y timestamp con la IU de asignación de datos.
Ejemplo de objeto de evento en el array 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 tiempo Unix para todos los campos
StartTimeyEndTimeen el nivel superior (como un número entero). En los datos de eventos, proporciona las marcas de tiempo tal como están en la fuente. Las convertirás 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.
- Array
EventsList: Este array es fundamental. Incluso si la alerta representa un solo evento, debe estar unida en el arrayEventsList. - IU de asignación de datos: Usa la herramienta de asignación de datos en la IU de configuración de webhook para asignar campos de tu JSON sin procesar a los campos de Google Security Operations SOAR adecuados.
- Unicidad:
DisplayIddebe ser único para cada alerta nueva para evitar la desduplicación.TicketIddebe ser único si no se proporcionaDisplayId. - Estado de la respuesta: Una respuesta
HTTP 200 OKdel extremo de transferencia 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 las reglas de filtrado. Puedes hacer un seguimiento del estado del procesamiento posterior con la función Recopilar registros de la plataforma de SOAR. - Pruebas: Usa las pestañas Subir muestra de JSON y Pruebas de la página Configuración de webhook en SOAR para validar la estructura y las asignaciones de la 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 de webhook.
- Sube un archivo JSON con los datos pertinentes.
- Haz clic en Ejecutar. Los resultados se muestran junto con el resultado.
Configura la plataforma de CrowdStrike
Este caso de uso te guiará por los pasos en CrowdStrike para que el webhook comience a transferir 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 de 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 Nueva detección, 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 al 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.