In this article
Guía de seguridad nativa de la nube para crear aplicaciones seguras
La arquitectura moderna nativa de la nube utiliza tecnología de software de vanguardia para ofrecer a las empresas los medios para implementar sus aplicaciones de forma segura y a escala, con énfasis en una infraestructura que prioriza la nube. La seguridad nativa de la nube aplica este mismo paradigma a la protección de estas aplicaciones: un enfoque moderno y pragmático que incluye conceptos como la confianza cero y la defensa en profundidad (DiD). La seguridad de las aplicaciones nativas de la nube exige el mismo enfoque, con herramientas y servicios diseñados específicamente para ello.
¿Qué es la seguridad nativa de la nube?
La seguridad nativa de la nube consiste en proteger plataformas, infraestructura y aplicaciones en la nube. La seguridad se integra desde el inicio del proceso de desarrollo hasta la producción, lo que garantiza varias capas de protección y un monitoreo continuo para detectar nuevas vulnerabilidades.

¿Qué es la nube nativa?
La nube nativa es un conjunto de principios de diseño, software y servicios enfocados en crear una arquitectura de sistemas que considera la nube como plataforma principal de alojamiento. El objetivo general de una aplicación nativa de la nube es lograr una alta escalabilidad, resiliencia y seguridad, aprovechando las capacidades de la infraestructura moderna basada en la nube y las metodologías de integración continua para agilizar el desarrollo y la implementación.
La nube nativa también permite simplificar las operaciones y eliminar gran parte de la carga que implica administrar e implementar la infraestructura de servidores tradicional, gracias a la automatización avanzada y al uso de modelos de infraestructura definidos por software.
Aunque la definición anterior ofrece una base sólida para comprender qué significa la nube nativa en general, también existen perspectivas más específicas sobre el tema, como la de Cloud Native Computing Foundation (CNCF).
En la mayoría de los casos, basta con entender la nube nativa como un enfoque que prioriza la nube. Sin embargo, CNCF promueve una perspectiva más neutral respecto de los proveedores, y respalda proyectos y software que pueden trasladarse entre proveedores de nube con una configuración adicional mínima. También pone mucho énfasis en los contenedores, en los que se centra su proyecto más grande, Kubernetes. Es evidente que una empresa puede encajar en la definición general de nube nativa y, a la vez, usar servicios alojados que quedan fuera del alcance de la definición de CNCF. Cada equipo debe decidir qué definición se adapta mejor a sus diseños.
¿Qué son las aplicaciones nativas de la nube?
Las aplicaciones nativas de la nube son programas de software y servicios creados y diseñados según el contexto de las arquitecturas nativas de la nube. Una aplicación nativa de la nube es una unidad específica y diferenciada que abarca los principios de diseño, los paradigmas de implementación y los procesos operativos necesarios para aprovechar los beneficios de la nube nativa.
A diferencia de los principios generales de la nube nativa, las aplicaciones específicas exigen tomar decisiones concretas de implementación y elegir herramientas y patrones, como los artefactos inmutables, que ayudan a reforzar las funciones nativas de la nube del sistema en general.
Aunque existen muchas formas de diseñar e implementar software que pueden considerarse nativas de la nube, todas estas aplicaciones comparten algunas características generales.
La mayoría de las aplicaciones nativas de la nube dependen en gran medida de la automatización en distintos aspectos. Esto abarca desde las pruebas y la compilación automatizadas del código principal de la aplicación hasta la implementación y el escalado automatizados de la infraestructura subyacente. Algunas de las empresas más exitosas realizan miles de implementaciones al día mediante un sistema CI/CD sólido y nativo de la nube, con un alto nivel de automatización. Nuestro informe sobre el estado de la seguridad nativa de la nube muestra que las empresas con mayores niveles de automatización nativa de la nube adoptan más técnicas de pruebas de seguridad. Las organizaciones con pipelines de implementación totalmente automatizados tienen el doble de probabilidades de integrar herramientas SAST y SCA en su SDLC para proteger sus aplicaciones nativas de la nube.
Las aplicaciones nativas de la nube también suelen emplear patrones de arquitectura de microservicios, con componentes desacoplados que se pueden escalar de forma individual para responder al aumento de la demanda de servicios. En general, las aplicaciones creadas con principios de DevOps casi siempre dependen implícitamente de la nube nativa para tener éxito.
Las aplicaciones nativas de la nube se pueden crear más rápido y escalar de forma más eficaz que los modelos de aplicaciones anteriores, lo que permite innovar con mayor rapidez y reducir el tiempo de comercialización de las empresas tecnológicas. Sin embargo, el modelo nativo de la nube implica un cambio fundamental que deben tener en cuenta quienes se encargan de proteger y operar estas aplicaciones: lo que antes era infraestructura ahora forma parte de la aplicación. En particular, para la seguridad, las aplicaciones nativas de la nube requieren una nueva forma de concebir el modelo de seguridad y redefinir las nociones de seguridad de las aplicaciones y operaciones.
Empieza con Capture the Flag
Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.
Herramientas de seguridad nativa de la nube frente a herramientas heredadas
Las herramientas y los procesos de seguridad diseñados originalmente para la infraestructura tradicional y heredada de alojamiento de software carecen de las funciones necesarias para afrontar adecuadamente el paradigma dinámico, altamente expuesto y «sin perímetro» de la arquitectura nativa de la nube.
En pocas palabras: las herramientas de seguridad heredadas no están diseñadas para responder a las exigencias de la nube moderna. Es posible que algunas herramientas y patrones de diseño habituales en una pila de software moderna ni siquiera existieran cuando se diseñaron originalmente ciertas herramientas de seguridad.

