El desarrollo de aplicaciones en contenedores conlleva enormes ventajas Sin embargo, la complejidad de su infraestructura puede conllevar importantes riesgos de seguridad que hay que saber solventar en casa etapa de desarrollo.
Sin duda, la confección de aplicaciones en contenedores conlleva importantes ventajas para los desarrolladores. No solo por la capacidad que les permite a la hora de ejecutarlas en cualquier hardware, infraestructura o entorno cloud, sino también porque el tiempo de ejecución solventa muchos problemas que pueden darse por el sistema operativo, por ejemplo.
No obstante, a pesar de las muchas ventajas de los contenedores, también hay que tener mucha preocupación con los aspectos relacionados con la seguridad. De hecho, son susceptibles de sufrir amenazas en cada etapa del proceso de desarrollo. Por ello, desde Trend Micro apuntan en su informe “Seis pasos para la seguridad integral de los contenedores” las claves para minimizar estos riesgos a la hora de desarrollar en contenedores.
Asegurar el host del contenedor
Es recomendable que los contenedores estén alojados en un sistema operativo centrado en contenedores, lo que reducirá la superficie de ataque si se eliminan servicios innecesarios. Se deben agregar herramientas de monitorización de los hosts y utilizar controles de seguridad que se encarguen de las cargas de trabajo de los contenedores.
Asegurar el entorno de red
Es importante aprovechar los controles como los sistemas de prevención de intrusiones (IPS) y el filtrado web para detener ataques y filtrar el contenido malicioso. Monitorizar el tráfico entre contenedores utilizando también IPS.
Validar la configuración de cada contenedor y asegurar que están libres de vulnerabilidades, es clave
Proteger el stack de gestión
El registro de contenedores debe estar protegido y monitorizado. La instalación de kubernetes debe bloquearse y aprovechar funciones como Pod y las políticas de red para hacer cumplir los estándares de seguridad y desarrollo. Es clave hacer uso de herramientas para escanear y validar la configuración de cada contenedor.
Construir sobre una base segura
Revisar las comunicaciones de los equipos de proyecto sobre las dependencias utilizadas en las aplicaciones. También es importante asegurarse de que los contenedores estén libres de vulnerabilidades y no estén expuestos.
Proteger el ciclo de construcción
Según Trend Micro, las estaciones de trabajo de los desarrolladores deben instalarse con controles de endpoints potentes para prevenir amenazas. Para ello también es importante implementar un esquema de control de acceso que sea exhaustivo y consistente, por ejemplo, garantizando que solo los usuarios autorizados pueden acceder a los repositorios de código, o lanzar complicaciones que se envían a producción.
Asegurar su aplicación
Por último, es vital que el código siga las mejores prácticas para mejorar su calidad. Los controles de autoprotección en tiempo de ejecución deben utilizarse para ayudar a conectar los puntos entre las vulnerabilidades de seguridad y los problemas en líneas de código específicas.
Imagen inicial | Guillaume Bolduc