¿Qué es la seguridad de API REST?

Las API basada en REST o API REST se utilizan ampliamente en la actualidad, pero su popularidad las convierte en el objetivo principal de los ciberataques. Proteger las API REST es esencial para proteger la información confidencial y garantizar la fiabilidad de las aplicaciones web. Esta guía explora diversas medidas de seguridad, como el cifrado, el control de acceso, la limitación de velocidad y la supervisión de API, para ayudar a proteger las API REST y mitigar las vulnerabilidades.

Por varios motivo, proteger las API REST es una tarea fundamental para los profesionales de la ciberseguridad empresarial. Dado que las API exponen las aplicaciones y los datos confidenciales al acceso externo, son el objetivo favorito de los agentes maliciosos que causan filtraciones de datos. Naturalmente, las organizaciones deben invertir en herramientas de seguridad de API para proteger sus API REST. La seguridad de API comprende una serie de contramedidas que incluyen cifrado, limitación de velocidad, tokens de acceso y mucho más. Analizaremos estos controles de seguridad y cómo pueden mejorar la seguridad de las API REST.

¿Qué es una API basada en REST?

El estilo arquitectónico REST se definió en la tesis del Dr. Roy Fielding publicada en 2000. El objetivo de este trabajo era definir un enfoque arquitectónico uniforme y coherente para la comunicación máquina a máquina en la web. Una API REST es una API que utiliza el estilo arquitectónico REST (transferencia de estado representacional o REpresentational State Transfer) para enviar y recibir llamadas de datos y procedimientos. Una API REST también necesita un protocolo de transporte y un lenguaje de programación para funcionar. Las API REST se comunican a través del protocolo de transferencia de hipertexto (HTTP) y el formato de datos preferido para los mensajes transmitidos es la notación de objetos de JavaScript (JSON). Por lo tanto, el término "API" casi siempre se refiere a una API REST que utiliza JSON a través de HTTP.

La API REST se convirtió en la modalidad predominante de API por varias razones. Por un lado, es gratuita y se basa en estándares, por lo que casi no hay barreras para su adopción. La programación RESTful también es "sin estado", lo que facilita su gestión. Una interfaz RESTful es uniforme. Los parámetros de consulta están estandarizados. Como resultado, para una entidad que crea una API es bastante sencillo publicar instrucciones con el fin de que los desarrolladores las utilicen al invocar la API. Por ejemplo, aquí mostramos cómo obtener datos de la API, que se devolverán en JSON. También son posibles otros tipos de respuestas, como lenguaje de marcado extensible (XML), documentos e imágenes.

Prácticas recomendadas para proteger sus API REST

Sin las protecciones adecuadas, las API REST representan una amplia superficie de ataque vulnerable. Aunque anteriormente las organizaciones podían confiar en la "seguridad a través de la oscuridad", en la que los hackers tendrían que trabajar duro para encontrar datos dentro de una red con una API, la organización publica literalmente instrucciones sobre cómo encontrar los datos y robarlos.

Las prácticas de seguridad de API REST han madurado. Entre las contramedidas más eficaces se incluyen las siguientes:

Detección de las API

Es habitual tener API que nadie conoce. La mayoría de las organizaciones tienen poca o ninguna visibilidad sobre un gran porcentaje de su tráfico de API, a menudo porque asumen que todas sus API se enrutan a través de una puerta de enlace de API. Sin embargo, este no es el caso. Sin un inventario completo y preciso, su empresa está expuesta a toda una serie de riesgos. Capacidades principales necesarias:

  • Localización y realización de un inventario de todas sus API, independientemente de cuál sea su configuración o tipo.
  • Detección de las API inactivas, heredadas y zombis.
  • Identificación de los dominios ocultos olvidados, descuidados o desconocidos.
  • Eliminación de los puntos ciegos y descubrimiento de posibles rutas de ataque.

Gestión de la estrategia de las API

Con un inventario completo de las API, es fundamental conocer qué tipos de datos se transmiten a través de las API y cómo afecta esto a su capacidad para cumplir los requisitos normativos. La gestión de la estrategia de API proporciona una visión completa del tráfico, el código y las configuraciones para evaluar el nivel de seguridad de sus API. Capacidades principales necesarias:

  • Análisis automático de la infraestructura para detectar errores de configuración y riesgos ocultos.
  • Creación de flujos de trabajo personalizados para informar acerca de las vulnerabilidades a los principales interesados.
  • Identificación de las API y los usuarios internos que pueden acceder a los datos confidenciales.
  • Clasificación de los problemas detectados en función de la gravedad para priorizar la corrección de los más críticos.

Seguridad en tiempo de ejecución de las API

Sin duda, ya conoce el concepto de "asumir que se va a producir una filtración". Las filtraciones y los ataques específicos de las API están alcanzando el mismo grado de inevitabilidad. Para todas las API activas en fase de producción, debe ser capaz de detectar y bloquear los ataques en tiempo real. Capacidades principales necesarias:

  • Supervisión de la manipulación y filtración de datos, las infracciones de políticas, el comportamiento sospechoso y los ataques a las API.
  • Análisis del tráfico de las API sin necesidad de realizar cambios adicionales en la red ni implementar agentes difíciles de instalar.
  • Integración de los flujos de trabajo existentes (incidencias, gestión de información y eventos de seguridad [SIEM], etc.) para alertar a los equipos de seguridad y operaciones.
  • Prevención de los ataques y del uso indebido de los datos en tiempo real con el proceso de corrección parcial o completamente automatizado.

Prueba de seguridad de API

Los equipos de desarrollo de las API se ven sometidos a la presión de trabajar con la mayor rapidez posible. La velocidad es esencial para todas las aplicaciones desarrolladas, lo que facilita que se produzca una vulnerabilidad o un defecto de diseño y que, posteriormente, no se detecte. Probar las API durante el desarrollo antes de que se envíen a la fase de producción reduce en gran medida tanto el riesgo como el coste de corregir una API vulnerable. Capacidades principales necesarias:

  • Ejecución de una amplia variedad de pruebas automatizadas que simulan tráfico malicioso.
  • Detección de las vulnerabilidades antes de poner las API en funcionamiento, lo que reduce el riesgo de que un ataque logre su objetivo.
  • Análisis de las especificaciones de sus API con respecto a las políticas y normativas de control establecidas.
  • Realización de pruebas de seguridad bajo demanda dirigidas a las API o como parte de un proceso de integración e implementación continuas (CI/CD).

Este enfoque integral funciona como un complemento de las capacidades de protección de API existentes de una empresa, entre las que se incluyen:

Canal seguro

  • El canal de comunicación para las llamadas y respuestas de API debe ser seguro. Una práctica recomendada es utilizar la seguridad de la capa de transporte (TLS), que solía conocerse como capa de sockets seguros (SSL). Un certificado TLS utiliza cifrado integral para proteger los datos de API y las credenciales de acceso mientras están en tránsito. La TLS protege su información enviada a través de su API mediante el cifrado de todos los mensajes enviados a través de esa API.
  • Si su URL comienza por https en lugar de por http, sabrá que su sitio web admite TLS. Sin TLS, un atacante puede interceptar información del servidor de tránsito y acceder a ella sin permiso. Todos los métodos de autenticación se ven socavados por ello. La TLS requiere certificados de las entidades de certificación que informen al usuario de que su API es legal y está protegida.

Claves de API

Las claves de API son cadenas únicas que funcionan como credenciales de acceso a API. Se utilizan para la autenticación de clientes que llaman a la API.

Tokens

  • Los tokens de API son identificadores digitales únicos que autentican a los usuarios de API. Los tokens permiten evitar procesos de autenticación complicados, como la verificación en dos pasos y el inicio de sesión único (SSO). Los administradores pueden conceder y revocar tokens de API a los usuarios, lo que proporciona control sobre el acceso a las API.
  • Los tokens suele emitirlos el servidor que aloja la API para su uso por las aplicaciones del lado del cliente. El mecanismo de token difiere de la gestión de sesiones basada en cookies en que normalmente es sin estado. No es necesario que el servidor almacene detalles de la sesión, lo que facilita la escalabilidad de la infraestructura que utiliza API.

OAuth 2

Se trata de un mecanismo de autenticación seguro basado en estándares que se basa en tokens. Funciona para la autenticación y autorización de usuarios de API.

JSON Web Token (JWT)

La autenticación de API es una barrera crítica para mantener a raya a los agentes maliciosos y las amenazas. Un JWT es un token de autenticación firmado digitalmente que contiene datos sobre el usuario de API en JSON. La ventaja de un JWT es que puede contener más datos que una clave de API.

Limitación de velocidad

  • Las API son objetivo de ataques distribuidos de denegación de servicio (DDoS). Un atacante puede inundar una API con solicitudes y provocar que se bloquee. Para evitar que esto ocurra, una herramienta de seguridad de API puede implementar la limitación de velocidad, por ejemplo, cortando el acceso si un cliente intenta invocar la API con demasiada frecuencia en un periodo de tiempo determinado.

