Prevenga los ataques a las API con herramientas esenciales y buenas prácticas de seguridad

NGINX | 18 de julio de 2023

En los últimos años, la proliferación de las API ha cambiado significativamente la forma en que operan las empresas. Las API permiten que distintas aplicaciones se comuniquen e intercambien datos entre sí, lo que facilita unos procesos empresariales y un desarrollo de software más eficientes y eficaces.

Sin embargo, el mayor uso de las API conlleva el riesgo de la proliferación descontrolada de API, que se produce cuando se crean e implementan API en equipos y arquitecturas distribuidos, a menudo sin una supervisión y gestión adecuadas. Esto puede generar nuevos riesgos de seguridad para las empresas, ya que cada API representa un posible punto de entrada para que los atacantes accedan sin autorización a datos y sistemas confidenciales.

El auge del desarrollo de software API-first

Uno de los principales factores que impulsan la proliferación descontrolada de API es la expansión de los microservicios. Una arquitectura de microservicios divide una aplicación de mayor tamaño en aplicaciones individuales más pequeñas que se comunican entre sí mediante API. De este modo, las aplicaciones complejas se dividen en componentes independientes que pueden ser gestionados por equipos distintos y escalarse de forma autónoma para satisfacer las demandas de tráfico.

Los microservicios ofrecen muchas ventajas a los desarrolladores, como una mayor flexibilidad y escalabilidad. Sin embargo, estas ventajas conllevan ciertas contrapartidas, entre ellas una mayor complejidad. Por ello, muchas empresas adoptan un enfoque API-first para crear microservicios. En esta estrategia, el proceso de diseño de aplicaciones y servicios comienza con un contrato de API que especifica cómo funciona una API, incluido el formato de las solicitudes y las respuestas.

Integra la seguridad en todo el ciclo de vida de la API

La superficie de ataque crece a medida que proliferan las API

Las ventajas del desarrollo de software basado en un enfoque API-first pueden verse fácilmente comprometidas si no se toma en serio la seguridad de las API, especialmente durante las fases de diseño e implementación. En esencia, cuantas más API haya, mayor será la superficie de ataque. Aunque las API desempeñan un papel fundamental en el desarrollo de software moderno, también son cada vez más fáciles de explotar.

En 2018, Gartner predijo que las API se convertirían en el vector de ataque más habitual contra las aplicaciones para 2022. En todo caso, su predicción de que tardaría tanto fue demasiado optimista. Ya se estaban produciendo brechas de seguridad de API de gran repercusión en grandes empresas que afectaban a millones de usuarios, y desde entonces no han hecho más que aumentar:

  • En 2018, Facebook informó de que los datos de al menos 50 millones de usuarios estaban en riesgo después de que unos atacantes aprovecharan la API para desarrolladores de la empresa para obtener información de identificación personal (PII) vinculada a las páginas de perfil de los usuarios, incluidos el nombre, el género y la ciudad de origen.
  • En 2019, LinkedIn informó de que un hacker utilizó técnicas de extracción de datos aprovechando las API para recopilar información de más de 700 millones de usuarios, que posteriormente se puso a la venta en la web oscura.
  • En 2021, una API mantenida por Peloton permitió que un agente malicioso solicitara información de identificación personal, como la edad, el sexo, la ciudad, el peso y la fecha de nacimiento.
  • En 2022, Twitter abordó una brecha de seguridad en una API que expuso datos de 5,4 millones de cuentas de usuario, incluidos números de teléfono y direcciones de correo electrónico.
  • En 2023, T-Mobile informó de que una brecha en una API había provocado el robo de los datos de 37 millones de clientes, incluidos nombres, correos electrónicos, direcciones, números de teléfono, fechas de nacimiento y otros datos.

La amplitud y variedad de estos ataques ponen de manifiesto los retos a los que se enfrentan los responsables de seguridad e ingeniería. Algunos ataques aprovechan API que se han expuesto indebidamente a Internet. Otros utilizan claves de API u otros métodos de autenticación que se han expuesto por error en repositorios de código. También hay atacantes que acceden a entornos internos aprovechando vulnerabilidades de las VPN y utilizan API internas para extraer datos.

Para frustrar los ataques a las API se necesitan la estrategia y las herramientas adecuadas

La forma más habitual de protegerse frente a las amenazas para las API consiste en combinar las estrategias tradicionales de seguridad de aplicaciones web con técnicas modernas de seguridad de API. Las estrategias tradicionales suelen resultar insuficientes ante la diversidad de amenazas actuales para las API. Las técnicas modernas, como el descubrimiento automatizado de API y las pruebas de contraste de API, tratan de subsanar estas carencias.

