Skip to main content

Guía de seguridad de API

Escrito por
feature research

25 de abril de 2023

0 minutos de lectura

WordPress impulsa más del 40 % de Internet, por lo que las noticias recientes sobre una falla de seguridad en una API expuesta resultaron aún más alarmantes.

En enero de 2022, un investigador de seguridad descubrió que más de 20,000 sitios de WordPress eran vulnerables a la inyección de código malicioso, las estafas de phishing y la toma de control de sitios debido a una API REST mal configurada en un complemento de WordPress. La API REST permitía a los usuarios actualizar las plantillas de sus sitios y cambiar la configuración, pero el endpoint de la API REST no tenía autenticación que impidiera que los atacantes la utilizaran.

Las fallas de seguridad en las API como esta no son poco comunes. Gartner predijo recientemente que los ataques a las API se convertirían en el vector de ataque más frecuente. En este artículo explicamos por qué la seguridad de las API es esencial y qué prácticas recomendadas pueden implementar las empresas para protegerlas mejor.

¿Qué es la seguridad de las API?

La seguridad de las API es una parte importante de la seguridad de las aplicaciones que se enfoca en proteger los servicios de API para prevenir filtraciones de datos o usos indebidos. Una API es una interfaz de programación de aplicaciones que permite que distintos componentes de software se comuniquen entre sí y, al mismo tiempo, sigan la lógica y las reglas de negocio que se aplicarían a un usuario humano en la interfaz de usuario. Las API abstraen la complejidad de interactuar con el software, lo que facilita que distintas aplicaciones trabajen juntas y que los usuarios naveguen esas interacciones sin problemas. Al igual que cualquier otra interfaz, las API pueden representar un riesgo de seguridad, pero la solución es protegerlas, no evitarlas.

¿Por qué es importante la seguridad de las API?

La seguridad de las API es importante porque, si los atacantes obtienen acceso y control sobre una API, pueden controlar los servicios a los que se conecta y hasta robar los datos que utiliza. Las API son la infraestructura básica del mundo del software, por lo que acceder a ellas significa, inevitablemente, acceder a los datos que transportan de un producto a otro o de un servicio a otro. Es necesario proteger los tipos de API más comunes, como GraphQL y REST, para evitar el acceso malicioso. Consulta nuestra guía para crear una API GraphQL segura aquí.

Empieza con Capture the Flag

Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.

¿Cómo se integra la seguridad de las API en la seguridad de las aplicaciones?

Tradicionalmente, los responsables de la seguridad de las API son los ingenieros de seguridad. Sin embargo, en los últimos años, a medida que las empresas adoptan un enfoque shift-left e implementan enfoques DevSecOps, los desarrolladores han asumido cada vez más responsabilidades en este ámbito. Una investigación de 42Crunch, una plataforma de seguridad de API, mostró que en el 44 % de las empresas, el equipo de desarrollo era el principal responsable de la seguridad de las API.

Aunque las API representan una amenaza particular, el trabajo para protegerlas encaja bien en el ámbito de la seguridad moderna de las aplicaciones. Las aplicaciones suelen incluir muchas API, por lo que cualquier iniciativa para proteger una aplicación necesariamente debe incluir las API de las que depende.

Amenazas comunes para las API

Los riesgos comunes para las API van desde errores de implementación hasta la falta de límites de frecuencia. OWASP destaca las diez amenazas de seguridad más comunes para las API:

  1. Autorización de nivel de objeto defectuosa

  2. Autenticación de usuario defectuosa

  3. Exposición excesiva de datos

  4. Falta de recursos y límites de frecuencia

  5. Autenticación de nivel de función defectuosa

  6. Asignación masiva

  7. Configuración de seguridad incorrecta

  8. Inyección

  9. Administración inadecuada de activos

  10. Registro y monitoreo insuficientes

Analizamos esta lista con más detalle en nuestro artículo sobre los 10 principales riesgos de las API según OWASP, aquí.

10 prácticas recomendadas de seguridad para las API

1. Usa puertas de enlace de API

Una puerta de enlace de API ayuda a las empresas a enrutar las solicitudes de API, organizar las respuestas y administrar los acuerdos de nivel de servicio (SLA). Las puertas de enlace facilitan el uso de las API y también son esenciales para la seguridad, ya que ofrecen cifrado y control de acceso.

2. Usa la autenticación correctamente en todos los niveles

Un elemento clave de la seguridad de las API es garantizar que la aplicación correcta realice la solicitud adecuada. Tres de los métodos de autenticación de API más comunes son la autenticación básica de HTTP, la autenticación OAuth y la autenticación mediante claves de API. Lo mejor es autenticar las API en todos los niveles y tener cuidado con la forma en que almacenas las claves de API.

