En esta página, se te ayudará a comenzar y se te guiará para que uses el panel de posición de seguridad y detectes vulnerabilidades. Consulta los requisitos, selecciona uno de los niveles disponibles y obtén información para habilitar el análisis de vulnerabilidades, implementar una carga de trabajo de prueba, ver los resultados y las recomendaciones, y, luego, inhabilitar el análisis.
Esta página está dirigida a los especialistas en seguridad que supervisan los clústeres en busca de problemas de seguridad. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido deGoogle Cloud , consulta Roles de usuario y tareas comunes de GKE.
Antes de leer esta página, asegúrate de conocer la descripción general del análisis de vulnerabilidades de cargas de trabajo.
Precios
Para obtener información sobre los precios, consulta los precios del panel de postura de seguridad de GKE.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta el comando
gcloud components update
para obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos que se describen en este documento.
Habilita la API de seguridad de contenedores.
Para usar estadísticas avanzadas de vulnerabilidades, habilita la API de Container Analysis.
Requisitos
-
Para obtener los permisos que necesitas para usar el análisis de vulnerabilidades de las cargas de trabajo, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de posturas de seguridad (
roles/containersecurity.viewer
) en tu proyecto de Google Cloud . Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para usar el análisis de vulnerabilidades de las cargas de trabajo. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para usar el análisis de vulnerabilidades de las cargas de trabajo:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
-
- Advanced Vulnerability Insights requiere la versión 1.27 de GKE o una posterior.
Niveles de análisis de vulnerabilidades de las cargas de trabajo
Habilitas el análisis de vulnerabilidades en niveles, cada uno de los cuales agrega capacidades de análisis de la siguiente manera: Si usas la edición Enterprise de Google Kubernetes Engine (GKE) para administrar flotas de clústeres, también puedes establecer la configuración del análisis de vulnerabilidades a nivel de la flota que se aplica a todos los clústeres miembros. Para obtener instrucciones, consulta Configura las funciones del panel de postura de seguridad de GKE a nivel de la flota.
Nivel | Capacidades habilitadas | Requisito de la versión de GKE |
---|---|---|
Standardstandard |
Análisis de vulnerabilidades del SO del contenedor |
|
Advanced vulnerability insightsenterprise |
|
|
Para obtener más información, sobre cada capacidad, consulta Acerca del análisis de vulnerabilidades de las cargas de trabajo.
Habilita el análisis de vulnerabilidades del SO del contenedor
El análisis de vulnerabilidades del SO del contenedor está habilitado de forma predeterminada en los clústeres nuevos de Autopilot con la versión 1.27 y posteriores. En esta sección, se muestra cómo habilitar esta función en los nuevos clústeres de Standard existentes y en los clústeres de Autopilot que ejecutan versiones anteriores a la versión 1.27.
Habilita el análisis de Container OS en un clúster existente
gcloud
Actualiza el clúster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=standard
Reemplaza lo siguiente:
CLUSTER_NAME
: El nombre de tu clúster.CONTROL_PLANE_LOCATION
: Es la ubicación del plano de control de tu clúster. Proporciona una región para los clústeres regionales de Standard y Autopilot, o una zona para los clústeres zonales de Standard.
Console
Ve a la página Postura de seguridad en la consola de Google Cloud .
Ir a Postura de seguridad- Haz clic en la pestaña Configuración.
- En la sección Clústeres habilitados para el análisis de vulnerabilidades, haz clic en Seleccionar clústeres.
- Selecciona las casillas de verificación de los clústeres que deseas añadir.
- En el menú desplegable Seleccionar acción, selecciona Configurar como Básico.
- Haz clic en Aplicar.
Habilita las estadísticas avanzadas de vulnerabilidades
Advanced Vulnerability Insights permite el análisis continuo de tus aplicaciones en ejecución para los siguientes tipos de vulnerabilidades:
- Vulnerabilidades del SO del contenedor
- Vulnerabilidades de paquetes de idiomas
Cuando habilitas las estadísticas avanzadas de vulnerabilidades, la capacidad de análisis de vulnerabilidades del SO de contenedores se habilita de forma automática y no se puede inhabilitar por separado.
Requisitos
Asegúrate de haber habilitado la API de Container Analysis en tu proyecto.
Habilitar la API de Container Analysis
Habilita las estadísticas avanzadas de vulnerabilidades en un clúster existente
gcloud
Actualiza el clúster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=enterprise
Reemplaza lo siguiente:
CLUSTER_NAME
: El nombre de tu clúster.CONTROL_PLANE_LOCATION
: Es la ubicación del plano de control de tu clúster. Proporciona una región para los clústeres regionales de Standard y Autopilot, o una zona para los clústeres zonales de Standard.
Console
Ve a la página Postura de seguridad en la consola de Google Cloud .
Ir a Postura de seguridad- Haz clic en la pestaña Configuración.
- En la sección Clústeres habilitados para el análisis de vulnerabilidades, haz clic en Seleccionar clústeres.
- Selecciona las casillas de verificación de los clústeres que deseas añadir.
- En el menú desplegable Seleccionar acción, selecciona Establecer en Avanzada.
- Haz clic en Aplicar.
Implementa una carga de trabajo de prueba
En la siguiente sección, usarás manifiestos de Deployment de ejemplo. Un Deployment es un objeto de la API de Kubernetes que te permite ejecutar varias réplicas de Pods que se distribuyen entre los nodos de un clúster.
Los siguientes manifiestos tienen vulnerabilidades conocidas con fines de demostración. En la práctica, si sabes que una aplicación es vulnerable, es probable que no debas ejecutarla.
Guarda el siguiente manifiesto como
os-vuln-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: guestbook tier: frontend template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend:v5 env: - name: GET_HOSTS_FROM value: "dns" resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80
Revisa el siguiente manifiesto, que contiene una vulnerabilidad de Maven conocida:
De manera opcional, obtén credenciales para tu clúster:
gcloud container clusters get-credentials CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Implementa las aplicaciones en tu clúster:
kubectl apply -f os-vuln-sample.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/kubernetes-engine-samples/main/security/language-vulns/maven/deployment.yaml
Para probar otras vulnerabilidades, intenta implementar versiones anteriores de imágenes, como nginx
, en entornos de etapa de pruebas.
Visualiza los resultados y realiza acciones
El análisis inicial tarda al menos 15 minutos en mostrar resultados, según cuántas cargas de trabajo se analicen. GKE muestra los resultados en el panel de postura de seguridad y agrega entradas a Logging de forma automática.
Ver los resultados
Para ver una descripción general de los problemas descubiertos en los clústeres y cargas de trabajo de tu proyecto, haz lo siguiente:
Ve a la página Postura de seguridad en la consola de Google Cloud .
Haz clic en la pestaña Problemas.
En el panel Filtrar problemas, en la sección Tipo de problema, selecciona la casilla de verificación Vulnerabilidad.
Visualiza los detalles y las recomendaciones de los problemas
Para ver información detallada sobre una vulnerabilidad específica, haz clic en la fila que contiene ese problema.
En el panel Problemas de vulnerabilidad, se muestra la siguiente información:
- Descripción: Una descripción del problema, que incluye un número de CVE si corresponde y una descripción detallada de la vulnerabilidad y su impacto potencial.
- Acción recomendada: Acciones que puedes realizar para abordar la vulnerabilidad, como las versiones de paquetes fijos y dónde aplicar la corrección.
Consulta los registros de los problemas que se descubrieron
GKE agrega entradas al bucket de registros _Default
en Logging para cada problema descubierto. Estos registros solo se conservan durante un período específico. Para obtener más detalles, consulta Períodos de retención de registros.
En la consola de Google Cloud , ve al Explorador de registros:
Ir al Explorador de registrosEn el campo Consulta, ingresa la siguiente consulta:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_VULNERABILITY"
Haz clic en Ejecutar consulta.
Para recibir notificaciones cuando GKE agregue resultados nuevos a Logging, configura alertas basadas en registros para esta consulta. Para obtener más información, consulta Configurar alertas basadas en registros.
Libera espacio
Borra la carga de trabajo de muestra que implementaste:
kubectl delete deployment frontend
De manera opcional, borra el clúster que usaste:
gcloud container clusters delete CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Inhabilita el análisis de vulnerabilidades de las cargas de trabajo
Puedes inhabilitar el análisis de vulnerabilidades de las cargas de trabajo con gcloud CLI o la Google Cloud consola.
gcloud
Ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=disabled
Reemplaza lo siguiente:
CLUSTER_NAME
: El nombre de tu clúster.CONTROL_PLANE_LOCATION
: Es la ubicación del plano de control de tu clúster. Proporciona una región para los clústeres regionales de Standard y Autopilot, o una zona para los clústeres zonales de Standard.
Console
Ve a la página Postura de seguridad en la consola de Google Cloud .
Ir a Postura de seguridad- Haz clic en la pestaña Configuración.
- En la sección Clústeres habilitados para el análisis de vulnerabilidades, haz clic en Seleccionar clústeres.
- Selecciona las casillas de verificación de los clústeres que deseas quitar.
- En el menú desplegable Seleccionar acción, selecciona Configurar como Inhabilitado.
- Haz clic en Aplicar.
¿Qué sigue?
- Obtén más información sobre el panel de postura de seguridad.
- Obtén más información sobre cómo analizar las cargas de trabajo en busca de problemas de configuración.