Integración con IAM

  • Es posible establecer identidades de usuario para clientes de API integrando la gestión de API con sistemas de gestión de acceso e identidades (IAM). De esta forma, un administrador puede obtener el control sobre quién tiene permiso para utilizar una API, lo que evita el acceso no autorizado.

Validación de entradas de consulta basadas en parámetros

  • Los hackers pueden intentar engañar a una API modificando los datos de solicitud JSON y los parámetros de URL. Al validar estas entradas basadas en parámetros, es posible detener este tipo de ataque antes de que comience.

Lista de métodos HTTP permitidos

Esta contramedida establece una lista de métodos HTTP permitidos para la API, por ejemplo, POST, GET, PUT. De forma predeterminada, este control bloquea los métodos que no debería permitir un usuario de API pública, como DELETE.

Supervisión de API

  • Es fundamental realizar un seguimiento del uso y el rendimiento de las API, idealmente en tiempo real. Al supervisar las API, los administradores pueden señalar comportamientos anómalos que podrían indicar un ataque en marcha. Esto puede incluir el registro de solicitudes fallidas y la búsqueda de patrones sospechosos.

Protección y seguridad de terminales

Dado el papel fundamental de los terminales de API en la arquitectura de API REST, la protección de los terminales resulta primordial. La implementación de soluciones de seguridad de terminales garantiza que cada terminal esté protegido contra el acceso no autorizado y las actividades maliciosas. Esto incluye el uso de puertas de enlace de API para gestionar y proteger el tráfico de API, aplicar políticas y proporcionar un punto de control de acceso centralizado.

Proteger las aplicaciones web

Proteger las API REST es fundamental para proteger las aplicaciones web. Las API REST suelen actuar como columna vertebral de las aplicaciones web, lo que permite la comunicación entre el cliente y los servidores back-end. La implementación de medidas de seguridad, como el control de aplicaciones y el control de acceso, ayuda a proteger tanto las API como las aplicaciones web compatibles.

Preguntas frecuentes

Las puertas de enlace de API desempeñan un papel crucial en la seguridad de API REST, ya que actúan como un único punto de entrada para las solicitudes de API. Aplican políticas de seguridad, gestionan el tráfico y garantizan que solo los usuarios autorizados puedan acceder a los terminales de API. Las puertas de enlace de API también ayudan a mitigar los riesgos de seguridad al proporcionar funciones como la limitación de velocidad, la autenticación y el cifrado de datos.

La validación de las entradas de consulta es esencial para evitar vulnerabilidades de seguridad, como la inyección SQL y otros ataques de inyección. Al garantizar que todas las entradas se validan correctamente, las organizaciones pueden proteger sus API de actividades maliciosas que explotan datos no validados.

OAuth 2 proporciona un método seguro y estandarizado para autenticar a los usuarios y autorizar el acceso a los recursos de API. Permite la autenticación basada en token, lo que simplifica el proceso para los usuarios, al tiempo que garantiza que solo las personas autorizadas puedan acceder a información confidencial. OAuth 2 también admite la integración con proveedores de autenticación de terceros, lo que mejora la seguridad general.

La supervisión de API permite a las organizaciones llevar un seguimiento del uso de API y detectar comportamientos inusuales en tiempo real. Al analizar las solicitudes, las respuestas y los patrones de tráfico de API, los administradores pueden identificar posibles amenazas de seguridad, como intentos de acceso no autorizados o uso indebido de API. Este enfoque proactivo ayuda a mitigar los riesgos antes de que se conviertan en ataques de gran magnitud.

Por qué los clientes eligen Akamai

Akamai es la empresa de ciberseguridad y cloud computing que potencia y protege los negocios online. Nuestras soluciones de seguridad líderes en el mercado, nuestra inteligencia ante amenazas consolidada y nuestro equipo de operaciones globales proporcionan una defensa en profundidad para proteger los datos y las aplicaciones empresariales. Las soluciones integrales de cloud computing de Akamai garantizan el rendimiento y una buena relación calidad-precio en la plataforma más distribuida del mundo. Las grandes empresas confían en Akamai, ya que les ofrece una fiabilidad, una escalabilidad y una experiencia inigualables en el sector, idóneas para crecer con seguridad.

Descubra todas las soluciones de seguridad de Akamai