3. Cifra las solicitudes y las respuestas

Las API suelen ser vulnerables a los ataques de intermediario, en los que los atacantes se insertan en el flujo del tráfico de la API para observarlo o redirigirlo. La práctica recomendada es cifrar cualquier transferencia de datos entre un usuario y un servidor de API, y entre un servidor de API y un usuario. Con el cifrado, aunque los atacantes intercepten solicitudes o respuestas, no podrán interpretar los datos robados. Al configurar las API, se debe usar HTTPS en todas partes para garantizar que los datos estén cifrados.

4. No incluyas información innecesaria en una API

La seguridad de las API sigue el «principio de mínima exposición»: al crear una API, debes incluir solo la información necesaria, y nada más. Cuanta menos información se envíe, menor será el impacto de una filtración de datos, si ocurre.

5. Realiza pruebas de seguridad periódicas y busca vulnerabilidades en las API

Aunque se hayan implementado otras prácticas recomendadas de seguridad para las API, las empresas deben realizar pruebas de seguridad y análisis de vulnerabilidades de las API con regularidad. Las pruebas y los análisis periódicos también son útiles para las empresas que ya adoptaron con éxito un enfoque shift-left.

6. Recopila datos de registro de las API

La seguridad eficaz de las aplicaciones depende, en parte, de procesos efectivos de recopilación y análisis de registros. Con un sistema de registro eficaz, puedes registrar cada vez que se invoca una operación de API y hacer un seguimiento de cada evento. Estos datos detallados pueden ayudarte a detectar ataques maliciosos antes de que ocurran y a analizar cómo pudo haber sucedido un ataque después del hecho. Debes saber qué datos recopilan tus registros para asegurarte de no conservar información confidencial, como datos de identificación personal (PII) e información de seguridad.

7. Establece cuotas y limita las solicitudes de API

Los ataques de denegación de servicio distribuido (DDoS), una de las formas más antiguas de ciberataque, también pueden afectar a las API. Cuando un ataque DDoS tiene como objetivo una API, suele atacar tanto al servidor donde se ejecuta como a todos sus endpoints. Para prevenir estos ataques, establece cuotas de tráfico y límites de frecuencia para las API, y restringe el flujo de solicitudes.

8. Capacita a tu equipo sobre las 10 principales amenazas de seguridad para las API según OWASP

La ciberseguridad depende en gran medida de la repetición, no de la innovación. Esto significa que la mayoría de los ataques exitosos no son resultado de patrones novedosos, sino de la explotación de errores conocidos. Dedica tiempo a capacitar a tu equipo sobre las diez principales amenazas de seguridad para las API según OWASP, una lista que describe los riesgos de seguridad más comunes para las API. Snyk Learn también ofrece lecciones de seguridad gratuitas para desarrolladores que ayudarán a tu equipo a aprender más sobre conceptos de ciberseguridad.

9. Valida y depura los datos de las API

Validar y depurar los datos de las API garantiza que los datos entrantes sean los esperados. La validación consiste en comprobar que los datos entrantes tengan el tipo y el formato previstos. La depuración consiste en eliminar cualquier carácter no seguro de esos datos.

10. Actualiza los servicios y la documentación de las API

Otra práctica fundamental de ciberseguridad aplicable a las API es mantener todo actualizado. En este caso, eso implica asegurarse de que las API estén actualizadas y de que la documentación también lo esté.

Cómo puede ayudarte Snyk con la seguridad de las API

El gran poder de las API también las hace peligrosas, por lo que es esencial que todas las empresas adopten prácticas recomendadas de seguridad y usen las herramientas disponibles para protegerlas.

Snyk puede ayudarte a mantener la seguridad de las API de cuatro maneras:

  • Muchos servicios de API de backend se crean con bibliotecas de código abierto, así que usa Snyk para detectar versiones vulnerables.

  • Los desarrolladores usan y crean API con frecuencia, así que puedes usar Snyk Code para realizar pruebas estáticas de seguridad de aplicaciones.

  • Los contenedores suelen usarse para implementar servicios de API, así que usa el análisis de Snyk Container para encontrar vulnerabilidades del sistema operativo y del entorno de ejecución.

  • Los servicios de API de backend suelen implementarse en la nube mediante infraestructura como código, así que usa Snyk para asegurarte de que la configuración de infraestructura como código no exponga problemas de seguridad.

Las API son potentes, así que no permitas que caigan en las manos equivocadas: aplica estas prácticas recomendadas de seguridad y usa herramientas de análisis para proteger tus API y todos los datos a los que tienen acceso.

Empieza con los retos de Capture the Flag

Aprende a resolver retos de Capture the Flag viendo nuestro taller virtual de nivel básico a pedido.