En esta página, se muestra cómo analizar de forma automática la configuración de las cargas de trabajo en busca de problemas de seguridad y obtener recomendaciones prácticas para mejorar la seguridad de los clústeres Autopilot y Standard de Google Kubernetes Engine (GKE). La auditoría de configuración de las cargas de trabajo es una función del panel de postura de seguridad. Para obtener más información, consulta Acerca de la auditoría de configuración de las cargas de trabajo.
Precios
El panel de postura de seguridad se ofrece sin cargo adicional en GKE a través de la API de seguridad de contenedores.
En las entradas que se agregan a Cloud Logging, se usan los precios de Cloud Logging.
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
gcloud components update
para obtener la versión más reciente.
Habilita la API de seguridad de contenedores.
Requisitos
-
A fin de obtener los permisos que necesitas para usar la auditoría de configuración 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.Este rol predefinido contiene los permisos necesarios para usar el de configuración 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 configuración 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 funciones personalizadas o con otras funciones predefinidas
-
- El análisis de la configuración de las cargas de trabajo requiere la versión 1.21 de GKE y las posteriores.
Habilita la auditoría de configuración de las cargas de trabajo
La auditoría de configuración de las cargas de trabajo está habilitada de forma predeterminada en los clústeres nuevos y estándar de Autopilot que ejecutan la versión 1.27 y posteriores. También puedes habilitar esta función de forma manual con la gcloud CLI o la consola de Google Cloud.
Habilita la auditoría de configuración en un clúster nuevo
gcloud
Crea un clúster de GKE nuevo mediante la gcloud CLI:
gcloud container clusters create-auto CLUSTER_NAME \ --location=LOCATION \ --security-posture=standard
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clúster nuevo.LOCATION
: la ubicación de Compute Engine para tu clúster.
Console
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
Ir a Google Kubernetes Engine- Haz clic en Crear.
- En la sección GKE Autopilot, haz clic en Configurar.
- En el panel de navegación, haz clic en Configuración avanzada. Si creas un clúster de Standard, haz clic en Seguridad en su lugar.
- En la sección Seguridad, selecciona la casilla de verificación Auditoría de configuración.
- Configura otras opciones para tu clúster y haz clic en Crear cuando esté todo listo.
Habilita la auditoría de configuración en un clúster existente
gcloud
Actualiza el clúster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --security-posture=standard
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre de tu clúster.LOCATION
: La ubicación de Compute Engine de tu clúster.
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 la auditoría de configuración, 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.
Si usas la edición Enterprise de Google Kubernetes Engine (GKE) para administrar flotas de clústeres, también puedes establecer la configuración de auditoría de configuración 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.
Implementa una carga de trabajo de prueba
Implementa una aplicación de ejemplo que infrinja de manera intencional los Estándares de seguridad de pods
Guarda el siguiente manifiesto como
misconfig-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: helloweb labels: app: hello spec: selector: matchLabels: app: hello tier: web template: metadata: labels: app: hello tier: web spec: containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 ports: - containerPort: 8080 securityContext: runAsNonRoot: false resources: requests: cpu: 200m
Implementa la aplicación en el clúster:
kubectl apply -f misconfig-sample.yaml
Si deseas probar otros incumplimientos, modifica misconfig-sample.yaml
con la configuración “incorrecta” correspondiente.
Visualiza y muestra los resultados de auditoría de la configuración
El análisis inicial puede tardar hasta 15 minutos en mostrar los resultados. GKE muestra los resultados en el panel de postura de seguridad y agrega entradas de forma automática a los registros del clúster.
Ver 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 Configuración.
Visualiza los detalles y las recomendaciones de los problemas
Para ver información detallada sobre un problema de configuración específico, haz clic en la fila que contiene ese problema.
En el panel Problemas de configuración, se muestra la siguiente información:
- Descripción: Una descripción del problema
- Acción recomendada: Una descripción general de las acciones que puedes realizar para solucionar el problema de configuración. En esta sección, se incluyen los siguientes detalles:
- Qué recursos necesitan la solución
- Comandos de muestra que puedes ejecutar para aplicar la corrección a los recursos afectados
- Instrucciones de la consola de Google Cloud, si corresponde, para solucionar el problema
Consulta los registros de los problemas que se descubrieron
GKE agrega entradas a Logging para cada problema descubierto.
Ve al Explorador de registros en la consola de Google Cloud.
En 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_MISCONFIG"
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.
Limpia
Borra la carga de trabajo de muestra que implementaste.
kubectl delete deployment helloweb
De manera opcional, borra el clúster que usaste.
gcloud container clusters delete CLUSTER_NAME \ --region=COMPUTE_REGION
Inhabilita la auditoría de configuración de las cargas de trabajo
Puedes inhabilitar la auditoría de configuración de las cargas de trabajo con la gcloud CLI o la consola de Google Cloud.
gcloud
Ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \ --region=LOCATION \ --security-posture=disabled
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre de tu clúster.LOCATION
: La región o zona de Compute Engine para el clúster.
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 la auditoría de configuración, haz clic en Seleccionar clústeres.
- En la pestaña Auditoría habilitada, selecciona las casillas de verificación de los clústeres que deseas quitar.
- Haz clic en Inhabilitar auditoría y, luego, en Confirmar para inhabilitar la auditoría en esos clústeres.
Limitaciones de la auditoría de configuración de las cargas de trabajo
- Los grupos de nodos de Windows Server no son compatibles.
- El análisis de configuración de las cargas de trabajo no analiza las cargas de trabajo administradas por GKE, como las cargas de trabajo en el espacio de nombres
kube-system
. - La auditoría de configuración de las cargas de trabajo solo está disponible para clústeres con menos de 1,000 nodos.
El panel de postura de seguridad admite hasta 150,000 resultados de auditoría de configuración de las cargas de trabajo activas para cada clúster. Cuando la cantidad de resultados para un clúster supera este máximo, el panel de postura de seguridad deja de mostrar los resultados de configuración para ese clúster.
Para resolver este problema, usa los registros en Logging para identificar problemas de configuración y, luego, implementar manifiestos actualizados. Cuando la cantidad de hallazgos de configuración es inferior a 150,000, el panel de estado de seguridad comienza a mostrar los hallazgos del clúster.
¿Qué sigue?
- Obtén más información sobre el panel de postura de seguridad.
- Obtén más información sobre cómo funciona el análisis de configuración.
- Obtén más información sobre cómo proteger tus clústeres según las recomendaciones de Google.