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 estaciones de trabajo de Cloud. 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 ofrecerte una guía con las prácticas recomendadas de seguridad posibles con 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 para ejecutar servicios seguros y que cumplan con las normativas en Google Cloud.

Segundo plano

El servicio de Cloud Workstations proporciona imágenes base predefinidas para su uso 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 una vulnerabilidad y exposición 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.

Las estaciones de trabajo en la nube 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 y 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 quieres tener más control sobre la seguridad de la red imágenes de estaciones de trabajo, también puedes crear tus imágenes de contenedor personalizadas.

Restringir 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 las estaciones de trabajo de Cloud. Si inhabilitas las direcciones IP públicas, debes configurar 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 estaciones de trabajo de Cloud, de modo que el acceso solo sea posible a través de la puerta de enlace de las estaciones de trabajo de Cloud, 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 los Controles del servicio de VPC para limitar el acceso a los recursos sensibles desde tus estaciones de trabajo, lo que evita el robo de código 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 la administración de identidades y accesos, que limita el acceso a la estación de trabajo a un solo desarrollador. Esto ayuda a garantizar que cada desarrollador usa 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 de Cloud Workstations y aplicaciones se ejecutan dentro de un contenedor que se ejecuta en modo privilegiado y con 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, estaría dentro de la VM, no podría obtener acceso a ninguna recursos externos.

Configurar permisos de IAM que limiten el acceso de no administrador para realizar modificaciones parámetros de configuración de las estaciones de trabajo e 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 estaciones de trabajo de Cloud.

Para obtener más información, consulta 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 de proyecto y designarás Administrador de la organización se otorga a nivel de la organización. A diferencia de un owner, un Administrador de la organización no pueden administrar ni usar claves directamente. Se limitan a configurar políticas de IAM, que restringen quién puede administrar y usar las llaves.

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.

Aplicar actualizaciones y parches automáticos de imágenes

Asegúrate de que tus estaciones de trabajo usen la versión más reciente del Cloud Workstations imágenes base, 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 las estaciones de trabajo de Cloud, la estación de trabajo detectará automáticamente cualquier actualización de la configuración 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 compilar con regularidad. Te recomendamos Crea 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 personalizados y dependencias agregadas 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.