Es fundamental que las empresas adopten el enfoque de protección a la derecha (implementar controles globales y políticas de seguridad para proteger las aplicaciones y las API desplegadas) y el de desplazamiento a la izquierda (integrar la seguridad en el código para eliminar vulnerabilidades antes de que las aplicaciones y las API pasen a producción). Ninguna de estas estrategias puede proporcionar por sí sola una seguridad integral de las API, por lo que la clave para prevenir brechas de seguridad es adoptar un enfoque holístico que abarque tres categorías de prácticas de seguridad de las API:

Seguridad integral de las API

Al combinar la estrategia adecuada con las herramientas apropiadas, las organizaciones pueden proteger mejor sus API frente a ataques y garantizar la seguridad de sus sistemas de software. Veamos las funcionalidades y herramientas clave que los responsables de ingeniería de plataformas deben implementar para proteger las API durante todo su ciclo de vida.

¿Qué es la gestión de la postura de seguridad de las API?

La gestión de la postura de seguridad de las API proporciona visibilidad sobre la cantidad, los tipos, las ubicaciones y los datos expuestos por sus API. Esta información le ayuda a comprender los riesgos asociados a cada API para que pueda tomar las medidas adecuadas para protegerla.

Funcionalidades principales:

  • Descubrimiento automatizado de API – Descubrimiento automático y continuo de API para obtener una visibilidad completa de las API desplegadas en un entorno
  • Caracterización de las API – Identifique y clasifique las API por protocolo o arquitectura (REST, GraphQL, SOAP, etc.) y trace los flujos de datos confidenciales para comprender su exposición al riesgo
  • Catalogación de API – Mantenga una lista completa de las API para fomentar que los equipos de software reutilicen las API existentes y ayudar a los equipos de SecOps a obtener una visión integral de su postura de seguridad

Tecnologías representativas:

  • Web application and API protection (WAAP) – Aprovecha una posición global privilegiada en la infraestructura de API para analizar el tráfico que entra y sale de los entornos, identificar las API y obtener una visión de su exposición al riesgo
  • Detección en línea o basada en agentes – Conecta un agente a las puertas de enlace de API, los balanceadores de carga o los controladores de entrada de Kubernetes existentes para replicar y analizar el tráfico de las API
  • Descubrimiento fuera de banda o sin agentes – Utiliza la duplicación del tráfico o registros y métricas exportados para analizar el tráfico de las API; por lo general, ofrece menos visibilidad de las API y las amenazas que otras tecnologías
  • Rastreadores de dominios – Los proveedores de seguridad de API pueden ofrecer rastreadores que examinan su dominio en busca de endpoints de API expuestos que permiten que el tráfico eluda sus puertas de enlace de API y balanceadores de carga, donde se pueden aplicar políticas de seguridad

Es importante tener en cuenta que ninguna tecnología puede detectar de forma fiable todas las API de su arquitectura. La mayoría de las técnicas de detección dependen de la visibilidad que proporcionan los balanceadores de carga, las puertas de enlace de API y los controladores de Ingress existentes, por lo que es poco probable que detecten configuraciones incorrectas que eludan estos componentes arquitectónicos.

En última instancia, la revisión del código y la adopción de las prácticas recomendadas de API-first ofrecen una prevención más eficaz a largo plazo. No obstante, las herramientas automatizadas de detección de API siguen siendo útiles para obtener rápidamente una visión general de su postura de seguridad y detectar API que, de otro modo, podrían quedar sin gestionar ni proteger.

¿Qué son las pruebas de seguridad de las API?

Mientras que la gestión de la postura de seguridad de las API se ocupa de la seguridad en toda la empresa, las pruebas de seguridad de las API se centran principalmente en API individuales. En esencia, estas pruebas ayudan a identificar y prevenir vulnerabilidades y los riesgos asociados mediante la comprobación del entorno de ejecución de la API, es decir, la aplicación que se ejecuta detrás de ella. También permiten garantizar que se cumplan los requisitos básicos de seguridad, incluidas las condiciones de autenticación, autorización, limitación de solicitudes y cifrado.

Funcionalidades principales:

  • Pruebas de contratos de API – Utiliza la especificación OpenAPI de una API para verificar que funciona según lo previsto, comparando las solicitudes de los clientes con las respuestas del servidor. Emplea un enfoque «de dentro hacia fuera» para detectar si las API son vulnerables antes de implementarlas.
  • Pruebas dinámicas de seguridad de aplicaciones (DAST) – Simulan ataques contra una API en tiempo de ejecución para detectar vulnerabilidades, evaluándola desde fuera, como lo haría un usuario malintencionado.

Tecnologías representativas:

  • Software de pruebas de contratos de API – Herramientas especializadas para ejecutar pruebas que segmentan las solicitudes y respuestas de la API a fin de verificar que el comportamiento del cliente y del servidor cumpla el contrato de la API
  • Software de pruebas de seguridad de aplicaciones (AST) – Herramientas que analizan y prueban aplicaciones, incluidas las API, mediante la simulación de ataques

