aplicaciones serverless

Las aplicaciones serverless ganan cada vez más popularidad. Esto es así, principalmente por el hecho de que es más fácil su adopción y los beneficios son visibles considerando todas las perspectivas. El desarrollador, los líderes de los negocios, y el usuario, se ven beneficiados. Sin embargo, ¿es segura su adopción? Sí que lo es, siempre y cuando se adopten las prácticas adecuadas.

Una de esas prácticas es la adopción de herramientas para facilitar la gestión de las aplicaciones serverless. Aunque, la sola adquisición e implementación no es suficiente. Es necesario tener más control sobre las mismas y las herramientas de código abierto (open-source) nos proveen esa oportunidad, además, es importante no descuidar el aspecto de la seguridad.

Como en toda situación, cualquier amenaza de seguridad que se detecte a tiempo puede ser controlada y arreglada. Así, se prevendrán potenciales complicaciones en plena fase de adopción de la aplicación o las aplicaciones que ofrezca una determinada organización. La automatización de las operaciones relacionadas a la seguridad mediante herramientas especializadas representa un gran beneficio. Tanto para la seguridad de las propias aplicaciones, como para sus fases de mantenimiento.

¿Qué es Serverless?

Es probable que sea la primera vez que leas al respecto. Sea cual fuese el caso, es bueno contar con una definición de la arquitectura Serverless en cuestión. Serverless es un modelo de ejecución de computación en la nube, el proveedor de servicios en la nube se encarga de la administración dinámica del alojamiento y provisión de los servidores a sus clientes.

En consecuencia, una aplicación desarrollada dentro de la arquitectura serverless se ejecuta en contenedores de cómputo stateless. Dichos contenedores se activan mediante eventos, dichos eventos se desencadenan mediante una serie de parámetros configurables. A esto último, en inglés, se lo conoce simplemente como event triggers.

Además, los contenedores que alojan a las aplicaciones serverless son de carácter efímero, lo que significa que pueden estar activos por un corto tiempo si es que los «invoca» una sola vez. Los mismos son completamente gestionados por el proveedor de servicios en la nube.

aplicaciones serverless

No es inseguro asumir que la ventaja principal, la que desencadena a las demás es el coste. El mismo se reduce considerablemente, en relación a las arquitecturas de aplicaciones tradicionales. Todo aquel que sepa respecto al mantenimiento de aplicaciones y su infraestructura tradicional, es extremadamente consciente de lo laborioso y costoso que es. Las extensas y agotadoras jornadas de trabajo para el personal especializado es tan solo uno de los inconvenientes.

Las aplicaciones serverless se basan en ejecuciones para poder calcular el coste final, lo que significa que se paga por la cantidad de ejecuciones. El precio por milisegundos varía con la cantidad de memoria que necesitas. En términos más sencillos, solamente pagas por el cómputo que necesitas, en vez de hacerlo por una cantidad que muy probablemente, no vayas a necesitar. Uno de los proveedores líderes es Amazon, mediante su división Amazon Web Services, su propuesta se denomina AWS Lambda y puedes echar un vistazo si acaso estás interesado en comenzar en el sub-mundo Serverless.

Recomendaciones de herramientas de seguridad de aplicaciones Serverless

Más arriba hemos comentado que los contenedores que alojan a este tipo de aplicaciones son administrados en un 100% por el proveedor de servicios que hayas escogido, como AWS Lambda que también lo hemos citado. El hecho de que el control del cómputo que se necesita para mantener en acción a las aplicaciones serverless, ya no corre por parte de la organización responsable de su desarrollo, desencadena otro problema: confiar en mayor medida en terceras partes para la gestión de aspectos delicados de la aplicación y su infraestructura.

Por eso, hay que contar con herramientas que nos puedan ayudar a minimizar riesgo de aparición y/o penetración de amenazas de seguridad ya existentes, para posteriormente eliminarlas. A continuación, compartiremos 3 herramientas que, sin duda, contribuirán a la seguridad y a la mejora de las aplicaciones Serverless.

Docker-Lambda

Es un ecosistema de tipo sandbox (caja de arena) que replica todas las configuraciones y funcionalidades de la función Lambda, la cual es ofrecida por Amazon Web Services. Dicha réplica es idéntica en más de un 90%. Ahora bien, ¿qué incluye la misma?

  • Librerías y APIs.
  • Nombres de usuarios y sus permisos
  • Contextos de los distintos llamados a Funciones Lambda

El beneficio directo de la adopción de esta herramienta es que lograrás emular todo lo que Amazon Web Services hace por ti en relación a la infraestructura de tu aplicación serverless. Es bastante más seguro realizar pruebas de refuerzo de seguridad o incluso algunas de pentesting en un entorno aislado del que es oficial para el usuario. No debemos olvidar que todo esto tiene como fin último una experiencia de usuario buena y, sobre todo, segura. Puedes echar un vistazo a lo que ofrece Docker-Lambda en el siguiente enlace de GitHub.

