BLOG | NGINX

Prevenir ataques de API con herramientas esenciales y prácticas recomendadas para la seguridad de API

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Andrew Stiefel
Andrew Stiefel
Publicado el 18 de julio de 2023

En los últimos años, la proliferación de API ha cambiado significativamente la forma en que operan las empresas. Las API permiten que diferentes aplicações se comuniquen e intercambien datos entre sí, lo que permite procesos de negocio y desarrollo de software más eficientes y efectivos.

Sin embargo, con el aumento del uso de las API surge el riesgo de una proliferación de API , donde las API se crean e implementan en equipos y arquitecturas distribuidas, a menudo sin una supervisión y gestión adecuadas. Esto puede crear un nuevo conjunto de riesgos de seguridad para las empresas, ya que cada API representa un punto de entrada potencial para que los atacantes obtengan acceso no autorizado a datos y sistemas confidenciales.

El auge del desarrollo de software basado en API

Uno de los principales impulsores de la proliferación de API es la proliferación de microservicios. Una arquitectura de microservicios divide una aplicação más grande en aplicações individuales más pequeñas que se comunican entre sí mediante API. Esto divide las aplicações complejas en partes discretas que pueden ser administradas por equipos individuales y escaladas independientemente para satisfacer las demandas de tráfico.

Los microservicios ofrecen muchas ventajas para los desarrolladores, incluida una mayor flexibilidad y escalabilidad. Sin embargo, estos beneficios tienen sus contrapartidas, incluida una mayor complejidad. Como resultado, muchas empresas adoptan un enfoque API-first para crear microservicios . En esta estrategia, el proceso de diseño de aplicações y servicios comienza con un contrato de API que describe cómo funciona una API, hasta el formato de las solicitudes y respuestas.

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

La superficie de ataque crece a medida que proliferan las API

Los beneficios del desarrollo de software API-first pueden verse fácilmente socavados si no se toma en serio la seguridad de la API, especialmente durante el diseño y la implementación. En el nivel más básico, más API significan más superficie de ataque. Si bien las API desempeñan un papel vital en el desarrollo de software moderno, al mismo tiempo cada vez son más fáciles de explotar.

En 2018, Gartner predijo que las API se convertirían en el vector de ataque más común para las aplicações para 2022. En todo caso, su predicción de un retraso tan grande fue demasiado optimista. Ya se estaban produciendo violaciones de API de alto perfil en importantes empresas que afectaron a millones de usuarios y cada vez son más comunes:

La amplitud y variedad de estos ataques revela los desafíos que enfrentan los líderes de seguridad e ingeniería. Algunos ataques explotan API que fueron expuestas incorrectamente a Internet. Otros utilizan claves API u otros métodos de autenticación que fueron expuestos incorrectamente en los repositorios de código. O bien, los atacantes obtienen acceso a entornos internos a través de exploits de 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 común de protegerse contra las amenazas de API es combinar las estrategias de seguridad de aplicação web tradicionales con técnicas de seguridad de API modernas. Las estrategias tradicionales a menudo resultan insuficientes ante las variadas amenazas que enfrentan las API actuales. Las técnicas modernas, como el descubrimiento automatizado de API y las pruebas de contraste de API, intentan cerrar estas brechas.

Es fundamental que las empresas se protejan a la derecha (implementar controles globales y políticas de seguridad para proteger las aplicaciones y API implementadas) y se desplacen a la izquierda (incorporen seguridad en el código para eliminar vulnerabilidades antes de que las aplicaciones y API entren en producción). Ninguna de las estrategias puede proporcionar una seguridad de API integral por sí sola, por lo que la clave para prevenir infracciones es un enfoque holístico que abarque tres categorías de prácticas de seguridad de API:

Seguridad de API de extremo a extremo

Al combinar la estrategia correcta con las herramientas adecuadas, las organizaciones pueden proteger mejor sus API de los ataques y garantizar la seguridad de sus sistemas de software. Analicemos las funciones y herramientas importantes que los líderes de ingeniería de plataformas necesitan implementar para proteger las API a lo largo de su ciclo de vida.

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

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

Funcionalidad clave:

  • Descubrimiento automatizado de API : descubrimiento automático y continuo de API para una visibilidad integral de las API implementadas en un entorno
  • Caracterización de API : identifique y categorice las API por protocolo o arquitectura (REST, GraphQL, SOAP, etc.) y mapee flujos de datos confidenciales para comprender su exposición al riesgo.
  • Catalogación de API : mantenga una lista completa de API para alentar a los equipos de software a reutilizar las API existentes y para ayudar a los equipos de SecOps a crear una visión completa de su postura de seguridad.

