Skip to main content

Priorizar vulnerabilidades en implementaciones de Kubernetes

Escrito por

6 de agosto de 2020

0 minutos de lectura

Snyk presentó recientemente un puntaje de prioridad para ayudarte a priorizar las vulnerabilidades que detectamos e identificar los problemas más importantes que requieren tu atención.

Priorización y Snyk Container

El nuevo puntaje de prioridad cuenta con compatibilidad total en Snyk Container. Se asignará un puntaje a todas tus imágenes de contenedor según la gravedad de la vulnerabilidad, los datos que tenemos sobre los exploits disponibles y si existen soluciones conocidas para esos problemas. Esta nueva función facilita aún más la corrección de los problemas más importantes en todos tus equipos.

Panel de vulnerabilidades de Snyk Container que muestra un problema de validación incorrecta de entradas, de gravedad media y con una puntuación de prioridad de 639
Puntuación de prioridad de las imágenes de contenedor en Snyk Container

Información adicional de Kubernetes

En el caso de Kubernetes, tenemos aún más información para ayudarnos a priorizar las vulnerabilidades. Si eres cliente de Snyk y llevas un tiempo usando nuestra integración con Kubernetes, probablemente ya conozcas la información que mostramos sobre la configuración de las cargas de trabajo de Kubernetes (implementaciones, cronjobs, replicationcontrollers, etc.).

Lista de verificación de configuración de seguridad de Kubernetes: aprobado para el sistema de archivos raíz privilegiado y de solo lectura; reprobado para CPU, memoria, usuario no raíz y capacidades
Snyk Container identifica tus vulnerabilidades de Kubernetes

La configuración de Kubernetes es compleja y varias de sus opciones pueden generar posibles problemas de seguridad.

También tenemos muchos datos sobre las propias vulnerabilidades. El sistema CVSS incluye un vector (como AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L) que codifica mucha información sobre la vulnerabilidad y lo que se necesita para explotarla. Además, CWE enumera los tipos de vulnerabilidades de forma estructurada.

Cambia el contexto, cambia la prioridad

En la integración de Snyk Container con Kubernetes, tenemos en cuenta esta información de configuración y los datos detallados sobre las vulnerabilidades al calcular el puntaje de prioridad. Una vulnerabilidad presente en una carga de trabajo mal configurada obtiene un puntaje más alto que una en una carga bien configurada. Una vulnerabilidad que requiere permisos elevados obtiene un puntaje más bajo en comparación con una carga de trabajo bien configurada que restringe las capacidades y no puede ejecutarse como root. Los cambios pueden ser pequeños, pero al considerarlos en todas tus cargas de trabajo, pueden ayudarte a decidir qué hacer primero mediante un cálculo de riesgo sencillo.

Una vulnerabilidad presente en una carga de trabajo mal configurada obtiene un puntaje más alto que una en una carga bien configurada.

El puntaje anterior (de 639) corresponde a una vulnerabilidad en una implementación de Kubernetes mal configurada. En este caso, la vulnerabilidad puede provocar un ataque de denegación de servicio. Es posible que los límites de CPU y memoria no protejan el contenedor individual, pero pueden ayudar a mitigar el riesgo para el nodo y otros servicios relacionados. Mejoremos la configuración de nuestra implementación:

spec:
  containers:
    - name: snykit
      image: garethr/snykit
      imagePullPolicy: IfNotPresent
      resources:
        limits:
          memory: 512Mi
          cpu: "1"

Después de actualizar nuestra carga de trabajo de Kubernetes, Snyk detectará automáticamente la configuración actualizada. Aquí podemos ver que ahora están establecidos los límites de CPU y memoria.

Lista de verificación de la configuración de seguridad de Kubernetes con estados aprobados y reprobados para privilegios, límites de recursos, ejecución sin privilegios de root y capacidades
Snyk identifica vulnerabilidades de Kubernetes en contenedores

Como esto reduce ligeramente el riesgo asociado con esta vulnerabilidad, bajamos el puntaje de prioridad.

Panel de seguridad de Snyk Container que muestra una vulnerabilidad de validación incorrecta de entradas, de gravedad media, con una puntuación de prioridad de 617.
Puntuación de prioridad dinámica de las imágenes de contenedor en Snyk Container

Puntaje de prioridad dinámico de imágenes de contenedor en Snyk Container

Ventajas de la priorización contextual

En Snyk, la prioridad es relativa. No se trata tanto de un valor absoluto significativo para una vulnerabilidad individual, sino de ayudarte a saber qué hacer a continuación con todas tus vulnerabilidades. En cambio, CVSS es una medida absoluta que no cambia según tu contexto específico. Ambas son útiles para distintos fines. Cuando te enfrentas a muchas vulnerabilidades y tienes mucha información sobre dónde se encuentran en tus sistemas, puedes usar el puntaje de prioridad de Snyk para determinar cuáles son los problemas más importantes que debes abordar primero.

Empieza con los retos de Capture the Flag

Aprende a resolver retos de Capture the Flag viendo nuestro taller virtual de nivel básico a pedido.