Saltar al contenido principal

Resumen

Wirespeed se conecta a Cloudflare con un token de API de la cuenta para poder:
  • Ingestar registros de autenticación de Access: cada inicio de sesión permitido y denegado en una aplicación protegida por Cloudflare Access, incluidos los inicios de sesión a través de WARP
  • Ingestar registros de auditoría de la cuenta: cambios de miembros, ajustes y configuración realizados en el panel o la API de Cloudflare
  • Recibir registros DNS, HTTP y de red de Gateway, sesiones de red Zero Trust, cambios de conmutación y configuración de WARP, y eventos del firewall de zona desde Cloudflare Logpush
  • Sincronizar usuarios Zero Trust para poder orientarles en la contención
  • Revocar sesiones de Access de un usuario comprometido, incluidos sus dispositivos inscritos y su sesión WARP
Durante la beta, los eventos de Cloudflare se ingestan solo para búsqueda y correlación. Todavía no generan detecciones.

Requisitos previos

Antes de conectar Cloudflare en Wirespeed, reúna:
  • Su Account ID de Cloudflare
  • Un token de API de Cloudflare con los permisos siguientes

Crear un token de API

  1. En el panel de Cloudflare, abra Manage Account > Account API Tokens. También puede crear un token de usuario en My Profile > API Tokens.
  2. Seleccione Create Token y, a continuación, Create Custom Token.
  3. Añada estos permisos de Account:
  1. Opcional: para recopilar eventos del firewall, añada también estos permisos de Zone:
  1. En Account Resources, incluya solo la cuenta que está conectando. Si añadió permisos de zona, configure Zone Resources en All zones from an account y seleccione la misma cuenta.
  2. Cree el token y cópielo. Cloudflare muestra el token solo una vez.
Wirespeed solo necesita Edit en Access: Organizations, Identity Providers, and Groups para revocar las sesiones de Access de un usuario. La API revoke user de Cloudflare no acepta ningún permiso de solo lectura. Wirespeed no cambia los ajustes de su organización Zero Trust, los proveedores de identidad ni los grupos de Access. Si solo desea ingestar registros, omita el permiso Access: Organizations, Identity Providers, and Groups y active Solo lectura al conectar la integración. Cloudflare exige tanto Logs: Edit como Zero Trust: PII Read para gestionar trabajos Logpush de conjuntos de datos Zero Trust como Gateway. El rol Administrator de la cuenta incluye Logs: Edit, pero no Zero Trust: PII Read. Consulte los permisos de Logpush de Cloudflare. Si omite cualquiera de los dos permisos, cree usted mismo los trabajos Logpush como se describe en Configurar Logpush manualmente. Consulte la referencia de permisos de tokens de API de Cloudflare para más detalles.

Encontrar su Account ID

