La Seguridad de Containers Azure es la combinación de realizar escaneos de vulnerabilidades a lo largo del ciclo de vida entero del container, usando solamente imágenes confiables de registros privados, limitando privilegios y acceso a usuarios y escaneando y monitoreando continuamente todas las actividades.
Seguridad de Containers Azure
Microsoft Azure es la segunda aplicación basada en la nube más grande y la que está en más rápido crecimiento actualmente disponible en el mercado. Usada por el 95% de las empresas Fortune 500, Microsoft Azure es una plataforma de cómputo en la nube que ofrece a los desarrolladores la libertad de desarrollar, gestionar e implementar aplicaciones donde sea. Ofrece una gran variedad de servicios, incluyendo Máquinas Virtuales, Internet of Things, y Containers.
Containers de Microsoft Azure ofrecen tanto a desarrolladores como a organizaciones la capacidad y la escalabilidad que buscan en un servicio en la nube, junto con la infraestructura necesaria. Sin embargo, aún cuando existen muchos beneficios de construir containers en Azure, no ofrecen seguridad nativa integrada. Depende del cliente asegurar la protección de sus containers en Azure.
Cosas para considerar
Estas son algunas cosas que debe considerar para proteger sus containers en Azure:
Imágenes
Como con cualquier container, la protección de imágenes en los containers de Azure es uno de los pasos de seguridad más importantes que puede tomar. Los containers son construidos desde imágenes almacenadas en repositorios. Cada imagen tiene múltiples capas de software que pueden, individualmente, contener vulnerabilidades y potencialmente verse comprometidas. Al permitir que ingresen imágenes de container aprobadas a su ambiente de desarrollo, reduce de forma importante la superficie de ataque para los cibercriminales. Es importante tener procesos y herramientas explícitos que monitoreen y prevengan el uso de imágenes de container no aprobadas.
Otra opción para controlar el flujo de containers en el ambiente es el “signing” o el “fingerprinting” de imágenes. Esto puede ofrecer una cadena de custodia que le permite verificar la integridad de los containers y de las imágenes. Antes de ingresar cualquier imagen el registro, es crucial escanearla para encontrar vulnerabilidades en el container como una última evaluación después de que el desarrollo del mismo está completo.
Credenciales
La mejor práctica del menor privilegio también debe de aplicarse a los containers de Azure. Cuando se explota una vulnerabilidad, ya sea a través de imágenes o kernels, le da acceso al atacante e incluso privilegios para acceder a varios clusters y regiones. Asegurarse de que los containers están corriendo con el menor privilegio y accesos requeridos posibles para cumplir con sus funciones reduce su exposición al riesgo.
Al eliminar privilegios no necesarios, en caso de que un empleado cambie de posición o deje la empresa, reduce la superficie de ataque del container. También puede reducir la superficie potencial de ataque al eliminar cualquier privilegio no necesario o no usado del runtime del container.
Registro
Los containers de Azure se construyen a partir de imágenes que se almacenan en un registro público o privado. Aunque puede parecer más sencillo obtener imágenes desde un registro público, esto no garantiza la seguridad. Como se mencionó arriba, las imágenes de container tienen múltiples capas de software, y cada capa puede tener sus propias vulnerabilidades.
Las imágenes de un registro público tienen más posibilidades de tener software malicioso que aquellas en un registro privado. Las imágenes de un registro privado tienen más posibilidades de haber sido escaneadas, y por lo tanto ofrecen un menor grado de riesgo. Los registros privados son gestionados y tienen control de accesos basado en roles, ofreciendo más governance y seguridad. Algunos ejemplos de registros privados de imágenes incluyen Azure Container Registry, Docker Trusted Registry, o el proyecto open-source Harbor de la Cloud Native Computing Foundation.
Kernel
Todas las computadoras están construidas sobre piezas de hardware. El kernel, una pieza de software embebida dentro del sistema operativo, sirve como un puente para que puedan interactuar el hardware y el resto del sistema. A diferencia de las máquinas virtuales, los containers tienen tráfico de red abierto a lo largo de sus servicios así como a través de un kernel compartido. La capacidad de compartir el kernel host del sistema operativo es uno de los mayores beneficios de los containers; sin embargo, también es una fuente importante de preocupaciones de seguridad.
No hay mucho aislamiento entre el kernel y los containers durante el runtime, lo cual significa que una vulnerabilidad localizada en el kernel compartido del sistema operativo puede usarse para explotar containers u obtener acceso a ellos. Los atacantes pueden manipular los comportamientos del OS sin inyectar código malicioso, simplemente deben alternar los datos del kernel.
Protegiendo containers de Azure
Con su portabilidad, escalabilidad y confianza, no es sorpresa que muchas empresas busquen usar containers de Microsoft Azure en sus aplicaciones. Al asegurar que se completen los escaneos de vulnerabilidades a través de los ciclos de vida de los containers y que toda la actividad es monitoreada y registrada, puede estar tranquilo de que sus containers de Azure están seguros.
Investigaciones Relacionadas
Artículos Relacionados