¿Necesita Cloud Computing? Empiece ahora

Seguridad de las API para DevSecOps

Stas Neyman

escrito por

Stas Neyman

September 29, 2022

Stas Neyman

escrito por

Stas Neyman

Stas Neyman es director de Marketing de Productos de Akamai y supervisa la cartera de seguridad de API.

Para garantizar la seguridad de las API en DevSecOps, es necesario utilizar herramientas especializadas que las supervisen y pongan a prueba.
Para garantizar la seguridad de las API en DevSecOps, es necesario utilizar herramientas especializadas que las supervisen y pongan a prueba.

La seguridad de las API es fundamental para DevSecOps

Akamai adquirió Noname Security en junio de 2024. Actualmente, este producto se llama Akamai API Security, pero en esta entrada de blog archivada, publicada originalmente el 29 de septiembre de 2022, se ha utilizado el nombre original del producto y el de sus funciones.

DevSecOps es una variante de DevOps (desarrollo y operaciones) que añade la seguridad al flujo de trabajo de desarrollo de software. La seguridad de las interfaces de programación de aplicaciones (API) debe formar parte de ella.

En esta entrada de blog se explica en qué consiste DevSecOps y la importancia de la seguridad de las API para que las aplicaciones que se desarrollan siguiendo sus procesos sean lo más seguras posible.

¿Qué es DevSecOps?

Para comprender qué es DevSecOps, primero es necesario conocer en profundidad DevOps, el paradigma original en el que se basa. DevOps hace referencia a la combinación de dos procesos anteriormente independientes: el desarrollo de software (Dev) y las operaciones de TI (Ops). Tradicionalmente, los desarrolladores escribían el código y lo entregaban al equipo de operaciones de TI para que lo implementaran en la fase de producción. Este proceso funcionaba bien en la era del desarrollo en cascada, cuando se tardaba meses, o incluso años, en terminar una nueva versión de una aplicación.

Con la llegada de metodologías de desarrollo ágiles y la integración e implementación continuas (CI/CD) de código, la antigua división entre desarrollo y operaciones ya no era viable, ya que los equipos de operaciones recibían código nuevo a diario, si no cada hora.

La única forma de mantener este ritmo sin correr grandes riesgos era integrar los procesos de desarrollo y operaciones. Para ello, era necesario unificar ambos equipos.

En este nuevo panorama de DevOps, los desarrolladores y el personal de operaciones colaboraban para que el código estuviese listo para producción en el menor tiempo posible. No obstante, esta colaboración no fue para nada sencilla. La relación entre los equipos de desarrollo y operaciones era tensa, ya que solían delegar los problemas los unos en los otros y mostraban poca flexibilidad para adaptarse a nuevos procesos, lo que reducía su productividad. Para cambiar esta dinámica, DevOps introdujo un modelo de responsabilidad compartida.

A medida que las ciberamenazas se agravaban, tenía sentido que la seguridad se convirtiera en parte del flujo de trabajo de DevOps y, por ello, pasó a ser DevSecOps. Este cambio también ayudó a que las distintas partes comenzaran a entenderse, ya que la seguridad se veía a menudo como un "agente de tráfico" que frenaba el proceso de desarrollo. DevSecOps es una nueva forma de colaboración en la que la seguridad impulsa unos ciclos de desarrollo más rápidos y menos peligrosos.

Factores clave del éxito de DevSecOps

Lograr el éxito de DevSecOps no es sencillo y requiere coordinar a distintos equipos y flujos de trabajo, cada uno con sus propios objetivos. Para que esta compleja unificación de personas y procesos funcione, es necesario integrar a la perfección sus herramientas y procesos. La tecnología tiene que servir a todas las partes y, para ello, hay que hacer concesiones en los procesos, y esto también incluye el liderazgo.

Para que DevSecOps funcione debidamente, el equipo de seguridad tiene que adaptar sus pruebas al paradigma actual de CI/CD. A su vez, los equipos de DevOps deben tratar los problemas de seguridad con al menos el mismo rigor con el que tratan los de funcionalidad. De hecho, los programas menos consolidados tienen cada vez más problemas de seguridad que no llegan a resolverse. Para obtener buenos resultados, también se necesita una estrategia "shift-left" que priorice las tareas de seguridad en el flujo de trabajo de DevOps.

Protección de las API en los flujos de trabajo de DevSecOps

Para proteger las API en DevSecOps es necesario realizar pruebas de seguridad de las API durante el desarrollo y supervisarlas cuando están en producción. Las pruebas de seguridad de API son parecidas a otras pruebas de seguridad en DevSecOps, pero cuentan con algunas diferencias notables. Por ejemplo, aunque las pruebas estáticas pueden ser útiles para hallar vulnerabilidades en el código, no lo son para identificar todas las que pueden presentar las API.

En su lugar, en DevSecOps se deben ejecutar pruebas de caja negra mediante lógica empresarial. Con este enfoque, se muestra cómo funcionarán realmente las API cuando se implemente la aplicación.

Las herramientas de pruebas de seguridad de API como Noname Active Testing pueden ejecutar pruebas de este tipo. Este software puede detectar las vulnerabilidades incluidas en la lista de los 10 principales riesgos de seguridad de API del Proyecto abierto de seguridad de aplicaciones web (OWASP), como la autorización a nivel de objeto comprometida, el consumo de recursos sin restricciones, las configuraciones de seguridad incorrectas, la gestión inadecuada del inventario, etc. Si estas vulnerabilidades están presentes y no se mitigan, un ciberdelincuente que ataque la API puede obtener acceso no autorizado a datos confidenciales.

Noname Active Testing se integra en el proceso de CI/CD gracias a las series de pruebas con alta capacidad de configuración que admite. También permite realizar pruebas "shift-left" que se integran en varios sistemas de CI/CD. Con estas dos características, la herramienta hace que sea posible proteger las API en DevSecOps. La integración en CI/CD es esencial, ya que permite realizar de forma rápida y periódica las pruebas de seguridad de API necesarias para mantener protegidas las aplicaciones modernas.

La seguridad de API para DevSecOps va más allá de la fase de desarrollo, por lo que se recomienda mantener el mismo proceso de seguridad de API en producción. Al supervisarlas en esta fase, se puede detectar qué API se han vuelto vulnerables, por ejemplo, debido a que un administrador las ha configurado de forma errónea o ha alterado su configuración inicial. Tras descubrir la vulnerabilidad, se puede corregir como parte del flujo de trabajo DevSecOps.

Conclusión

Implementar una estrategia DevSecOps puede suponer un reto, ya que requiere alinear debidamente muchos procesos y a muchas personas para que todo pueda avanzar a buen ritmo. La seguridad de las API puede suponer un problema para DevSecOps y entorpecer su desempeño. No obstante, las pruebas de seguridad de API son fundamentales para el desarrollo de aplicaciones protegidas. Para garantizar la seguridad de las API en DevSecOps, es necesario utilizar herramientas especializadas que las supervisen y pongan a prueba.



Stas Neyman

escrito por

Stas Neyman

September 29, 2022

Stas Neyman

escrito por

Stas Neyman

Stas Neyman es director de Marketing de Productos de Akamai y supervisa la cartera de seguridad de API.