#1 Líder mundial en resiliencia de datos
Guía de Veeam para los clientes afectados por la actualización de contenido de CrowdStrike

¿Qué es la seguridad de los contenedores?

La seguridad de contenedores hace referencia al conjunto de herramientas y procesos de seguridad que se usan para proteger las cargas de trabajo de contenedores. Esto incluye la protección de las imágenes utilizadas en los contenedores, el propio contenedor y las plataformas de orquestación de contenedores como Kubernetes, AWS ECS y Red Hat OpenShift Container Platform. Aunque los contenedores incorporan ciertas características de protección, siguen siendo vulnerables a los ataques. Otros aspectos de la seguridad de los contenedores que se deben tener en cuenta son la creación de contenedores seguros y el establecimiento de un entorno de ejecución protegido. Además de proteger activamente los contenedores, es importante adoptar procesos sólidos de backup y recuperación para Kubernetes y otros servicios de contenedores.

Contenedores

Un contenedor es una unidad estándar de software que empaqueta el código y todas sus dependencias, por lo que la aplicación se ejecuta de forma rápida y fiable de un entorno informático a otro. Los contenedores comparten el núcleo del sistema operativo de la máquina y, por lo tanto, no requieren un sistema operativo por aplicación, lo que aumenta la eficiencia del servidor y reduce los costos de servidor y licencias. Los desarrolladores usan esta capacidad para ejecutar microservicios y otras aplicaciones dentro de las paredes de un contenedor virtual, aislado de otras aplicaciones en un servidor o computadora. A diferencia de las máquinas virtuales (VM), los contenedores son portátiles y pueden ejecutarse en cualquier entorno que tenga un servicio daemon que admita el tipo de contenedor. Si bien Docker es la tecnología de contenedores más popular, existen muchos otros tipos, incluido el contenedor original de Linux LXC.

Plataformas de orquestación

Aunque los contenedores pueden ejecutarse de forma independiente, es más común utilizar plataformas de software específicas para administrar y configurar contenedores, especialmente si se trabaja con varios contenedores. Algunos ejemplos comunes de estas plataformas son Kubernetes, AWS Elastic container Service y Docker Swarm.

¿Por qué es importante la seguridad de los contenedores?

Aunque los contenedores aíslan las aplicaciones e incorporan cierto grado de seguridad, no dejan de ser vulnerables a los ataques de ciberseguridad. Los puntos de entrada incluyen imágenes comprometidas, un control de acceso débil y un aislamiento deficiente entre los contenedores y el software host. Otra forma común para que los piratas informáticos accedan a los contenedores es a través de imágenes corruptas de terceros utilizadas como bloques de construcción de contenedores. Una imagen de contenedor es un archivo ejecutable estático que contiene bibliotecas, herramientas y software necesarios para crear un contenedor y, a menudo, se compone de varias capas sobre una imagen base. Una imagen pirateada utilizada en varios contenedores podría causar daños graves.

Otro factor importante es dónde y cómo almacena los datos el contenedor. Inicialmente, los contenedores eran de tipo sin estado, es decir, se ejecutaban sin almacenar datos de estado y sin dejar rastro cuando se cerraban. El sistema operativo anfitrión almacenaba datos persistentes. Sin embargo, a medida que los desarrolladores usan contenedores para compartimentar las aplicaciones tradicionales y otras aplicaciones que no están escritas para la contenedorización, existe la necesidad de almacenar datos de estado (statefulness). Aunque Docker, Kubernetes y otras empresas ofrecen formas de gestionar los contenedores con estado, es crucial proporcionar formas de restaurar los contenedores con control de estado tras un fallo del sistema mediante el uso de backups continuos.

Componentes de seguridad del contenedor

La seguridad del contenedor se puede dividir en varios componentes, incluidos el desarrollo, el entorno de compilación, el entorno de tiempo de ejecución y la orquestación.

Desarrollo de Contenedores

Debe tener mucho cuidado para verificar que el software y las imágenes usadas en el desarrollo de contenedores estén bien escritos y no contengan vulnerabilidades, defectos de configuración o malware. Los registros de imágenes deben ser seguros y solo contener imágenes de confianza. Utilice siempre herramientas de análisis de contenedores para comprobar si hay vulnerabilidades y evitar almacenar imágenes obsoletas o desactualizadas.

Entorno de compilación de contenedores

