Announcing the Cloudflare API Gateway

En la última década, Internet ha experimentado una profunda transformación. Antes estaba formado por sitios web estáticos con texto, imágenes y algún vídeo integrado, pero ha crecido de forma masiva. Ahora dependemos de aplicaciones basadas en las API para ayudarnos en casi todos los aspectos de la vida. Ya no solo nos limitamos a descargar archivos, ahora podemos interactuar con las aplicaciones mediante el intercambio de datos enriquecidos. Monitorizamos nuestros entrenamientos y enviamos los resultados a la nube, utilizamos bloqueos inteligentes y todo tipo de dispositivos IoT, e interactuamos con nuestros amigos en línea.

Todo esto es maravilloso, pero entraña una enorme complejidad en el lado del back-end. ¿Por qué? Los desarrolladores tienen que gestionar las API para dar soporte a esta funcionalidad. Tienen que supervisar y autenticar cada una de las solicitudes. Además, como estas tareas son tan difíciles, se suele subcontratar a un proveedor de soluciones de puertas de enlace de la API.

Lamentablemente, las puertas de enlace actuales dejan mucho que desear. No son baratas, afectan al rendimiento, y, por último, conllevan cierto riesgo para los datos y la privacidad, ya que más del 50 % del tráfico llega a las API (y supuestamente se envía a través de una puerta de enlace de terceros). ¡Un lío!

Hoy anunciamos Cloudflare API Gateway. Sustituimos por completo tu actual puerta de enlace a un coste mínimo. Nuestra solución utiliza la tecnología detrás de Workers, Gestión de bots, Access, y Reglas de transformación para ofrecer el conjunto de herramientas de API más avanzado del mercado.

¿Qué es API Gateway?

En pocas palabras, es un paquete de funciones que lo hará todo por tus API. Se divide en tres categorías:

Seguridad
Son productos de los que ya hemos hablado en el blog. Herramientas como Detección, Validación de esquemas, Detección de abusos, entre otras. Hemos pasado mucho tiempo aplicando nuestra experiencia en seguridad al mundo de las API.

Gestión y supervisión
Son herramientas fundamentales que mantienen tus API en orden. Algunos ejemplos son el análisis, el enrutamiento y la autenticación. Ya somos capaces de hacer estas cosas con productos como Cloudflare Access y hay más funciones en camino.

Todo lo demás
Son elementos pequeños (pero cruciales) que hacen que todo funcione. Cloudflare ya ofrece servicios de terminación SSL/TLS, equilibrio de carga y proxy que se pueden ejecutar por defecto.

Esta publicación del blog describe cada función en detalle. Nos complace anunciar que todas las funciones de seguridad están ya disponibles de forma general, así que vamos a empezar hablando de ellas.

Detección

Nuestros clientes desean proteger sus API. Por desgracia, no siempre tienen estos puntos finales documentados, o peor aún, creen que todo está documentado, pero han perdido o modificado los puntos finales sin saberlo. Estos puntos finales ocultos se denominan a veces Shadow API (API de sombra).Tenemos que empezar nuestro recorrido explicando de forma exhaustiva (y precisa) la superficie de las API.

Ahí es donde entra en juego nuestra herramienta Detección. Ve al panel de control de Cloudflare, selecciona la pestaña Seguridad y elige "API Shield". Activa la función y dinos cómo quieres identificar tu tráfico de API. La mayoría de los usuarios proporcionan un encabezado (disponible hoy), pero también podemos utilizar el cuerpo de la solicitud o la cookie (disponible próximamente).

The Cloudflare API Shield tab, showing various endpoints that have been discovered and a set of recommended rate limiting thresholds.
Pestaña de Cloudflare API Shield, que muestra varios puntos finales que se han detectado y un conjunto de umbrales de limitación de velocidad recomendados

