Menta

Blog

Seguridad en Kubernetes, ¿es posible y cómo lograrlo?

Asegurar Kubernetes es un desafío porque se trata de una plataforma compuesta de muchas partes; cada uno de estos componentes conlleva sus propios riesgos de seguridad.

Los Kubernetes han revolucionado la forma en que muchos equipos implementan aplicaciones. Sin embargo, con los muchos beneficios que brindan estas tecnologías, surgen nuevos desafíos, como la seguridad, un tema que se analizará a profundidad en este artículo.

Asegurar Kubernetes es un desafío porque se trata de una plataforma en expansión compuesta de muchas partes diferentes. Cada uno de estos componentes conlleva sus propios riesgos de seguridad.

A continuación, se muestra un resumen de las partes clave de un entorno de Kubernetes y los riesgos de seguridad más comunes que las afectan:

Contenedores: los contenedores pueden contener código malicioso que se incluyó en sus imágenes de contenedor. También pueden estar sujetos a configuraciones incorrectas que permiten a los atacantes obtener acceso no autorizado bajo ciertas condiciones.

Sistemas operativos de host: las vulnerabilidades o el código malicioso dentro de los sistemas operativos instalados en los nodos de Kubernetes pueden proporcionar a los atacantes una ruta hacia los clústeres de Kubernetes.

Tiempos de ejecución de contenedores: Kubernetes admite una variedad de tiempos de ejecución de contenedores. Todos ellos podrían contener vulnerabilidades que permitan a los atacantes tomar el control de contenedores individuales, escalar los ataques de un contenedor a otro e incluso obtener el control del entorno de Kubernetes.

Capa de red: Kubernetes se basa en redes internas para facilitar la comunicación entre nodos, pods y contenedores. También suele exponer las aplicaciones a las redes públicas para que se pueda acceder a ellas a través de Internet. Ambas capas de red podrían permitir a los atacantes obtener acceso al clúster o escalar los ataques de una parte del clúster a otras.

API: juega un papel central al permitir que los componentes se comuniquen y apliquen configuraciones. Podría contener vulnerabilidades o configuraciones incorrectas que permitan ataques.

Kubectl Dashboard y otras herramientas de administración: pueden estar sujetas a vulnerabilidades que permiten el abuso en un clúster de Kubernetes.

Kubernetes: funciones de seguridad integradas

Kubernetes ofrece funciones de seguridad nativas para proteger contra algunas de las amenazas descritas anteriormente o, al menos, para mitigar el impacto potencial de una infracción. Las principales características de seguridad incluyen:

Control de acceso basado en roles (RBAC): Kubernetes permite a los administradores definir lo que llama Roles y ClusterRoles, que especifican qué usuarios pueden acceder a qué recursos dentro de un espacio de nombres o un clúster completo. RBAC proporciona una forma de regular el acceso a los recursos.

Políticas de seguridad de pods y políticas de red: los administradores pueden configurar políticas de seguridad de pods y políticas de red, que imponen restricciones sobre cómo pueden comportarse los contenedores y los pods. Por ejemplo, las políticas de seguridad de los pods se pueden utilizar para evitar que los contenedores se ejecuten como usuario raíz, y las políticas de red pueden restringir la comunicación entre los pods.

Cifrado de red: Kubernetes utiliza TLS para cifrar el tráfico de red, lo que proporciona una protección contra las escuchas.

Si bien estas funciones de seguridad integradas de Kubernetes brindan capas de defensa contra ciertos tipos de ataques, no cubren todas las amenazas. Kubernetes no ofrece protecciones nativas contra los siguientes tipos de ataques:

Código malicioso o configuraciones incorrectas dentro de contenedores o imágenes de contenedores: para escanearlos, se debe usar una herramienta de escaneo de contenedores de terceros.

Vulnerabilidades de seguridad en los sistemas operativos del host: una vez más, es necesario buscarlas con otras herramientas. Y aunque algunas distribuciones de Kubernetes (como OpenShift) integran SELinux o marcos de refuerzo de kernel similares para proporcionar más seguridad a nivel de host, ésta no es una característica de Kubernetes en sí.

Vulnerabilidades de tiempo de ejecución del contenedor: aquí nuevamente, Kubernetes no tiene forma de saber o alertar si existe una vulnerabilidad dentro de su tiempo de ejecución, o si un atacante está tratando de explotar una vulnerabilidad en el tiempo de ejecución.

Abuso de la API de Kubernetes: más allá de seguir cualquier configuración de política de seguridad y RBAC que defina, Kubernetes no hace nada para detectar o responder al abuso de la API.

Vulnerabilidades o errores de configuración de las herramientas de administración: Kubernetes no puede garantizar que las herramientas de administración (como Kubectl) estén libres de problemas de seguridad.

Registro y auditoría para mejorar la seguridad

Los datos de registro proporcionan información crucial sobre posibles brechas de seguridad. También es fundamental para investigar eventos de seguridad pasados. Sin embargo, si bien Kubernetes proporciona funciones para generar datos de registro, no proporciona funciones para auditar o interpretar esos datos para ningún propósito, y menos por seguridad. Por lo tanto, se deben adoptar herramientas de terceros para aprovechar los datos de registro de Kubernetes como base para las operaciones de seguridad.

Sumo Logic ayuda con este proceso al facilitar la agregación e interpretación de registros de Kubernetes. Al instalar la aplicación Sumo Logic Kubernetes, los equipos pueden poner en funcionamiento los registros de Kubernetes para detectar actividad anómala en los nodos y redes de Kubernetes, y así obtener una visibilidad crítica de los entornos de Kubernetes.

Servicios expertos en Menta 

Recuerda que el servicio de monitoreo de información y eventos de seguridad (SIEM) de MENTA consiste en una plataforma de análisis de seguridad en la nube que provee inteligencia de seguridad para sus ambientes de microservicios, nubes híbridas, públicas y privadas.

¿Requieres apoyo para el monitoreo de tus aplicaciones? Llámanos. Nosotros te auxiliamos.

Contáctanos

Por favor introduce tus datos y nos pondremos en contacto contigo.