Configura un webhook de SOAR
Los webhooks son una solución liviana para transferir alertas de tu organización a la plataforma de Google Security Operations SOAR.
Las alertas incorporadas a través de webhooks aparecen en la plataforma con la misma información que las alertas incorporadas a través de conectores.
Google recomienda usar un conector o un webhook de la misma fuente, pero no ambos, para evitar crear casos duplicados.
Los webhooks son ideales para situaciones que requieren lógica de asignación básica, mientras que los conectores son mejores para la asignación avanzada y flexible.
Configura un webhook para transferir alertas
Para configurar un webhook que ingiera alertas, sigue estos pasos:
- Ve a Configuración de SOAR > Ingestión > Webhooks.
- Haz clic en Agregar 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 adelante. Debes ingresarla en la plataforma de origen como destino del webhook.
Datos del mapa
Después de subir un ejemplo de JSON, puedes usar la sección Asignación de datos para asignar campos de tu JSON fuente 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 compilador 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 Cómo usar 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 JSON del webhook debe contener los campos obligatorios para la creación de casos y la transferencia de alertas. Para obtener más detalles, consulta Cómo comprender 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 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 Data mapping se basan en la ontología del sistema interno. Las categorías principales incluyen las siguientes:
- Campos de entidades: Usa estos campos para los puntos de datos a partir de los cuales el sistema puede extraer y modelar automáticamente entidades, 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: Usa estos campos 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 del dispositivo: Usa estos campos para los detalles técnicos sobre la fuente del evento, como el proveedor y el producto del dispositivo de informes (
DeviceVendor,DeviceProduct), la gravedad del evento y otros atributos técnicos similares.
Explora los campos disponibles en la herramienta Data mapping de la IU de SOAR de Google Security Operations para encontrar el campo de destino más adecuado para cada fragmento de datos en tu carga útil JSON.
Información sobre el esquema JSON del webhook
Para asegurarte de que Google Security Operations SOAR ingiera y procese tus alertas correctamente, la carga útil JSON de tu webhook debe seguir una estructura específica. En las siguientes tablas, se detallan los principales campos que se esperan en la carga útil de JSON.
Principales campos 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í | Nombre del sistema externo (por ejemplo, SIEM o un sistema de detección y respuesta de endpoints [EDR]) que envió las alertas originales a SOAR. | "Splunk" |
Name |
String | Texto | Sí | Es el título o nombre del caso, que a menudo se toma del tipo o resumen de la alerta fuente. | "Suspicious Login Attempt" |
DeviceVendor |
String | Texto | Sí | Es el proveedor del dispositivo o producto que generó la alerta. Esto también se puede asignar desde los datos del evento. | "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 época 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 la configuración de SOAR. | "Default Environment" |
Description |
String | Texto | No | Es 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 desde los datos del evento. | "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 época 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 | Es un array de objetos JSON. | No | Es un array que contiene uno o más objetos de eventos sin procesar tal como se reciben de la fuente. Consulta Cómo enviar datos de eventos sin procesar. | [ { ... }, { ... } ] |
EventProduct |
String | Texto | No | Producto que creó los eventos. | "Cortex XDR" |
EventName |
String | Texto | No | Es el título o nombre del evento, que a menudo se toma del tipo o resumen de la alerta fuente. | "Suspicious Login Attempt" |
Envío de datos de eventos sin procesar: el array EventsList
Debes enviar la carga útil JSON sin procesar que representa los eventos a medida que provienen del sistema fuente dentro del array EventsList. Este objeto es un elemento del array EventsList. Luego, asignas campos como source_ip y timestamp con la IU de Data mapping.
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 y prácticas recomendadas clave
- Marcas de tiempo: Usa milisegundos de época Unix para todos los campos
StartTimeyEndTimeen el nivel superior (como un número entero). En los datos del evento, proporciona las marcas de tiempo tal como se encuentran 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 JSON.
- Array
EventsList: Este array es fundamental. Incluso si la alerta representa un solo evento, debe incluirse 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 adecuados de SOAR de Google Security Operations.
- Unicidad:
DisplayIddebe ser único para cada alerta nueva para evitar la eliminación de duplicados.TicketIddebe ser único si no se proporcionaDisplayId. - Pruebas: Usa las pestañas Cargar muestra de JSON y Pruebas en la página Configuración de webhook de 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 Testing, 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 de CrowdStrike
En este caso de uso, se explican los pasos que debes seguir 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 de 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 Workflows.
- 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, luego, 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.