Proporcionamos una lista exhaustiva de tus puntos finales de la API. Cloudflare enumera cada método, ruta y metadatos adicionales para ayudarte a entender tu superficie. Incluso contraemos los puntos finales que incluyen variables (p. ej. /cuenta/217) para que sean de aplicación general (por ejemplo, /cuenta/{var1}).

Nuestra herramienta Detección es una medida eficaz para contrarrestar la entropía. Nuestros clientes a menudo esperan encontrar 30 puntos finales, pero se sorprenden al saber que tienen más de 100 activos.

Validación de esquemas

Tal vez ya tienes un esquema para tus puntos finales de la API. Un esquema es como una plantilla, proporciona las rutas, los métodos y los datos adicionales que esperas que incluyan las solicitudes de la API. Muchos desarrolladores siguen el estándar OpenAPI para generar (y mantener) un esquema.

Para reforzar tu seguridad, podemos validar el tráfico entrante cotejándolo con este esquema. Es una buena manera de detener los ataques básicos. Cloudflare rechazará las solicitudes no conformes, descartando el tráfico sin sentido que ignora las normas. Simplemente carga tu esquema en el panel de control, selecciona las acciones que deseas realizar e implementa:

A step in the schema upload process, after a schema has already been provided. Cloudflare lists out each endpoint with path, query, header, cookies, and body provided as metadata.
Paso en el proceso de carga de esquemas después de que se haya proporcionado un esquema. Cloudflare enumera cada punto final con la ruta, la consulta, el encabezado, las cookies y el cuerpo proporcionados como metadatos

La validación de esquemas ya ha examinado el tráfico de algunos de los mayores sitios de criptografía, servicios de entrega y plataformas de pago del mundo. Ya está disponible, y en breve añadiremos la validación del cuerpo.

Detección de abusos

Un enfoque de seguridad eficaz utilizará la Validación de esquemas y la Detección en conjunto para garantizar que el tráfico coincide con el formato esperado. Pero, ¿qué ocurre con el tráfico abusivo que consigue pasar?

Cuando descubrimos nuevos puntos finales de la API, sugerimos límites de velocidad para cada uno de ellos. Esa es la función de la detección de abusos, y abre la puerta a un tipo de seguridad más sofisticado.

Considera un punto final de la API que devuelve pronósticos meteorológicos. En concreto, el punto final devolverá "sí" si es probable que nieve en la próxima hora, y "no" en caso contrario. Nuestro algoritmo podría detectar que el usuario medio solicita estos datos una vez cada 10 minutos. Sin embargo, un pequeño grupo de usuarios realiza 37 solicitudes cada 10 minutos. Cloudflare recomienda automáticamente un umbral intermedio, ponderado, para dar un respiro a los usuarios normales. Se evitaría así que servicios abusivos de apropiación accedan al tiempo con demasiada frecuencia.

Ofrecemos la opción de crear una regla utilizando nuestro nuevo motor de Limitación de velocidad avanzada. Puedes utilizar cookies, encabezados y otros elementos para ajustar los umbrales. Llevamos meses utilizando la detección de abusos para proteger api.cloudflare.com.

Lo que más nos gusta de esta función es el enfoque de aprendizaje automático que utilizamos para Gestión de bots. Otra forma de que nuestros productos interactúen (y se beneficien) entre sí.

Nuestra solución Detección de abusos ya está disponible. Si te interesa la Detección de abusos secuencial que utilizamos para señalar los flujos de solicitudes anómalos, consulta nuestra publicación anterior. Ya está disponible el acceso anticipado de la parte secuencial y seguimos ajustándola antes de su lanzamiento oficial.

mTLS

El TLS mutuo lleva la seguridad a un nuevo nivel. Puedes utilizar certificados para validar el tráfico entrante cuando llega a tus API, lo que resulta especialmente útil para los dispositivos móviles y de IoT. Además, se trata de un excelente modelo de seguridad positiva que se puede (y debe) adoptar para la mayoría de los ecosistemas de dispositivos.