Abra la cuenta en el panel de Cloudflare. El Account ID de 32 caracteres aparece en la página de inicio de la cuenta y en la URL del panel (https://dash.cloudflare.com/<account-id>/...).

Conectar Cloudflare en Wirespeed

  1. En Wirespeed, vaya a Integraciones > Añadir integración.
  2. Seleccione Cloudflare Zero Trust.
  3. Introduzca su Account ID y su token de API.
  4. Opcional: en las opciones avanzadas, active Solo lectura para impedir la revocación de sesiones.
  5. Guarde la integración.

Validación

Al guardar la integración, Wirespeed solicita una entrada del registro de autenticación de Access. La integración no se conecta si el token no es válido, pertenece a otra cuenta o carece de Access: Audit Logs Read. Tras habilitar la integración, Wirespeed comprueba cada permiso de registros y muestra el resultado en la página de la integración: El permiso de revocación de sesiones no se puede comprobar sin revocar a un usuario. Si falta, la revocación falla y el error aparece en los registros de la integración.

Recopilación de registros

Wirespeed consulta los registros de autenticación de Access y de auditoría de la cuenta según una programación y guarda su posición tras cada página, de modo que un reinicio o una interrupción reanuda donde se detuvo la recopilación en lugar de empezar de nuevo. La primera sincronización recopila los 7 días anteriores. Cada consulta vuelve a leer los últimos 10 minutos para capturar eventos que Cloudflare indexa con retraso, y omite los eventos que ya ha ingestado. Si la recopilación se detiene después de ingestarse una página pero antes de guardar su posición, esa página puede ingestarse de nuevo.

Registros Logpush

Cloudflare solo exporta los registros de Gateway, de sesión de red Zero Trust, de cambios de WARP y de eventos del firewall a través de Logpush. Wirespeed los recibe desde un destino HTTP de Logpush: un trabajo Logpush por conjunto de datos envía a la URL de webhook de su integración. Los eventos del firewall pertenecen a una zona y no a la cuenta, por lo que necesitan un trabajo por zona.

Configuración automática

Cuando el token de API tiene Logs: Edit y Zero Trust: PII Read, Wirespeed crea un trabajo por conjunto de datos cada vez que se habilita la integración. Se nombran wirespeed-<dataset> (por ejemplo wirespeed-gateway_dns) y usan los ajustes de Configurar Logpush manualmente.
  • Si ya existe un trabajo para esta integración, Wirespeed lo actualiza en lugar de crear un duplicado, incluido su destino, de modo que un secreto de webhook rotado surte efecto al volver a habilitar la integración.
  • Cloudflare ofrece cada conjunto de datos solo en los planes que lo incluyen. Los conjuntos de datos fuera del plan de la cuenta se omiten y su derecho Logpush permanece desactivado. Los registros de la integración enumeran qué conjuntos de datos se están enviando y cuáles no están en el plan, en una línea cada vez que se habilita la integración.
  • Si un conjunto de datos falla por otro motivo, el error aparece en los registros de la integración y los demás conjuntos de datos se configuran igualmente.
  • Si el token carece de cualquiera de los dos permisos, el derecho Configuración de Logpush muestra una advertencia y la integración se habilita sin los trabajos. Los registros de la integración nombran el permiso faltante e incluyen el error de Cloudflare. Cloudflare informa de un Zero Trust: PII Read faltante como reading job for product '<product>' is not allowed (1004).
  • Para firewall_events, Wirespeed enumera las zonas de la cuenta y crea un trabajo wirespeed-firewall_events en cada zona Enterprise. Las zonas de otros planes se omiten. La línea de resumen muestra cuántas zonas están enviando, por ejemplo firewall_events (2 of 5 zones). Las zonas añadidas más tarde se recogen la próxima vez que se habilita la integración. Si la cuenta tiene más de 1.000 zonas, la configuración automática solo crea trabajos en las primeras 1.000; cree manualmente los trabajos de las zonas restantes.
  • Deshabilitar o eliminar la integración elimina los trabajos wirespeed-* cuyo destino es esta integración. Wirespeed nunca cambia ni elimina otros trabajos Logpush.
Cloudflare valida cada destino cargando un archivo de prueba en Wirespeed al crear un trabajo, por lo que la API de Wirespeed debe ser accesible desde Internet.

Configurar Logpush manualmente

Use estos pasos si el token no tiene Logs: Edit y Zero Trust: PII Read, o para gestionar los trabajos usted mismo.

Obtener la URL y el secreto del webhook

  1. En Wirespeed, abra la integración Cloudflare Zero Trust y seleccione Detalles del webhook.
  2. Copie la URL del webhook Recibir registros de Logpush. Tiene este aspecto:
  3. Copie el secreto del webhook. Wirespeed rechaza las solicitudes Logpush que no lo envían como Authorization: Bearer <WEBHOOK_SECRET>.

Crear el destino

Logpush convierte cada parámetro header_* de la URL de destino en una cabecera de solicitud, y mantiene los demás parámetros en la URL. Añada dos parámetros a la URL del webhook:
  • dataset=<DATASET>, uno de los nombres de conjunto de datos de la tabla anterior, que indica a Wirespeed a qué tabla pertenecen los registros
  • header_Authorization=Bearer%20<WEBHOOK_SECRET>, que envía el secreto. Mantenga el espacio codificado en URL como %20.
Para Gateway DNS, el destination_conf es:
Cada trabajo necesita su propio destination_conf con el dataset correspondiente.

Crear los trabajos Logpush

Cree los trabajos con la API de Cloudflare usando un token que tenga los permisos de cuenta Logs: Edit (Logs Write) y Zero Trust: PII Read. El propio token de API de la integración no los necesita. Logpush valida el destino al crear el trabajo cargando un archivo de prueba, por lo que Wirespeed debe ser accesible y el secreto debe ser correcto; de lo contrario, la creación del trabajo falla.
Repita para cada conjunto de datos, cambiando name a wirespeed-<dataset>, dataset, el parámetro dataset en destination_conf y field_names.
  • max_upload_bytes: establézcalo en 5000000 (5 MB de registros sin comprimir, el lote más pequeño que permite Logpush). Wirespeed acepta entregas de hasta 5 MiB comprimidos, de modo que un lote de como máximo 5 MB sin comprimir siempre cabe. Logpush permite max_upload_bytes hasta 1 GB, pero Wirespeed rechaza entregas mayores con 413 y registra una advertencia en los registros de la integración, así que manténgalo en 5000000. Los trabajos que Wirespeed crea automáticamente ya usan este valor. Wirespeed pone en cola cada entrega tal como se recibe, aún comprimida, y la pasa completa a su canalización de registros, que la descomprime y almacena cada registro. Si esa transferencia falla, Wirespeed reintenta el lote completo, y una entrega que Cloudflare reenvía se almacena solo una vez.
  • timestamp_format: los trabajos creados a través de la API usan de forma predeterminada unixnano. Wirespeed lee todos los formatos, pero rfc3339 es más fácil de leer en la búsqueda.
  • field_names: Logpush solo envía los campos que enumera. Use las listas completas siguientes para que Wirespeed reciba todos los campos.
También puede crear los trabajos en el panel de Cloudflare: abra la página Logpush de la cuenta, seleccione Create a Logpush job, elija HTTP destination y pegue el destination_conf como endpoint. Seleccione todos los campos del conjunto de datos. El panel no establece max_upload_bytes, así que configúrelo después con la API update job. Esa llamada reemplaza output_options por completo, así que inclúyalos de nuevo.
Listas de campos
Copie la lista de cada trabajo en output_options.field_names. Se omiten los campos en desuso.
gateway_dns
gateway_http
gateway_network
zero_trust_network_sessions
warp_toggle_changes
warp_config_changes
firewall_events
Consulte las referencias de Cloudflare sobre destino HTTP, opciones de salida y campos de conjuntos de datos para más detalles.

Sincronización de usuarios

Wirespeed sincroniza sus usuarios Zero Trust desde la API de users de Cloudflare para que aparezcan como usuarios del directorio y puedan ser objetivos de Revocar sesiones de Access. La sincronización usa el permiso Access: Audit Logs Read y no necesita nada más. Cloudflare añade un usuario a esta lista la primera vez que se autentica, iniciando sesión en una aplicación de Access o conectando un dispositivo WARP. Los usuarios que existen en su proveedor de identidad, incluidos los aprovisionados con SCIM, pero que nunca se han autenticado no aparecen en la lista. No tienen ninguna sesión de Access o WARP que revocar. Wirespeed hace coincidir los usuarios sincronizados con la misma persona en sus otras integraciones de identidad por correo electrónico. Cuando un usuario también se sincroniza desde un proveedor de identidad como Okta, Wirespeed ejecuta cada acción de remediación a través de un proveedor, así que revoque las sesiones de Cloudflare del usuario desde el usuario del directorio de Cloudflare cuando también necesite terminar sus sesiones de Access y WARP.

Revocación de sesiones

Revocar sesiones de Access llama a la API revoke user de Cloudflare con el correo electrónico del usuario, y con su ID de usuario de Cloudflare cuando el usuario se sincronizó. Esto:
  • Termina todas las sesiones activas de Cloudflare Access del usuario
  • Revoca los dispositivos inscritos del usuario
  • Obliga al usuario a volver a autenticarse en WARP para las políticas de Gateway que aplican una duración de sesión WARP
Cloudflare no puede deshacer una revocación, por lo que no hay acción de liberación. El usuario puede volver a iniciar sesión en cuanto su proveedor de identidad lo permita. Para mantener fuera a un usuario comprometido, desactive también la cuenta en su proveedor de identidad.

Solución de problemas