Un ejemplo claro es el uso generalizado actual de herramientas de infraestructura como código (IaC), como Terraform. Aunque técnicamente son «código», suelen representar un lenguaje específico de dominio (DSL) con funciones particulares, por lo que validarlas con herramientas tradicionales como las de análisis estático resulta difícil e ineficaz. Dado que las herramientas de IaC pueden aprovisionar grandes cantidades de infraestructura con relativamente poco esfuerzo, es fundamental protegerlas. Auditar el código y la configuración de IaC exige implementar prácticas recomendadas y herramientas que son recientes en la historia de la ingeniería de software e infraestructura.
Aunque las herramientas de IaC representan una brecha crítica en las herramientas de seguridad heredadas, son solo uno de los muchos desafíos que implica proteger aplicaciones nativas de la nube a escala. En esencia, proteger estas aplicaciones requiere trasladar al modelo de seguridad de las aplicaciones conceptos que antes formaban parte de las responsabilidades de seguridad de TI y operaciones. Además, la protección de estos componentes debe comenzar con los desarrolladores que crean las aplicaciones, en lugar de dejarse por completo en manos de los equipos de seguridad de TI y operaciones.
Protección de las aplicaciones nativas de la nube
La seguridad nativa de la nube exige reenfocar la seguridad para que avance al mismo ritmo que la estrategia general de nube nativa de una organización. Las aplicaciones nativas de la nube deben protegerse en el contexto de las aplicaciones, y el enfoque debe tener en cuenta los cambios en los equipos, los procesos y el modelo de infraestructura que las crean y operan. Por eso, un aspecto clave de la seguridad nativa de la nube debe ser la seguridad de las aplicaciones nativas de la nube: garantizar que las vulnerabilidades se identifiquen y corrijan durante el desarrollo. El enfoque debe ser integral, con la seguridad integrada en todo el ciclo de vida del desarrollo de software.
Los desarrolladores deben contar con el respaldo de una plataforma de seguridad para enfocarse en crear diseños que cumplan los objetivos del negocio y aprovechen los principios de la nube nativa. Al mismo tiempo, deben reconocer que, a medida que se define una mayor parte de la infraestructura durante el desarrollo de las aplicaciones, el equipo de desarrollo también asume la responsabilidad de garantizar que el código sea seguro. Si la arquitectura de la nube no se considera fundamental en cada conversación y decisión de diseño, es posible que no se logre crear una aplicación verdaderamente nativa de la nube.
Una vez establecidas las bases del diseño, probablemente comience la programación de la aplicación y la infraestructura. En esta etapa, es fundamental empezar a probar el código lo antes posible dentro del ciclo de vida de desarrollo de software seguro (SSDLC). Como se mencionó anteriormente, el enfoque heredado de análisis estático como única medida ya no es suficiente. Las pruebas estáticas de seguridad de aplicaciones (SAST), las pruebas dinámicas de seguridad de aplicaciones (DAST), las pruebas interactivas de seguridad de aplicaciones (IAST) y las pruebas de seguridad de aplicaciones móviles (MAST) son solo algunas de las pruebas que deben realizarse al código de las aplicaciones nativas de la nube.
Protección de la infraestructura nativa de la nube
La protección de la infraestructura nativa de la nube de una aplicación también plantea desafíos únicos. Las configuraciones de IaC dan lugar a la implementación de infraestructura activa y, a menudo, los desarrolladores escriben al mismo tiempo código de infraestructura y de aplicación. Se necesitan herramientas de seguridad capaces de abordar este desafío particular, que se integren sin problemas en los flujos de trabajo existentes y brinden información y recomendaciones para corregir problemas directamente a los desarrolladores. Por lo general, esto implica mostrar la información de seguridad directamente en los IDE y permitir las pruebas locales mediante herramientas CLI.
Además de proporcionar información de seguridad en el entorno de desarrollo local, las herramientas de seguridad nativa de la nube también deben integrarse en cada etapa del ciclo de vida del software. Debe priorizarse el análisis automatizado en los sistemas de administración de código fuente y el análisis de artefactos derivados, como las imágenes de contenedores, mediante sistemas CI/CD. Los resultados de estos análisis de integración también deben incluir recomendaciones para corregir problemas y facilitar que los desarrolladores decidan cuáles priorizar.
La infraestructura local heredada a menudo podía depender de un perímetro de red lógico para impedir el tráfico no autorizado hacia un conjunto específico de recursos internos, que normalmente contaba con controles de seguridad poco estrictos. En la nube nativa, la idea de un perímetro deja de tener valor real. En la mayoría de los proveedores de nube, casi cualquier recurso puede hacerse accesible públicamente con unas pocas líneas de configuración o un cambio en la interfaz de usuario. Los datos que parecen permanecer en el mismo dominio lógico pueden atravesar los límites de varias redes y ubicaciones físicas antes de llegar a su destino. Ante esta realidad, las empresas deben adoptar un modelo de «confianza cero», en el que se considera que cualquier componente o servicio puede ser objeto de un ataque. La autenticación se realiza entre todos los nodos o recursos de un sistema, sin importar su ubicación en la red.
A medida que aumenta el énfasis en la seguridad de las aplicaciones nativas de la nube durante el desarrollo, es importante recordar que la necesidad de soluciones de seguridad nativa de la nube también se extiende a los entornos de producción en vivo. La arquitectura heredada solía contar con un único tipo de recurso de cómputo: el servidor físico. Las herramientas de seguridad tradicionales protegían el perímetro de estos recursos mediante configuraciones de red estáticas y firewalls para controlar el acceso y el flujo de tráfico. La infraestructura nativa de la nube se diseña desde cero para ser altamente dinámica, con implementaciones rápidas de nuevas aplicaciones y cambios en la configuración de los recursos.
¿Qué es una arquitectura de seguridad nativa de la nube?
Una arquitectura de seguridad nativa de la nube es una estrategia para garantizar la visibilidad de todo lo que se implementa y ejecuta en la nube, y permite que los equipos de seguridad monitoreen y protejan las aplicaciones, la infraestructura y las plataformas en la nube. Obtén más información sobre la arquitectura de seguridad en la nube.
Las aplicaciones nativas de la nube pueden utilizar una gran variedad de recursos de cómputo y entornos de ejecución, como máquinas virtuales, contenedores y funciones sin servidor. Los contenedores, otro producto del ecosistema nativo de la nube, requieren herramientas de seguridad diseñadas específicamente para ayudar a monitorear y proteger sus entornos de ejecución. El análisis de artefactos y configuraciones en tiempo de ejecución es fundamental para mantener una postura de seguridad sólida en entornos nativos de la nube.
Empieza con Capture the Flag
Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.
Las aplicaciones nativas de la nube necesitan plataformas de seguridad nativas de la nube
Aunque está en constante cambio, la nube llegó para quedarse. A medida que se acelera el ritmo de la innovación, será necesario desarrollar nuevas tecnologías y herramientas para ayudar a las empresas a mantenerse al día. Con demasiada frecuencia, las empresas trasladan a la nube su infraestructura de software local existente, imponiendo abstracciones y modelos de seguridad obsoletos, y desaprovechando las ventajas de las aplicaciones nativas de la nube.
Los modelos y herramientas de seguridad diseñados para la época del alojamiento local representan un riesgo particularmente grave. La mayoría se creó antes de que la nube se convirtiera en una plataforma de alojamiento de primer nivel y no basta para ofrecer una seguridad adecuada. Poder escalar y, sobre todo, proteger tus aplicaciones es fundamental en un entorno sumamente acelerado y competitivo. Las empresas que quieran mantener su competitividad en la era actual de la nube deben enfocarse en crear aplicaciones nativas de la nube y usar plataformas de seguridad nativas de la nube para protegerlas.
«Hay muchas piezas en movimiento cuando implementas software»,... «Si lo haces todo manualmente, consume mucho tiempo, es tedioso y propenso a errores, y no querrás hacerlo con frecuencia. Por eso supimos que teníamos que automatizarlo todo, incluida la seguridad, con Snyk».
Alex Emery, gerente de producto de plataformas en la nube en Coveo
Protege todos los componentes de tus aplicaciones nativas de la nube en una sola plataforma con Snyk.