Como ejemplo, volvamos a nuestra API meteorológica. Quizá este servicio incluye un segundo punto final que recibe la temperatura actual de un termómetro. Pero hay un problema. Cualquiera puede hacer solicitudes falsas, proporcionando lecturas inexactas al punto final. Para evitarlo, utiliza mTLS para instalar un certificado de cliente en el termómetro legítimo, y luego deja que Cloudflare valide ese certificado. Cualquier otra solicitud será rechazada. ¡Problema resuelto!

Ya ofrecemos un conjunto de certificados gratuitos a todos los clientes de Cloudflare y seguirá siendo así. Sin embargo, a partir de hoy, los clientes de API Gateway obtienen certificados ilimitados por defecto.

Autenticación

Muchas API modernas requieren autenticación. De hecho, la autenticación desbloquea todo tipo de capacidades. Permite las sesiones (con inicio de sesión), el intercambio de datos personales y la eficiencia de la infraestructura. Y, por supuesto, Cloudflare protege el tráfico autenticado cuando pasa por nuestra red.

Sin embargo, con API Gateway, Cloudflare desempeña un papel más activo en la autenticación del tráfico, ayudando a emitir y validar:

  • Claves de API
  • Tokens web JSON (JWT)
  • Tokens OAuth 2.0

El uso de listas de control de acceso, nos permite ayudarte a gestionar diferentes grupos de usuarios con distintos permisos. Y esto es importante porque tu proveedor actual añade una latencia elevada e intercambio de datos innecesarios. Si una solicitud tiene que ir a algún lugar fuera del ecosistema de Cloudflare, está viajando más lejos de lo necesario:

Additional latency incurred by sending requests out of the Cloudflare network for authentication.
Latencia adicional que se produce al enviar solicitudes fuera de la red de Cloudflare para la autenticación

Cloudflare puede autenticar en nuestra red global y gestionar las solicitudes en una pequeña fracción del tiempo. Este tipo de tecnología es difícil de implementar, pero pensamos que era demasiado importante como para ignorarla. ¿Cómo lo desarrollamos tan rápidamente? Cloudflare Access. Adquirimos nuestra experiencia trabajando con proveedores de identidad y, una vez más, la trasladamos al mundo de las API. Nuestra puerta de enlace incluye autenticación ilimitada e intercambio de tokens. Estas funciones estarán disponibles en breve.

Enrutamiento y gestión

Hablemos brevemente de los microservicios. Las aplicaciones modernas son monstruosas, por lo que los desarrolladores las dividen en partes más pequeñas llamadas "microservicios".

Pensemos en una aplicación que nos ayude a reservar una habitación de hotel. Puedes utilizar un microservicio para obtener las fechas disponibles, otro para obtener los precios y otro para acceder a los tipos de habitación. Tal vez un equipo diferente gestione cada microservicio, pero todos deben estar disponibles desde un único punto de entrada público:

Various steps in an architecture that relies on microservices. A visitor makes a request to a hotel API, which is then routed towards available dates, prices, or room types.
Pasos en una arquitectura que se apoya en microservicios. Un visitante realiza una solicitud a la API de un hotel, que luego se enruta hacia las fechas, los precios o los tipos de habitación disponibles

Ese único punto de entrada, tradicionalmente gestionado por una puerta de enlace de API, se encarga de enrutar cada solicitud hacia el microservicio adecuado. Muchos de nuestros clientes han estado pagando servicios independientes por esto durante años, pero ya no es necesario. Hemos desarrollado nuestro producto Reglas de transformación para reescribir y reenrutar dinámicamente en nuestro perímetro. Es fácil de configurar, rápido de implementar y está integrado de forma nativa en API Gateway. Cloudflare puede ser ahora el único punto de entrada de tu API.