El entorno de compilación debe ser totalmente seguro. Los desarrolladores deben usar herramientas automatizadas para verificar los componentes utilizados y, preferiblemente, adoptar canalizaciones de CI/CD automatizadas que minimicen el riesgo y aumenten la visibilidad.

Entorno de tiempo de ejecución

El entorno de ejecución debe estar debidamente protegido con rigurosos protocolos de control de acceso. El uso de políticas de seguridad automatizadas para comprobar si hay infracciones y vulnerabilidades puede ayudar a minimizar los riesgos de seguridad. Los contenedores en sí deberían ejecutarse con el número mínimo de permisos requeridos, lo que reduce la posibilidad de que un atacante aproveche un contenedor con privilegios elevados para obtener el control del host.

Orquestación e infraestructura

Gestionar contenedores a escala con plataformas como Kubernetes es un reto. Es fundamental asegurarse de que el sistema operativo del host sea seguro y seguir siempre las mejores prácticas utilizando las herramientas proporcionadas por la plataforma de orquestación. Del mismo modo, asegúrese de que el servidor y la infraestructura de red estén seguros.

Ventajas de la seguridad de los contenedores

Los beneficios de una buena seguridad de contenedores se extienden a todos los aspectos del desarrollo y la implementación de contenedores. La seguridad eficaz de los contenedores reduce el riesgo al minimizar las superficies de ataque. Mejora la transparencia, aumenta la integridad del pipeline y mejora la seguridad y la administración del sistema.

Reduce la superficie de ataque

Las buenas políticas de seguridad de contenedores reducen la superficie de ataque. Estas políticas limitan los puntos de acceso potenciales al mantener las interfaces simples y pequeñas. Las directivas de privilegios mínimos que restringen el acceso limitan la posibilidad de que se produzcan infracciones de seguridad, y cada contenedor tiene su límite de seguridad único.

Mejora la transparencia

La relativa simplicidad de los contenedores permite a los usuarios analizar y comprobar el contenido de los contenedores, especialmente en comparación con las máquinas virtuales. El escaneo de imágenes y el uso de imágenes de confianza ayudan a garantizar que las imágenes sean seguras.

Fomenta la integridad del pipeline

Los fuertes controles de canalización CI/CD evitan que los hackers accedan a los registros, estaciones de trabajo y servidores de compilación. Estos deben estar respaldados por auditorías periódicas y análisis automatizados de vulnerabilidades. Los administradores deben limitar el acceso a lo que sea suficiente para permitir que los usuarios completen sus tareas.

Mejora la seguridad general

El énfasis en la protección de los contenedores y su infraestructura de soporte actúa como un catalizador para las mejoras generales de seguridad de TI. Algunos ejemplos son las herramientas de detección de vulnerabilidades y tiempo de ejecución configuradas específicamente para contenedores. Estos, junto con el software estándar de detección de intrusiones y otras herramientas, conducen a una mejora general de la seguridad.

Simplifica la administración

Una seguridad eficaz de los contenedores significa que es más fácil gestionar los contenedores. Los desarrolladores tienen menos preocupaciones a la hora de escalar aplicaciones de contenedores. Otro beneficio de una buena seguridad de contenedores es la reducción del tiempo y el esfuerzo necesarios para administrar entornos en contenedores.

Cómo asegurar un contenedor

La seguridad de los contenedores es un proceso de varios pasos que incluye la protección de la imagen del contenedor, la protección del entorno de red y la seguridad del pipeline de construcción. Otros aspectos a considerar incluyen la protección de bases de datos basadas en la nube y la adopción de estrategias de backup de contenedores.

Verificar las imágenes del contenedor

Seleccione cuidadosamente las imágenes de contenedor, especialmente las imágenes base, de fuentes y registros acreditados. Asegúrese de que puede acceder al código fuente del componente. Incluso entonces, es mejor probar a fondo estas imágenes para encontrar vulnerabilidades. El mismo concepto se aplica al agregar aplicaciones o cambiar configuraciones.

Proteger la infraestructura del host del contenedor

Utilice siempre un sistema operativo de host de contenedor que ofrezca un alto grado de aislamiento de contenedor. Revise las configuraciones predeterminadas para eliminar puntos de ataque, como la activación de las características de control de acceso de Kubernetes. Utilice herramientas de supervisión de seguridad de terceros para supervisar el entorno del host.

Proteger el entorno de red del contenedor

