Configura las prácticas recomendadas de seguridad

En esta página, se proporciona una descripción general de las prácticas recomendadas de seguridad para aumentar la postura de seguridad y protección de datos en torno a tus Cloud Workstations. Esta lista no es una lista de tareas completa que garantiza garantías de seguridad ni un reemplazo de tus posturas de seguridad existentes.

El objetivo es proporcionarte una guía de las prácticas recomendadas de seguridad que posibilita Cloud Workstations. Agrega estas recomendaciones a tu cartera de soluciones de seguridad cuando corresponda, como parte de los esfuerzos para crear un enfoque de seguridad en capas. Un enfoque de seguridad en capas es uno de los principales principios de seguridad para ejecutar servicios seguros y que cumplen con las normativas en Google Cloud.

Formación

El servicio Cloud Workstations proporciona imágenes base predefinidas para usar con el servicio. El servicio vuelve a compilar y publica estas imágenes semanalmente para garantizar que el software empaquetado incluya los últimos parches de seguridad. Además, el servicio usa un valor predeterminado de tiempo de espera de ejecución en la configuración de tu estación de trabajo para garantizar que estas se actualicen de forma automática y que las imágenes sin parches no permanezcan activas.

Sin embargo, Google Cloud no posee todos los paquetes agrupados en estas imágenes. Los administradores de paquetes pueden priorizar las actualizaciones de manera diferente según el impacto que un error o las vulnerabilidades y exposiciones comunes (CVE) afectan a su producto. Si un producto usa solo una parte de una biblioteca, es posible que no se vea afectado por los descubrimientos en otras partes de la biblioteca. Debido a esto, aunque existen hallazgos de CVE en los análisis de vulnerabilidades de nuestras imágenes, Cloud Workstations aún puede proporcionar un producto seguro.

Cloud Workstations puede hacer esto porque proporciona un sistema de autenticación y autorización que ayuda a garantizar que solo el desarrollador designado pueda acceder a su estación de trabajo. Al igual que con cualquier entorno de desarrollo, los desarrolladores deben aplicar las prácticas recomendadas cuando usan su estación de trabajo. Para ser lo más seguro posible, ejecuta solo código de confianza, opera solo en entradas confiables y accede solo a dominios de confianza. Además, no te recomendamos que uses estaciones de trabajo para alojar servidores de producción ni compartas una sola estación de trabajo con varios desarrolladores.

Si deseas tener más control sobre la seguridad de las imágenes de la estación de trabajo de tu organización, también puedes crear tus propias imágenes de contenedor personalizadas.

Restringir el acceso a la red pública

Inhabilita las direcciones IP públicas en tus estaciones de trabajo mediante la configuración de tu estación de trabajo y configura reglas de firewall que limiten el acceso a destinos de Internet públicos que no sean necesarios para el trabajo diario desde Cloud Workstations. Si inhabilitas las direcciones IP públicas, debes configurar el Acceso privado a Google o Cloud NAT en tu red. Si usas el Acceso privado a Google y usas private.googleapis.com o restricted.googleapis.com para Artifact Registry (o Container Registry), asegúrate de configurar los registros DNS para dominios *.pkg.dev y *.gcr.io.

Restringir el acceso SSH directo

Asegúrate de restringir el acceso directo mediante SSH a las VM en el proyecto que aloja tus Cloud Workstations para que el acceso solo sea posible a través de la puerta de enlace de Cloud Workstations, en la que se aplican las políticas de Identity and Access Management (IAM) y se pueden habilitar los registros de flujo de VPC.

Para inhabilitar el acceso directo mediante SSH a la VM, ejecuta el siguiente comando de Google Cloud CLI:

    gcloud workstations configs update CONFIG \
        --cluster=CLUSTER \
        --region=REGION \
        --project=PROJECT \
        --disable-ssh-to-vm

Limita el acceso a recursos sensibles