Eso es solo la punta del iceberg. API Gateway puede realmente reemplazar tus microservicios a través de una integración con nuestro producto Workers. ¿Cómo? Considera la posibilidad de escribir un Worker que realice alguna acción. Tal vez responder con los precios de los hoteles, que se almacenan con Durable Objects en nuestra red. Con API Gateway, las solicitudes llegan a nuestra red, se dirigen al microservicio correcto con Reglas de transformación, y luego se sirven completamente con Workers (¡todavía en nuestra red!). Estos Workers pueden ponerse en contacto con tu servidor de origen para obtener más información, cuando sea necesario.

Cloudflare’s simplified API architecture. With authentication, routing, management, and storage handled at the edge, several hops are eliminated.
Arquitectura simplificada de la API de Cloudflare. Con la autenticación, el enrutamiento, la gestión y el almacenamiento gestionados en el perímetro, se eliminan varios saltos

Los Workers son más rápidos, baratos y sencillos que las alternativas de microservicios. Esta integración estará disponible en breve.

Análisis de la API

Los clientes nos han comentado que ver el tráfico de la API es a veces más importante que actuar sobre él. De hecho, esta tendencia no es específica de las API. Hoy hemos publicado otro artículo en el blog que analiza cómo un cliente utiliza nuestros datos de bots para registrar de forma pasiva información sobre amenazas.

Con los análisis de la API, hemos recurrido a nuestros otros productos para mostrar datos útiles en tiempo real. Puedes ver los puntos finales más populares, filtrar por información basada en ML, ver histogramas de umbrales de abuso y capturar tendencias.

Los análisis de la API estarán disponibles próximamente. Además, podrás exportar informes personalizados y compartir información dentro de tu organización.

Registro, gestión de cuotas y más

Todas nuestras funciones establecidas, como el almacenamiento en caché, el equilibrio de carga y las integraciones de registros funcionan de forma nativa con API Gateway. Estas funciones no deberían pasarse por alto como funciones primitivas de la puerta de enlace. Son esenciales. Y como Cloudflare realiza todas estas funciones en el mismo lugar, conseguirás los beneficios de la latencia sin tener que hacer nada.

También estamos ampliando nuestra funcionalidad de Registros Enterprise para realizar registros en tiempo real. Si decides autenticarte en la red de Cloudflare, podrás ver registros detallados de cada usuario que haya accedido a una API. Del mismo modo, hacemos un seguimiento de la duración de cada solicitud conforme se recibe, valida, enruta y responde. Todo queda registrado.

Por último, estamos desarrollando la función Gestión de cuotas, que cuenta las solicitudes de la API durante un periodo de tiempo más largo (como un mes) y te permite gestionar los umbrales para tus usuarios. También hemos lanzado Limitación de velocidad avanzada para ayudar en casos más sofisticados (incluida la inspección del cuerpo para GraphQL).

Conclusión

Todas nuestras funciones de seguridad, Detección, Validación de esquemas, Detección de abusos y mTLS, ya están disponibles. Llamamos a estas funciones API Shield porque forman el escudo que protege el resto de las funciones de la puerta de enlace. Los clientes Enterprise pueden solicitar el acceso a sus equipos de cuenta hoy mismo.

Ya están disponibles otras partes de API Gateway como acceso anticipado. Según Gartner®, "en 2025, menos del 50 % de las API empresariales estarán gestionadas, ya que el crecimiento explosivo de las API supera las capacidades de las herramientas de gestión de las API". Nuestro objetivo es ofrecer una puerta de enlace asequible que invierta esta tendencia. Si deseas probar una función específica, coméntalo con tu equipo de cuenta para que podamos incorporarla lo antes posible.

Fuente: Gartner, "Predicts 2022: APIs Demand Improved Security and Management", Shameen Pillai, Jeremy D'Hoinne, John Santoro, Mark O'Neill, Sham Gill, 6 de diciembre de 2021. GARTNER es una marca comercial registrada y marca de servicio de Gartner, Inc. o sus filiales en los Estados Unidos e internacionalmente, y se usan aquí con permiso. Todos los derechos reservados.