Configura las prácticas recomendadas de seguridad

En esta página, se proporciona una descripción general de las prácticas recomendadas de seguridad que se recomiendan para mejorar la postura de seguridad y protección de datos de tus Cloud Workstations. Esta lista no es una lista de tareas exhaustiva que garantice la seguridad ni un reemplazo de tus posturas de seguridad existentes.

El objetivo es brindarte una guía de las prácticas recomendadas de seguridad que hacen posible 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 principios de seguridad fundamentales para ejecutar servicios seguros y que cumplen con las normativas en Google Cloud.

Segundo plano

El servicio de Cloud Workstations proporciona imágenes base predefinidas para usar con el servicio. El servicio vuelve a compilar y a publicar estas imágenes semanalmente para ayudar a garantizar que el software incluido incluya los parches de seguridad más recientes. Además, el servicio usa un valor predeterminado de tiempo de espera de ejecución en la configuración de la estación de trabajo para ayudar a garantizar que las estaciones de trabajo se actualicen automáticamente y que las imágenes sin parches no permanezcan activas.

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

Cloud Workstations pueden hacerlo porque proporcionan 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 que sea lo más seguro posible, ejecuta solo código de confianza, opera solo en entradas de confianza y accede solo a dominios de confianza. Además, no se recomienda usar estaciones de trabajo para alojar servidores de producción ni compartir una sola estación de trabajo con varios desarrolladores.

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

Restringe el acceso a la red pública

Inhabilita las direcciones IP públicas en tus estaciones de trabajo con la configuración de la 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 private.googleapis.com o restricted.googleapis.com para Artifact Registry (o Container Registry), asegúrate de configurar los registros DNS para los dominios *.pkg.dev y *.gcr.io.

Restringe el acceso SSH directo

Asegúrate de restringir el acceso directo mediante SSH a las VMs del proyecto que aloja tus Cloud Workstations, de modo que el acceso solo sea posible a través de la puerta de enlace de Cloud Workstations, donde se aplican las políticas de administración de identidades y accesos (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 Controles del servicio de VPC para limitar el acceso a recursos sensibles desde tus estaciones de trabajo, lo que evita 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 y 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, siga dentro de su VM y no pueda obtener acceso a ningún recurso externo adicional.

Configura permisos de IAM que limiten el acceso de los usuarios que no son administradores para modificar las configuraciones de las estaciones de trabajo y las imágenes de contenedor en Artifact Registry.

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

Para obtener más información, consulta Cómo usar IAM de forma segura.

Permisos de Cloud KMS

Para respaldar mejor el principio de privilegio mínimo, te recomendamos que mantengas los recursos de Cloud KMS y los de Cloud Workstations en proyectos de Google Cloud separados. Crea tu proyecto de claves de Cloud KMS sin un owner a nivel del proyecto y designa un Administrador de organización otorgado a nivel de la organización. A diferencia de un owner, un administrador de la organización no puede administrar ni usar claves directamente. Se limitan 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,que es el concepto de asegurarse de que una persona no tenga todos los permisos necesarios para poder completar una acción maliciosa. Para obtener más información, consulta Separación de obligaciones.

Aplica parches y actualizaciones de imágenes automáticas

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 la estación de trabajo ayuda a garantizar que las estaciones de trabajo creadas con esta configuración se actualicen automáticamente en la siguiente sesión para que coincidan con la versión más reciente de la imagen del 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 detectará automáticamente cualquier actualización de la configuración de la estación de trabajo la próxima vez que se apague y reinicie. Configurar runningTimeout o usar el valor predeterminado ayuda a garantizar que estas estaciones de trabajo se cierren.
  • Si tu organización usa una imagen personalizada, asegúrate de volver a compilarla con frecuencia. Te recomendamos que crees una canalización de imágenes segura, como se describe en la siguiente sección.

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

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

Si creas imágenes personalizadas, te recomendamos lo siguiente:

Configura los registros de flujo de VPC

Cuando creas un clúster de estaciones de trabajo, Cloud Workstations lo asocia con una subred en particular, 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 de esa subred. Para obtener más información, consulta Habilita los registros de flujo de VPC en una subred existente.