Configura un perímetro de servicio de los Controles del servicio de VPC para limitar el acceso a los recursos sensibles desde tus estaciones de trabajo y evitar el robo de código fuente y datos.

Sigue el principio de privilegio mínimo

Sigue el principio de privilegio mínimo para los permisos y la asignación de recursos.

Permisos de IAM

Usa la configuración predeterminada de Identity and Access Management, que limita el acceso a la estación de trabajo a un solo desarrollador. Esto ayuda a garantizar que cada desarrollador use una instancia de estación de trabajo única con una VM subyacente distinta, lo que aumenta el aislamiento del entorno. Los editores de código y las aplicaciones de Cloud Workstations se ejecutan dentro de un contenedor que se ejecuta en modo privilegiado y con acceso raíz para aumentar la flexibilidad de los desarrolladores. Esto proporciona una estación de trabajo única por desarrollador y ayuda a garantizar que, incluso si un usuario escapa de este contenedor, seguirá estando en la VM, sin poder obtener acceso a ningún recurso externo adicional.

Configura permisos de IAM que limiten el acceso que no es de administrador para modificar los parámetros de configuración de las estaciones de trabajo y las imágenes de contenedor en Artifact Registry.

Además, Google recomienda que configures permisos de IAM que limiten el acceso de no administrador a cualquiera de los recursos subyacentes de Compute Engine en el proyecto que aloja tus Cloud Workstations.

Para obtener más información, consulta Usa IAM de forma segura.

Permisos de Cloud KMS

Para admitir mejor el principio de privilegio mínimo, te recomendamos que mantengas los recursos de Cloud KMS y los recursos de Cloud Workstations en proyectos de Google Cloud separados. Crea tu proyecto de clave de Cloud KMS sin un owner a nivel de proyecto y designa un administrador de la organización otorgado a nivel de la organización. A diferencia de owner, un administrador de la organización no puede administrar ni usar claves directamente. Se restringen a configurar políticas de IAM, que restringen quién puede administrar y usar claves.

Esto también se conoce como separación de obligaciones, y es el concepto de asegurarse de que una persona no tenga todos los permisos necesarios para completar una acción maliciosa. Consulta la sección sobre separación de obligaciones para obtener más información.

Aplicar actualizaciones y parches automáticos de imágenes

Asegúrate de que tus estaciones de trabajo usen la versión más reciente de las imágenes base de Cloud Workstations, que contiene los parches y las correcciones de seguridad más recientes. El valor de tiempo de espera de ejecución en la configuración de tu estación de trabajo ayuda a garantizar que las estaciones de trabajo creadas con esta configuración se actualicen de forma automática en la siguiente sesión para que coincidan con la versión más reciente de la imagen de contenedor definida en la configuración de la estación de trabajo.

  • Si tu organización usa una de las imágenes base de Cloud Workstations, la estación de trabajo recogerá de forma automática cualquier actualización de su configuración la próxima vez que se cierre y reinicie. Configurar runningTimeout o usar el valor predeterminado ayuda a garantizar que estas estaciones de trabajo se cierren.
  • Si tu organización utiliza una imagen personalizada, asegúrate de volver a compilar la imagen con regularidad. Te recomendamos crear una canalización de imágenes segura como se describe en la siguiente sección.

Crea una canalización de imágenes segura para las imágenes personalizadas

Eres responsable de mantener y actualizar los paquetes y las dependencias personalizados que se agregan a las imágenes personalizadas.

Si vas a crear imágenes personalizadas, te recomendamos lo siguiente:

Configura registros de flujo de VPC

Cuando creas un clúster de estación de trabajo, Cloud Workstations asocia el clúster con una subred específica, y todas las estaciones de trabajo se colocan en esa subred. Para habilitar los registros de flujo de VPC, asegúrate de activar el registro en esa subred. Si deseas obtener más información, consulta Habilita los registros de flujo de VPC para una subred existente.