Implementa la seguridad de procesamiento y contenedores

Last reviewed 2023-07-20 UTC

Google Cloud incluye controles para proteger tus recursos de procesamiento y los recursos de contenedor de Google Kubernetes Engine (GKE). En este documento del framework de arquitectura de Google Cloud, se describen los controles clave y las prácticas recomendadas para usarlos.

Usa imágenes de VM endurecidas y seleccionadas

Google Cloud incluye VM protegida, que te permite endurecer las instancias de VM. La VM protegida está diseñada para evitar que se cargue código malicioso durante el ciclo de inicio. Proporciona seguridad de inicio, supervisa la integridad y usa el Módulo de plataforma segura virtual (vTPM). Usa la VM protegida para cargas de trabajo sensibles.

Además de usar VM protegida, puedes usar las soluciones de socios de Google Cloud para proteger aún más tus VM. Muchas soluciones de socios que se ofrecen en Google Cloud se integran a Security Command Center, que proporciona supervisión de estado y detección de amenazas de eventos. Puedes usar socios para obtener un análisis de amenazas avanzado o seguridad adicional en el entorno de ejecución.

Use Confidential Computing para procesar datos sensibles.

De forma predeterminada, Google Cloud encripta los datos en reposo y en tránsito en la red, pero no se encriptan mientras están en uso en la memoria. Si tu organización maneja datos confidenciales, debes mitigar las amenazas que comprometen la confidencialidad y la integridad de la aplicación o los datos en la memoria del sistema. Los datos confidenciales incluyen información de identificación personal (PII), datos financieros e información de salud.

Confidential Computing se basa en la VM protegida. Protege los datos en uso mediante el procesamiento en un entorno de ejecución confiable basado en hardware. Este tipo de entorno seguro y aislado ayuda a evitar el acceso no autorizado o la modificación de las aplicaciones y los datos mientras estos se usan. Un entorno de ejecución confiable también aumenta las garantías de seguridad para las organizaciones que administran datos sensibles y regulados.

En Google Cloud, puedes habilitar Confidential Computing mediante la ejecución de Confidential VMs o Confidential GKE Node. Activa Confidential Computing cuando se procesen cargas de trabajo confidenciales o cuando tengas datos confidenciales (por ejemplo, secretos) que se deben exponer mientras se procesan. Para obtener más información, consulta el Consorcio de Confidential Computing.

Protege VM y contenedores

El Acceso al SO permite que tus empleados se conecten a tus VM mediante permisos de Identity and Access Management (IAM) como fuente de información, en lugar de depender de las claves SSH. Por lo tanto, no es necesario que administres claves SSH en toda la organización. El Acceso al SO vincula el acceso de un administrador a su ciclo de vida de empleado, lo que significa que si los empleados se cambian a otro rol o abandonan tu organización, su acceso se revoca con su cuenta. El Acceso al SO también admite la autenticación de dos factores, que agrega una capa de seguridad adicional a los ataques de apropiación de cuentas.

En GKE, App Engine ejecuta instancias de aplicaciones dentro de contenedores de Docker. Para habilitar un perfil de riesgo definido y evitar que los empleados realicen cambios en los contenedores, asegúrate de que tus contenedores sean inmutables y sin estado. El principio de inmutabilidad significa que tus empleados no modifican el contenedor ni acceden a él de forma interactiva. Si se debe cambiar, debes compilar una imagen nueva y volver a implementarla. Habilita el acceso SSH a los contenedores subyacentes solo en situaciones de depuración específicas.

Inhabilita las direcciones IP externas, a menos que sean necesarias

Para inhabilitar la asignación de direcciones IP externas (video) en tus VM de producción y evitar el uso de balanceadores de cargas externos, puedes usar políticas de la organización. Si necesitas que tus VM lleguen a Internet o a tu centro de datos local, puedes habilitar una puerta de enlace de Cloud NAT.

Puedes implementar clústeres privados en GKE. En un clúster privado, los nodos solo tienen direcciones IP internas, lo que significa que los nodos y los Pods están aislados de la Internet de forma predeterminada. También puedes definir una política de red para administrar la comunicación de Pod a Pod en el clúster. Si deseas obtener más información, consulta Opciones de acceso privado a los servicios.

Supervisa tu instancia de procesamiento y el uso de GKE

Los Registros de auditoría de Cloud se habilitan de forma automática para Compute Engine y GKE. Los registros de auditoría te permiten capturar de forma automática todas las actividades con tu clúster y supervisar cualquier actividad sospechosa.

Puedes integrar GKE a los productos de socios para obtener seguridad en el entorno de ejecución. Puedes integrar estas soluciones en Security Command Center a fin de proporcionarte una sola interfaz para supervisar tus aplicaciones.

Mantén actualizadas las imágenes y los clústeres

Google Cloud proporciona imágenes de SO seleccionadas a las que se les aplican parches con regularidad. Puedes usar imágenes personalizadas y ejecutarlas en Compute Engine, pero, si lo haces, debes aplicarles parches. Google Cloud actualiza las imágenes de SO con regularidad para mitigar las vulnerabilidades nuevas como se describe en los boletines de seguridad y proporciona soluciones a fin de corregir las vulnerabilidades de las implementaciones existentes.

Si usas GKE, te recomendamos que habilites la actualización automática de nodos para que Google actualice los nodos del clúster con los últimos parches. Google administra los planos de control de GKE, que se actualizan y se parchan automáticamente. Además, usa imágenes optimizadas para contenedores que selecciona Google para la implementación. Google aplica parches a estas imágenes y las actualiza con regularidad.

Controla el acceso a tus imágenes y clústeres

Es importante saber quién puede crear e iniciar instancias. Puedes controlar este acceso mediante IAM. Para obtener información sobre cómo determinar qué acceso necesitan las cargas de trabajo, consulta Planifica las identidades de las cargas de trabajo.

Además, puedes usar los Controles del servicio de VPC para definir cuotas personalizadas en los proyectos a fin de limitar quién puede iniciar imágenes. Para obtener más información, consulta la sección Protege tu red.

A fin de proporcionar seguridad de infraestructura para el clúster, GKE te permite usar IAM con el control de acceso basado en roles (RBAC) a fin de administrar el acceso a tu clúster y los espacios de nombres.

Aísla los contenedores en una zona de pruebas

Usa GKE Sandbox para implementar aplicaciones multiusuario que necesitan una capa adicional de seguridad y aislamiento del kernel del host. Por ejemplo, usa GKE Sandbox cuando ejecutes código desconocido o que no sea de confianza. GKE Sandbox es una solución de aislamiento de contenedores que proporciona una segunda capa de defensa entre las cargas de trabajo alojadas en contenedores en GKE.

GKE Sandbox se compiló para aplicaciones que tienen requisitos de E/S bajos, pero que tienen un escalamiento alto. Estas cargas de trabajo en contenedores deben mantener su velocidad y rendimiento, pero también es posible que incluyan código no confiable que requiera mayor seguridad. Usa gVisor, una zona de pruebas del entorno de ejecución de contenedores, para proporcionar aislamiento de seguridad adicional entre las aplicaciones y el kernel del host. gVisor proporciona verificaciones de integridad adicionales y limita el alcance del acceso para un servicio. No es un servicio de endurecimiento de contenedores que proteja de amenazas externas. Para obtener más información sobre gVisor, consulta gVisor: Protege GKE y los usuarios sin servidores en el mundo real.

¿Qué sigue?

Obtén más información sobre la seguridad de los contenedores y el procesamiento con los siguientes recursos: