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 sugieren para aumentar la seguridad y la protección de datos en tus estaciones de trabajo de Cloud Workstations. Esta lista no es una lista de tareas integral que garantice la seguridad ni un reemplazo de tus medidas de seguridad existentes.

El objetivo es proporcionarte una guía de las prácticas recomendadas de seguridad que son posibles gracias a 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 por capas es uno de los principales principios de seguridad para ejecutar servicios seguros y compatibles en Google Cloud.

Fondo

El servicio de Cloud Workstations proporciona imágenes base predefinidas para usar con el servicio. El servicio recompila y vuelve a publicar estas imágenes semanalmente para garantizar que el software incluido contenga 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 las estaciones de trabajo se actualicen automáticamente y que las imágenes sin parches no permanezcan activas.

Sin embargo, Google Cloud no posee todos los paquetes incluidos 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 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. Por este motivo, aunque existen hallazgos de CVE en los análisis de vulnerabilidades de nuestras imágenes, Cloud Workstations sigue siendo capaz de proporcionar un producto seguro.

Cloud Workstations puede hacerlo 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 usen su estación de trabajo. Para ser lo más seguro posible, ejecuta solo código de confianza, opera solo con 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 estaciones de trabajo de tu organización, también puedes crear tus propias imágenes de contenedor 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, asegúrate de configurar registros DNS para los dominios *.pkg.dev.

Restringe el acceso directo a SSH

Asegúrate de restringir el acceso directo a las VMs por SSH en el 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 Cloud Workstations, donde 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 a la VM a través de SSH, 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 los recursos sensibles

Configura un perímetro de servicio de 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 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, seguirá dentro de su VM y no podrá acceder a ningún recurso externo adicional.

Configura permisos de IAM que limiten el acceso de no administradores para modificar configuraciones de 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 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 Usa 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 recursos de Cloud Workstations en Google Cloud proyectos separados. Crea tu proyecto de claves de Cloud KMS sin un owner a nivel del proyecto y designa un administrador de la organización con acceso a nivel de la organización. A diferencia de un owner, un administrador de organización no puede administrar ni usar claves directamente. Solo pueden 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.

Aplicar actualizaciones y parches de imágenes 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 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 automáticamente en la próxima 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 en la configuración la próxima vez que se apague y reinicie. Establecer el parámetro de configuración runningTimeout o usar el 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 compilar la imagen con regularidad.

Haz mantenimiento a las 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 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 para esa subred. Para obtener más información, consulta Habilita los registros de flujo de VPC en una subred existente.

Habilita VM Threat Detection en Security Command Center

Security Command Center es una solución de administración de riesgos basada en la nube que ayuda a los profesionales de la seguridad a prevenir, detectar y responder a problemas de seguridad. Dado que las estaciones de trabajo se ejecutan en una VM dedicada por estación de trabajo, se puede usar Virtual Machine Threat Detection para detectar aplicaciones potencialmente maliciosas, como software de minería de criptomonedas, rootkits en modo kernel y software malicioso que se ejecutan en la estación de trabajo.

Cuando evalúes los hallazgos de las VMs, puedes inspeccionar las etiquetas de la estación de trabajo en la VM o usar los registros de la plataforma de estaciones de trabajo para buscar asignaciones históricas y encontrar la estación de trabajo asignada a la VM.