Utilice sistemas de filtrado web y prevención de intrusiones para identificar y detener los ataques maliciosos y el contenido de Internet. Abra solo los puertos necesarios para la aplicación y utilice la seguridad de la capa de transporte (TLS) para cifrar los datos. Supervise internamente el tráfico de red entre contenedores para detectar actividades inusuales que puedan indicar que un atacante se ha afianzado. Permitir la conectividad entre contenedores solo cuando sea absolutamente necesario.

Bloquear la pila de administración

Controle cuidadosamente los permisos en la plataforma de host de contenedores. Active características de la plataforma que mejoren la seguridad de la red, como restringir el tráfico entre pods de Kubernetes. Utilice un registro independiente y endurecido para mejorar la seguridad del registro y protegerlo de los ataques.

Automatizar y garantizar la implementación del pipeline CI/CD

Proteja el servidor de compilación, las estaciones de trabajo y el repositorio de código para evitar que los atacantes se afiancen en la canalización de entrega. Use políticas de control de acceso de privilegio mínimo y audite de forma periódica. Automatice la implementación del pipeline y utilice el análisis de vulnerabilidades para señalar problemas de seguridad.

Adopte estrategias sólidas de backup de contenedores

Realice backups de forma continua de sus contenedores y datos, y pruebe de forma regular su capacidad para restaurar las cargas de trabajo. Tenga en cuenta que muy pocos contenedores son realmente sin estado, así que asegúrese de que sus políticas de backup incluyan backups de contenedores y componentes de base de datos. Aclare quién es el responsable de las estrategias de backup de contenedores.

Mejores prácticas para la seguridad de contenedores

El enorme crecimiento en la adopción de contenedores, particularmente en la nube, significa que hay un aumento significativo en el riesgo de ciberseguridad. Para minimizar este riesgo, es esencial implementar las mejores prácticas para la seguridad de los contenedores, que incluyen:

  • Use imágenes de confianza. Escanee todas las imágenes en busca de vulnerabilidades; obtenga imágenes únicamente de fuentes de confianza y compruebe siempre la procedencia de las imágenes.
  • Use contenedores delgados y de corta duración. Mejore la seguridad de los contenedores manteniendo el número de archivos al mínimo, restringiendo su vida útil a un período lo más corto posible y reemplazando los contenedores regularmente.
  • Cree un entorno de ejecución seguro. Mantenga un entorno seguro ejecutando contenedores en una plataforma segura, activando las características y protocolos de seguridad de la plataforma y operando un registro seguro.
  • Adopte un control de acceso robusto. Limite el acceso del contenedor a los recursos informáticos a lo que se requiera, utilice el control de acceso de usuario basado en roles y restrinja el acceso del administrador a la creación de infraestructura únicamente.
  • No mezcle aplicaciones en contenedores. Mantenga las aplicaciones de misión crítica separadas de los hosts de contenedor y agrupe los contenedores según su función y finalidad en hosts separados para minimizar los daños colaterales en caso de una vulneración de la seguridad.
  • Adopte una monitorización continua. Use aplicaciones de monitorización continua, como un control de autoprotección de aplicaciones en tiempo de ejecución (RASP) y herramientas de vulnerabilidad y tiempo de ejecución de contenedores.

Cómo empezar con Veeam

El rápido crecimiento de las aplicaciones de contenedores aumenta en gran medida las posibles vulnerabilidades a los ciberataques. Tenga en cuenta que los contenedores representan un cambio importante en la infraestructura y que las soluciones de seguridad convencionales pueden no proporcionar la protección adecuada. Por lo tanto, es crucial invertir en soluciones de seguridad y mejores prácticas destinadas a mejorar la seguridad de los contenedores. Además, siempre debe usar software de backup diseñado específicamente para la infraestructura de contenedores. Veeam ofrece varias plataformas de administración de datos fáciles de usar que incluyen características tales como:

  • Funciones flexibles de backup y restauración
  • Capacidades de recuperación ante desastres
  • Fácil escalabilidad
  • En las instalaciones locales y en la nube

Entre ellos se encuentra Veeam Kasten for Kubernetes, que es una solución nativa de Kubernetes para backup, recuperación tras desastres y la habilitación de la movilidad de aplicaciones a través de diferentes clústeres, infraestructura y distribuciones de Kubernetes.

Comencemos

5 razones

Ver una demostración

Descubra cómo puede lograr la resiliencia de datos frente a cualquier amenaza con Veeam

5 razones

Contáctenos

Obtener ayuda para elegir la solución adecuada para su organización

5 razones

Foros de investigación y desarrollo de Veeam

Obtenga ayuda para sus productos y software de Veeam