Nota: un ecosistema de tipo sandbox (caja de arena) es un entorno de pruebas que aísla cualquier tipo de cambio de código que no haya sido probado en el ambiente de producción en la aplicación. Es decir, la aplicación oficial y el entorno productivo que la hace funcionar, no se ve afectada por cualquier cambio que se desee probar.

Protego

Es una aplicación web que prueba los distintos aspectos de seguridad que se deben tener en cuenta durante todo el ciclo de desarrollo de una aplicación. Desde el desarrollo, despliegue, hasta la ejecución de la misma. Protego ofrece soporte para Amazon Web Services, Google Cloud Platform y Microsoft Azure, los cuales son otros dos proveedores de servicios Serverless muy populares.

Por otro lado, soporta funciones que fueron desarrolladas con lenguajes de programación y frameworks como Java, Python y Node.js. Una de sus distinciones que utiliza el modelo de «menor privilegio» o least privilege, el cual provee solamente los permisos necesarios para cada función presente en tu aplicación. Las políticas de seguridad de las aplicaciones no deben dejarse de lado en el ámbito Serverless. Esta aplicación web permite crear y configurar de manera personalizada todas las políticas de seguridad, por lo que puedes probar todas las políticas de seguridad creadas por ti.

También es posible obtener predicciones de potenciales amenazas de seguridad y cualquier tipo de fallos en la aplicación, incluso antes de tener que desplegar la aplicación en producción, es decir, dejarla lista para el usuario. Esto, a razón de que actualizan de forma constante la lista de vulnerabilidades, basados en diversos recursos y algoritmos. Toda la información obtenida puede convertirse en un reporte, mediante integración con diversas herramientas externas. Puedes acceder a Protego aquí.

Snyk

Mediante esta herramienta es posible automatizar tanto los procesos de mantenimiento como los relacionados con la seguridad de la aplicación en sí. Detecta vulnerabilidades en dependencias de la aplicación, de manera que puedas tenerlos bajo control y así, evitar futuros inconvenientes. Monitoriza la aplicación de manera constante y realiza las revisiones completas en búsqueda de amenazas de seguridad.

Configura y personaliza a Snyk de acuerdo a tus necesidades. Por ejemplo, puedes elegir la frecuencia con la cual se realizarán las pruebas, revisiones y más. Se puede configurar como para que evites consultar la propia herramienta frecuentemente. Ya sea mediante notificaciones vía Slack o correo electrónico, toda la información necesaria sobre tu aplicación Serverless estará en tus manos y lo más importante, a tiempo.

Es compatible con varios proveedores de servicios en la nube, incluyendo Amazon Web Services y Microsoft Azure. Puedes acceder a esta herramienta mediante este enlace.

¿Desarrollas aplicaciones serverless? Asegúralas con estas herramientas

Otros aspectos de seguridad que no debemos descuidar

Más arriba, comentamos el hecho de que las aplicaciones Serverless funcionan mediante eventos. Dichos eventos pueden contemplar a los comandos de puertas de enlace de las API, eventos de almacenamiento en la nube, cambios en las bases de datos, conjuntos de datos, telemetría del Internet de las Cosas, correos electrónicos y mucho más. El cibercriminal se ve beneficiado a razón de que cada uno de estos eventos expande sus posibilidades de atacar. En consecuencia, se vuelve más difícil la eliminación de acciones maliciosas como las inyecciones de datos y/o eventos. No solamente se deben utilizar firewalls tradicionales orientadas a aplicaciones web, sino también, soluciones de seguridad que monitoreen a las aplicaciones en tiempo de ejecución.

¿Qué hay con los datos? No olvidemos que es el activo más valioso del ámbito tecnológico, ni hablemos de las aplicaciones. La exposición de datos de carácter sensible ha sido siempre una preocupación, especialmente del lado de los usuarios, quienes día a día los utilizan para un sin fin de propósitos. Muchas de las prácticas implementadas con aplicaciones tradicionales son compatibles con las que son Serverless.

Sin embargo, no descuidemos el hecho de que un cibercriminal puede echar ojo a otras fuentes de datos para cumplir con sus objetivos maliciosos. Es posible que logre acceder a los distintos servicios de almacenamiento en la nube contratados y de las tablas de bases de datos. Pueden prescindir fácilmente de los servidores.

A pesar de que la arquitectura de aplicaciones Serverless aún no está en su fase más madura, su adopción crece exponencialmente. En consecuencia, la seguridad debe convertirse en una prioridad no solamente para los desarrolladores o responsables del área de tecnología. Así también, los profesionales en Seguridad de la Información y Ciberseguridad tienen como deber interiorizarse al respecto especialmente para hacer frente a las numerosas amenazas presentes y futuras.

El artículo ¿Desarrollas aplicaciones serverless? Asegúralas con estas herramientas se publicó en RedesZone.


0 Comentarios

Deja un comentario

A %d blogueros les gusta esto: