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 posición de seguridad y protección de datos en torno a tus Cloud Workstations. Esta lista no es una lista de tareas completa que garantice las garantías de 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 son posibles con Cloud Workstations. Agrega estas recomendaciones a tu cartera de soluciones de seguridad cuando corresponda, como parte de los esfuerzos por crear un enfoque de seguridad en capas. Un enfoque de seguridad en capas es uno de los principios de seguridad centrales para ejecutar servicios seguros y que cumplan con las normativas en Google Cloud.

Formación

El servicio de Cloud Workstations proporciona imágenes base predefinidas para usar con el servicio. El servicio vuelve a compilar y publica estas imágenes todas las semanas para garantizar que el software integrado 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 garantizar que estas se actualicen automáticamente y que las imágenes sin corregir no permanezcan activas.

Sin embargo, Google Cloud no es propietario de todos los paquetes empaquetados en estas imágenes. Los administradores de paquetes pueden priorizar las actualizaciones de manera diferente según cómo un error o las vulnerabilidades y exposiciones comunes (CVE) afecten a su producto. Si un producto usa solo una parte de una biblioteca, es posible que los descubrimientos en otras partes de la biblioteca no lo afecten. Debido a esto, aunque existen hallazgos de CVE de 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 estar lo más seguro posible, ejecuta solo el código de confianza, opera solo en entradas confiables 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 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 las reglas de firewall que limiten el acceso a los destinos de Internet públicos que no se requieren para el trabajo diario en 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 de los dominios *.pkg.dev y *.gcr.io.

Restringe el acceso SSH directo

Asegúrate de restringir el acceso SSH directo a las VMs en el 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, 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 SSH directo 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 recursos sensibles desde tus estaciones de trabajo y evitar el código fuente y el robo de 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 para limitar 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. Las aplicaciones y los editores de código de Cloud Workstations se ejecutan dentro de un contenedor que se ejecuta en modo privilegiado y con acceso raíz, para aumentar la flexibilidad del desarrollador. Esto proporciona una estación de trabajo única por desarrollador y ayuda a garantizar que, incluso si un usuario escapa de este contenedor, aún estaría dentro de la VM, sin poder acceder a ningún recurso externo adicional.

Configurar permisos de IAM y limitar el acceso para quienes no son administradores a fin de 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 para 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 conserves los recursos de Cloud KMS y de Cloud Workstations en proyectos separados de Google Cloud. 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. Están restringidas a configurar políticas de IAM, que restringen quién puede administrar y usar las 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 completar una acción maliciosa. Consulta Separación de obligaciones para obtener más información.

Aplica actualizaciones de imágenes y parches automáticos

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 del 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 la organización usa una de las imágenes base de Cloud Workstations, esta recogerá automáticamente las actualizaciones de su configuración la próxima vez que esta se apague y se reinicie. La configuración de runningTimeout o el uso del valor predeterminado ayuda a garantizar que estas estaciones de trabajo se apaguen.
  • Si tu organización usa una imagen personalizada, asegúrate de volver a compilarla con regularidad. 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 personalizados y las dependencias que se agreguen 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 estación de trabajo, Cloud Workstations asocia el clúster 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 en esa subred. Si quieres obtener más información, consulta Habilita los registros de flujo de VPC en una subred existente.