Configura un webhook de SOAR

Compatible con:

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:

  1. Ve a Configuración > Administración de datos > Webhooks de SOAR.
  2. Haz clic en add Agregar webhook entrante.
  3. Ingresa un nombre para el webhook nuevo y elige un entorno.
  4. Haz clic en Guardar. Después de guardar, el webhook nuevo aparecerá en la página principal.
  5. 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.

  1. 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.
  2. 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, como Detections.Last.Update.
  3. 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.
  4. 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.
  5. 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.
  6. 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í
  • Es un identificador único global (GUID) interno para un caso dentro de la plataforma de SOAR.
  • El requisito de unicidad de TicketId es condicional y depende de DisplayId:
    • Si se proporciona un DisplayId único, no es necesario que el TicketId sea único.
    • Si no se proporciona DisplayId, el TicketId debe ser único.
  • El TicketId suele tener el mismo valor que el DisplayId.
"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
  • Es un identificador que se usa para mostrar información en la IU de SOAR.
  • Este campo es la clave primaria que el sistema verifica para detectar alertas duplicadas.
  • Una alerta se rechaza como duplicada si el DisplayId no es único. Esta verificación de unicidad en DisplayId tiene prioridad sobre TicketId.
  • El DisplayId suele tener el mismo valor que el TicketId.
"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 StartTime y EndTime en 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 array EventsList.
  • 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: DisplayId debe ser único para cada alerta nueva para evitar la desduplicación. TicketId debe ser único si no se proporciona DisplayId.
  • Estado de la respuesta: Una respuesta HTTP 200 OK del 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.

  1. En la pestaña Pruebas, copia la URL de webhook.
  2. Sube un archivo JSON con los datos pertinentes.
  3. 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.

  1. En el panel de CrowdStrike Falcon, ve a Falcon store y, luego, instala el complemento Webhooks.
  2. 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.
  3. Ve a la sección Flujos de trabajo.
  4. Haz clic en Crear un flujo de trabajo.
  5. Selecciona un activador, como Nueva detección, y haz clic en Siguiente.
  6. Selecciona Agregar acción.
  7. 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.
  8. 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.