¿Qué es una llamada de la API?

Una llamada a la API, o solicitud API, permite a una aplicación solicitar datos o servicios de otra aplicación. La mayoría de las aplicaciones web realizan regularmente llamadas a la API.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir llamada a la API
  • Entender cómo se utilizan las llamadas a la API
  • Más información sobre cómo los atacantes pueden utilizar las llamadas a la API

Contenido relacionado


¿Quieres saber más?

Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar enlace del artículo

¿Qué es una llamada de la API?

Las Interfaces de programación de aplicaciones (API) son una manera de que un programa interactúe con otro. Las llamadas a la API son el medio por el que interactúan. Una llamada a la API, o solicitud a la API, es un mensaje enviado a un servidor para pedir a la API que proporcione un servicio o información.

Si Jan ha invitado a mucha gente a cenar, puede llamar a una empresa de catering y pedirles que preparen la comida para la fiesta. Esto le puede suponer un ahorro importante en tiempo y esfuerzo ya que no tiene que preparar la comida. De forma similar, una aplicación puede "llamar a" a otra para obtener los datos o las funcionalidades necesarios. Esto hace que los desarrolladores no tengan que dedicar tiempo y esfuerzo a crear capacidades de la aplicación que puedan integrarse a través de la API.

Ya que en la actualidad las API están integradas en casi todas las aplicaciones web, las llamadas a las API tienen lugar de manera interna todo el tiempo. Supongamos que alguien busca billetes de autobús en un sitio web de viajes. El sitio web de viajes envía una llamada a la API a los servidores de las distintas empresas de autobuses y recibe información sobre los viajes disponibles y el coste. Desde la perspectiva del usuario, este proceso debería ser casi instantáneo.

¿Dónde va una llamada a la API?

Las llamadas a la API viajan desde un cliente a un punto final de la API. Los puntos finales de la API son los lugares a los que se dirigen las llamadas de la API, la mayoría de las veces una aplicación web y un servidor. Por ejemplo, un cliente móvil genera una llamada a la API que va al punto final de la API, un servidor. El servidor recibe la llamada a la API, la procesa, ejecuta la petición y envía una respuesta.

Cuando Jan (la de la analogía anterior) llama a la empresa de catering, lo hace marcando un número de teléfono. De forma similar, las llamadas a la API se dirigen a un identificador de recursos uniformes (URI).

Un URI es una forma estandarizada de identificar un recurso, de la misma forma que un número de teléfono identifica una línea telefónica. El recurso identificado puede ser un sitio web, una aplicación, un servidor, un contacto de correo electrónico o incluso un elemento del mundo real.

Para las API web, lo habitual es que el URI sea un localizador de recursos uniformes (URL). Un URL es un tipo de URI que sirve para identificar ubicaciones de Internet, como un sitio web o un servidor. Un URL tiene que incluir el protocolo de la capa de aplicación, como HTTP, utilizado para llegar a ella. Las direcciones de las páginas web se escriben como URL, como "https://www.cloudflare.com/learning." Los puntos finales de la API también son URL.

La mayoría de las API web utilizan HTTP, por lo que se incluye en la URL del punto final de la API. Por ejemplo, el punto final de la API básico de Cloudflare es " https://api.cloudflare.com/client/v4/" (más información). Las llamadas a la API basadas en HTTP utilizan verbos HTTP (tipos de solicitudes) como GET, POST y PUT para indicar qué servicio o recurso necesitan del punto final de la API.

¿Cómo pueden utilizarse las llamadas a la API para un ataque?

Como todo lo que está expuesto a Internet, las API son vulnerables a ataques de diversas fuentes. Los atacantes pueden utilizar llamadas a la API de varias formas para atacar una API, entre las que se incluyen:

  • Ataques de denegación de servicio (DoS) y de denegación de servicio distribuido (DDoS): este tipo de ataque niega el servicio a otros usuarios de la API. Los atacantes pueden inundar una API con llamadas a la misma, o estructurar sus llamadas a la API de tal forman que sobrecarguen el servidor durante mucho tiempo.
  • Aprovechamiento de vulnerabilidades: los atacantes pueden intentar enviar llamadas a la API que se aprovechen de un fallo de la misma para engañar al servidor y hacer que revele datos que no debería, que actúe de una forma para la que no está diseñada o que les dé acceso no autorizado.

Estos ataques y otros pueden afectar de forma negativa a una organización que presta servicios de API.

Cómo proteger las API de las llamadas no válidas

Las siguientes estrategias pueden ayudar a mantener las API seguras.

  • Entender y realizar un seguimiento de los puntos finales de la API: mantener una lista actualizada de todos los puntos finales de la API en producción.
  • Verificar a los clientes de la API: la autenticación garantiza que las llamadas a la API provengan de un cliente legítimo. Hay varias formas de hacerlo, pero una de las más eficaces es el TLS mutuo, un método de autenticación en el que cada punto final de la API verifica al otro utilizando criptografía de clave pública.
  • Validar el esquema de la API: el esquema de una API es como sus reglas de uso. Si una llamada a la API no sigue el esquema, puede ser un intento malicioso de poner en riesgo a la API. La validación del esquema de la API ayuda a identificar y bloquear las llamadas inválidas a la API.
  • Usar mitigación de DDoS: un proveedor de mitigación de DDoS bloquea o absorbe las peticiones excesivas para que se sobrecargue un servidor. Cloudflare es uno de estos proveedores.

Leer más sobre Seguridad de la API. O leer sobre Cloudflare API Shield, que protege las API de una amplia gama de ataques.