El checklist para mantener seguras las aplicaciones en Kubernetes

Kubernetes es una herramienta de orquestación de open source muy popular que está arrasando en el mercado de contenedores. Contar con una herramienta de orquestación de contenedores como Kubernetes es vital para las organizaciones, ya que de otro modo no podrían ejecutar una aplicación en un contenedor para fines de producción. Sin ella, intentar implementar manualmente y gestionar contenedores utilizando una línea de comandos sería logísticamente imposible a gran escala.

Son numerosos los beneficios de las tareas automatizadas como la implementación, escalado y la gestión general de aplicaciones en contenedores. Resulta fundamental comprender que esta misma herramienta puede provocar enormes vacíos en su seguridad si no se implementan las medidas adecuadas. Es importante también señalar que sólo Vmware y Red Hat dan soporte en contenedores.

Según los últimos informes, alrededor del 86 % de las organizaciones gestionan parte de sus workloads de contenedores utilizando Kubernetes. Sin embargo, la seguridad sigue siendo una gran preocupación. En esta misma encuesta, casi la mitad de los encuestados declararon que sus organizaciones no cuentan con una inversión adecuada en seguridad de contenedores. Sin una estrategia en marcha, esto puede provocar rápidos retrasos en la adopción de Kubernetes o graves incidentes de seguridad.

Más allá de las funciones básicas, como el refuerzo del control de acceso con base en los roles, Kubernetes no ofrece nada en lo que a seguridad de su aplicación respecta, ni la protege de las vulnerabilidades de seguridad. Es aquí donde debe utilizar programas adicionales o proveedores externos para garantizar que se implementan los sistemas de seguridad adecuados.

CONFIGURACIONES PREDETERMINADAS

Uno de los principales factores a considerar cuando proteja contenedores de Kubernetes son las configuraciones predeterminadas. Se deben comprobar todas las configuraciones predeterminadas de Kubernetes antes de su uso con el fin de reducir el riesgo de que un ataque en un pod se propague a otros pods.

Si bien Kubernetes tiene un marco específico como el control de acceso, generalmente la gran mayoría de estas funciones de control de acceso no están activadas de manera predeterminada. Es posible que estos tipos de controles tampoco estén configurados para reforzar las políticas con menor privilegio, proporcionando permisos totales a los usuarios que quizás no necesariamente necesiten esa información. Dejar posibles datos confidenciales expuestos de esa manera constituye un enorme riesgo, facilitando información confidencial a usuarios maliciosos.

TIEMPO DE EJECUTAR EL CONTENEDOR

Un tiempo de ejecución del contenedor es una aplicación especial que ejecuta contenedores. Es importante comprender que Kubernetes no cuenta con protecciones frente a un ataque del tiempo de ejecución ni puede detectar intrusiones una vez que han tenido lugar.

Si se detecta una filtración activa o una nueva vulnerabilidad en un contenedor en ejecución, todo el contenedor se debe eliminar y se debe volver a lanzar una versión no comprometida. La información que solucionó la causa de origen de la incidencia de seguridad también se debe utilizar para volver a configurar el componente en el entorno.

IMÁGENES

Las imágenes también pueden hacer que los contenedores sean más vulnerables. Las imágenes indebidamente configuradas proporcionan un punto de fácil acceso a los atacantes para penetrar en la red y las imágenes que contienen claves específicas de autenticación pueden ayudar a los cibercriminales en futuros ataques.

La detección de código malicioso que está dentro de una imagen de contenedor requiere un análisis de vulnerabilidades en los registros y en la producción, lo cual no es una función de Kubernetes.

SEGURIDAD DEL HOST

Intencionadamente, Kubernetes ejecuta contenedores en servidores asignados para ello. Dado que la herramienta de orquestación no tiene nada que ver con la seguridad de tales servidores, se deben utilizar otros procesos para supervisarlos en busca de problemas de seguridad.

Muchas empresas se vuelcan en seguridad del host tradicionales en esta instancia para detectar exploits frente los recursos del sistema, pero en caso de que el host también esté comprometido, esto puede conllevar consecuencias devastadoras. Los sistemas del host se deben supervisar para buscar filtraciones y actividades sospechosas con el fin de combatir los ataques despiadados.

COMUNICACIONES DE POD A POD

De manera predeterminada, Kubernetes no aplica la política de red a cada pod, lo que significa que los pods en el entorno de Kubernetes pueden comunicarse con otros. Es una ventaja para los contenedores y los pods que se comuniquen unos con otros en las implementaciones para un correcto funcionamiento. Sin embargo, esto se puede convertir rápidamente en un objetivo fácil para los cibercriminales que solo tienen que infiltrase en un contenedor para luego desplazarse lateralmente dentro del entorno. La asociación de una política de red a un pod limita su comunicación a activos específicos, cumpliendo un rol similar a los controles y reglas de firewall.

PROTECCIÓN DE CONTENEDORES DE KUBERNETES

Con una mayoría de organizaciones utilizándolo, garantizar la seguridad del contenedor de Kubernetes es crucial para mantener las redes y aplicaciones seguras de filtraciones y ataques maliciosos. Al integrar correctamente la seguridad en cada fase del ciclo de vida del contenedor de Kubernetes, las empresas pueden estar seguras de que están tomando todas las medidas adecuadas.