Tecnologías representativas:

  • Protección de API y aplicação web (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 API y crear una vista de su exposición al riesgo.
  • Descubrimiento en línea o basado en agente : conecta un agente a puertas de enlace de API, balanceadores de carga o controladores de ingreso de Kubernetes existentes para reflejar y analizar el tráfico de API.
  • Descubrimiento fuera de banda o sin agente : utiliza duplicación de tráfico o registros y métricas exportados para analizar el tráfico de API; generalmente ofrece menos visibilidad de las API y las amenazas que otras tecnologías
  • Rastreadores de dominio : los proveedores de seguridad de API pueden ofrecer rastreadores que sondean su dominio en busca de puntos finales de API expuestos que permiten que el tráfico evite 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 encontrar de manera confiable todas las API en su arquitectura . La mayoría de las técnicas de descubrimiento dependen de la visibilidad proporcionada por los balanceadores de carga, las puertas de enlace de API y los controladores de ingreso existentes, y no es probable que detecten configuraciones erróneas que eludan estos componentes arquitectónicos.

En última instancia, la revisión del código y el seguimiento de las mejores prácticas de API-first ofrecen una prevención a largo plazo más eficaz. Pero las herramientas de descubrimiento automatizado de API siguen siendo útiles para construir rápidamente una visión de su postura de seguridad y para detectar API que de otro modo podrían quedar sin administrar ni proteger.

¿Qué son las pruebas de seguridad de API?

Si bien la gestión de la postura de seguridad de API se ocupa de la seguridad de toda la empresa, las pruebas de seguridad de API se centran en gran medida en las API individuales. En esencia, las pruebas de seguridad de API ayudan a identificar y prevenir vulnerabilidades y sus riesgos asociados mediante pruebas del entorno de ejecución de la API (la aplicação que se ejecuta detrás de ella). Esto ayuda a garantizar que se cumplan los requisitos básicos de seguridad, como las condiciones de autenticación, autorización, limitación de velocidad y cifrado.

Funcionalidad clave:

  • Prueba de contrato de API : utiliza la especificación OpenAPI de una API para verificar que funciona según lo diseñado, comparando las solicitudes del cliente y las respuestas del servidor. Utiliza un enfoque “de adentro hacia afuera” para descubrir si las API son vulnerables, antes de implementarlas.
  • Pruebas dinámicas de seguridad de aplicação (DAST) : simula ataques contra un entorno de ejecución de API para encontrar vulnerabilidades y evalúa la API desde afuera hacia adentro, como si fuera un usuario malintencionado.

Tecnologías representativas:

  • Software de prueba de contratos API : herramientas especializadas para ejecutar pruebas que segmentan las solicitudes y respuestas de API para verificar que el comportamiento del cliente y del servidor cumpla con el contrato API.
  • Software de pruebas de seguridad de aplicação (AST) : herramientas que analizan y prueban aplicações, incluidas las API, mediante la simulación de ataques.

Existen herramientas de prueba de contratos de código abierto y productos comerciales de proveedores de seguridad de API dedicados. El mercado de pruebas de seguridad de aplicação (AST) existe desde hace décadas y cada vez más proveedores ofrecen herramientas de escaneo y prueba dedicadas para API.

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

La protección del tiempo de ejecución de las API se refiere a proteger las API mientras operan y gestionan solicitudes. Prioriza la seguridad de la infraestructura de la plataforma, así como del código de las propias API. El objetivo es identificar y prevenir solicitudes de API maliciosas que surgen después de la implementación.
Funcionalidad clave:

  • Control de acceso : aplicar políticas de autenticación (authN) y autorización (authZ)
  • Seguridad de la red : cifrar y proteger las comunicaciones en toda la red
  • Protección de aplicação : proteja los tiempos de ejecución de API de solicitudes y ataques de API maliciosos
  • Monitoreo en tiempo real : visualice, rastree y mitigue ataques en toda la infraestructura de API

Tecnologías representativas:

  • Puerta de enlace API : aplica y hace cumplir políticas de seguridad, incluidas autenticación, autorización, limitación de velocidad, listas de control de acceso y cifrado.
  • Firewall de aplicação web (WAF) : protege las API y las aplicações contra ataques sofisticados de capa 7 al monitorear y filtrar activamente el tráfico según las firmas de ataque.
  • Proveedor de identidad (IdP) : servicio que almacena y verifica la identidad del usuario y, generalmente, funciona con proveedores de inicio de sesión único (SSO) para autenticar a los usuarios.

No todas las puertas de enlace de API y WAF/WAAP son iguales. Algunos servicios, en particular las soluciones nativas disponibles en la nube y otras plataformas, carecen de la visibilidad global y la estandarización requeridas en las arquitecturas multicloud e híbridas.

Buenas prácticas de seguridad de las API

Dada la importancia de proteger las API, es esencial abordar la seguridad de las API de forma organizada. Los líderes de ingeniería de plataformas y seguridad deben trabajar juntos para abordar los requisitos de seguridad en todo el ciclo de vida de la API. Como exploramos anteriormente, esto se alinea aproximadamente con tres áreas principales de práctica: Gestión de la postura de seguridad de API, pruebas de seguridad de API y protección del tiempo de ejecución de API. En otras palabras, debes concentrarte en saber cuántas API tienes, cómo probarlas para detectar errores y cómo incorporar seguridad en tu código.

Lista de mejores prácticas de seguridad de API

CONCLUSIÓN

Como toda ciberseguridad, la seguridad de las API es un proceso continuo que requiere la colaboración de muchas partes interesadas, incluidos ingenieros de redes, líderes de operaciones de seguridad, líderes de ingeniería de plataformas e ingenieros de desarrollo de software. La buena noticia es que no es ningún misterio cómo proteger las API.

La mayoría de las organizaciones ya cuentan con medidas para combatir ataques conocidos, como secuencias de comandos entre sitios, inyecciones, denegación de servicio distribuida y otros que pueden tener como objetivo las API. Y muchas de las mejores prácticas descritas anteriormente probablemente sean bastante familiares para los profesionales de seguridad experimentados. No importa cuántas API opere su organización, su objetivo es establecer políticas de seguridad de API sólidas y administrarlas de manera proactiva a lo largo del tiempo.

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

Recursos adicionales


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.