Existen tanto herramientas de código abierto para realizar pruebas de contratos como productos comerciales de proveedores especializados en seguridad de API. El mercado de las pruebas de seguridad de aplicaciones (AST) existe desde hace décadas, y cada vez más proveedores ofrecen herramientas específicas para analizar y probar API.

¿Qué es la protección de las API en tiempo de ejecución?

La protección de las API en tiempo de ejecución consiste en protegerlas mientras funcionan y gestionan solicitudes. Da prioridad a la integración de la seguridad tanto en la infraestructura de la plataforma como en el código de las propias API. El objetivo es identificar y bloquear las solicitudes maliciosas dirigidas a las API que surjan tras el despliegue.
Funcionalidades principales:

  • Control de acceso – Aplicar políticas de autenticación (authN) y autorización (authZ)
  • Network security – Cifra y protege las comunicaciones en toda la red
  • Protección de aplicaciones – Proteja los entornos de ejecución de las API frente a solicitudes maliciosas y ataques
  • Monitorización en tiempo real – Visualice, rastree y mitigue los ataques en toda la infraestructura de API

Tecnologías representativas:

  • Puerta de enlace de API – Aplica y hace cumplir las políticas de seguridad, incluidas la autenticación, la autorización, la limitación de solicitudes, las listas de control de acceso y el cifrado
  • Firewall de aplicaciones web (WAF) – Protege las API y las aplicaciones frente a sofisticados ataques de capa 7 mediante la supervisión y el filtrado activos del tráfico en función de las firmas de ataque
  • Proveedor de identidad (IdP) – Servicio que almacena y verifica la identidad de los usuarios y que, por lo general, funciona con proveedores de inicio de sesión único (SSO) para autenticarlos

No todas las puertas de enlace de API ni todos los WAF/WAAP ofrecen las mismas prestaciones. Algunos servicios, especialmente las soluciones nativas disponibles en la nube y en otras plataformas, carecen de la visibilidad global y la estandarización necesarias en arquitecturas multinube e híbridas.

Prácticas recomendadas de seguridad de las API

Dada la importancia de proteger las API, es fundamental abordar su seguridad de forma organizada. Los responsables de ingeniería de plataformas y de seguridad deben colaborar para satisfacer los requisitos de seguridad durante todo el ciclo de vida de las API. Como vimos anteriormente, esto se corresponde, a grandes rasgos, con tres áreas principales de actuación: la gestión de la postura de seguridad de las API, las pruebas de seguridad de las API y la protección de las API en tiempo de ejecución. En otras palabras, debe centrarse en saber cuántas API tiene, cómo comprobar si contienen errores y cómo integrar la seguridad en su código.

Lista de prácticas recomendadas de seguridad de las API

Conclusión

Como ocurre con toda la ciberseguridad, la seguridad de las API es un proceso continuo que requiere la colaboración de numerosas partes interesadas, como ingenieros de redes, responsables de operaciones de seguridad, responsables de ingeniería de plataformas e ingenieros de desarrollo de software. La buena noticia es que proteger las API no entraña ningún gran misterio.

La mayoría de las organizaciones ya cuentan con medidas para combatir ataques conocidos, como el scripting entre sitios, la inyección, la denegación de servicio distribuida y otros que pueden dirigirse contra las API. Además, es probable que muchas de las prácticas recomendadas descritas anteriormente resulten bastante familiares para los profesionales de la seguridad con experiencia. Independientemente del número de API que gestione su organización, el objetivo es establecer políticas sólidas de seguridad de las API y administrarlas de forma proactiva a lo largo del tiempo.

Inicie su prueba gratuita de 30 días de NGINX API Connectivity Stack, que incluye F5 NGINX Management Suite API Connectivity Manager para gestionar, administrar y proteger las API; F5 NGINX Plus como puerta de enlace de API; y F5 NGINX App Protect WAF y DoS para ofrecer seguridad avanzada para las API.

Recursos adicionales


Compartir

Artículos relacionados del blog

Únete a F5 NGINX en AppWorld 2024
NGINX | 04/01/2024

Únete a F5 NGINX en AppWorld 2024

Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
NGINX | 26/09/2023

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source

La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.

Exposición de APIs en Kubernetes
NGINX | 10/03/2022

Exposición de APIs en Kubernetes

La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
NGINX | 23/08/2021

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto

Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.

Presentamos NGINX Plus R22
NGINX | 09/06/2020

Presentamos NGINX Plus R22

NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.

Presentamos NGINX Plus R17
NGINX | 11/12/2018

Presentamos NGINX Plus R17

NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.