Configurar prácticas recomendadas de seguridad

En esta página se ofrece una descripción general de las prácticas recomendadas de seguridad para aumentar la seguridad y la protección de datos de tus Cloud Workstations. Esta lista no es una lista de comprobación exhaustiva que garantice la seguridad ni sustituye a las medidas de seguridad que ya tengas.

El objetivo es ofrecerte una guía sobre las prácticas recomendadas de seguridad que ofrece Cloud Workstations. Añade estas recomendaciones a tu cartera de soluciones de seguridad cuando sea necesario, como parte de las medidas para crear un enfoque de seguridad por capas. Un enfoque de seguridad por capas es uno de los principios de seguridad fundamentales para ejecutar servicios seguros y conformes en Google Cloud.

Fondo

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

Sin embargo, Google Cloud no es propietario de todos los paquetes incluidos en estas imágenes. Los gestores de paquetes pueden priorizar las actualizaciones de forma diferente en función de cómo afecte un error o una vulnerabilidad y exposición comunes (CVE) 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. Por este motivo, aunque existen resultados de CVE de análisis de vulnerabilidades de nuestras imágenes, Cloud Workstations sigue ofreciendo 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 en cualquier entorno de desarrollo, los desarrolladores deben aplicar las prácticas recomendadas al usar su estación de trabajo. Para que sea 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 quieres 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.

Usar el proxy web seguro para controlar el acceso a Internet y mejorar la prevención de la pérdida de datos (DLP)

Para bloquear todo el acceso a Internet público (por ejemplo, para evitar la pérdida de datos), inhabilita las direcciones IP públicas en las configuraciones de tu estación de trabajo. Si inhabilitas las direcciones IP públicas, debes configurar Acceso privado de Google o Cloud NAT en tu red. Si usas 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.

Sin embargo, si tus desarrolladores necesitan acceder a determinados sitios web externos desde sus estaciones de trabajo, usa Proxy web seguro para proporcionar acceso auditable a esos sitios, lo que incluye protecciones de DLP.

El proxy web seguro ayuda a las organizaciones a aplicar un acceso a Internet granular, controlando el tráfico saliente en función de la fuente, la identidad, el destino y el tipo de solicitud. Puedes definir estas políticas en un contexto de Google CloudGestión de Identidades y Accesos (IAM) mediante cuentas de servicio y etiquetas seguras para restringir el tráfico, por ejemplo, a un destino específico.

El proxy web seguro también ofrece un servicio de inspección TLS escalable que te permite aplicar políticas al tráfico TLS cifrado interceptado.

Secure Web Proxy se integra con Cloud Logging para registrar métricas y registros de transacciones. Para identificar la estación de trabajo de origen de una entrada de registro determinada, busca la dirección IP de la máquina virtual en la entrada de registro y, a continuación, usa los registros de la plataforma de la estación de trabajo para correlacionar esa dirección IP con la estación de trabajo correspondiente.

Puedes usar una imagen personalizada para definir https_proxy y http_proxy en el proxy web seguro de tus estaciones de trabajo.

Restringir el acceso SSH directo

Asegúrate de restringir el acceso SSH directo a las máquinas virtuales del proyecto que aloja tus estaciones de trabajo de Cloud para que solo se pueda acceder a ellas a través de la pasarela de estaciones de trabajo de Cloud, donde se aplican las políticas de Gestión de Identidades y Accesos (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 la CLI de Google Cloud:

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

Limitar el acceso a recursos sensibles

Configura un perímetro de servicio de Controles de Servicio de VPC para limitar el acceso a recursos sensibles desde tus estaciones de trabajo, lo que evitará la filtración externa de código fuente y datos.

Sigue el principio de mínimos accesos

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

Permisos de gestión de identidades y accesos

Usa la configuración predeterminada de Gestión de Identidades y Accesos para limitar el acceso a la estación de trabajo a un solo desarrollador. De esta forma, cada desarrollador usa una instancia de estación de trabajo única con una máquina virtual subyacente distinta, lo que aumenta el aislamiento del entorno. Los editores de código y las aplicaciones de Cloud Workstations se ejecutan en un contenedor que se ejecuta en modo privilegiado y con acceso de superusuario, lo que aumenta la flexibilidad de los desarrolladores. De esta forma, cada desarrollador tiene una estación de trabajo única y se asegura de que, aunque un usuario salga de este contenedor, siga estando dentro de su máquina virtual y no pueda acceder a ningún recurso externo adicional.

Configura permisos de gestión de identidades y accesos que limiten el acceso de usuarios que no sean administradores para modificar configuraciones de estaciones de trabajo e imágenes de contenedor en Artifact Registry.

Además, Google recomienda que configures permisos de gestión de identidades y accesos para limitar el acceso de usuarios que no sean administradores a cualquiera de los recursos de Compute Engine subyacentes del proyecto que aloja tus Cloud Workstations.

Para obtener más información, consulta el artículo sobre cómo usar la gestión de identidades y accesos de forma segura.

Permisos de Cloud KMS

Para aplicar mejor el principio de privilegio mínimo, te recomendamos que mantengas los recursos de Cloud KMS y los de Cloud Workstations en proyectos Google Cloud independientes. Crea tu proyecto de clave de Cloud KMS sin un owner a nivel de proyecto y designa un administrador de la organización concedido a nivel de organización. A diferencia de un owner, un administrador de la organización no puede gestionar ni usar claves directamente. Solo pueden definir políticas de gestión de identidades y accesos, que restringen quién puede gestionar y usar las claves.

También se conoce como separación de funciones,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 el artículo sobre la separación de funciones.

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 de la configuración de tu estación de trabajo ayuda a 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 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á automáticamente las actualizaciones de la configuración de la estación de trabajo la próxima vez que se apague y se reinicie. Configurar runningTimeout o usar el valor predeterminado ayuda a asegurarse de que estas estaciones de trabajo se apaguen.
  • Si tu organización usa una imagen personalizada, asegúrate de reconstruirla periódicamente.

Mantener imágenes personalizadas

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

Si vas a crear imágenes personalizadas, te recomendamos que sigas estas indicaciones:

Configurar registros de flujo de VPC

Cuando creas un clúster de estaciones de trabajo, Cloud Workstations asocia el clúster a una subred concreta 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 Habilitar los registros de flujo de VPC en una subred.

Habilitar la detección de amenazas de VMs en Security Command Center

Security Command Center es una solución de gestión de riesgos basada en la nube que ayuda a los profesionales de la seguridad a prevenir, detectar y responder a los problemas de seguridad. Como las estaciones de trabajo se ejecutan en una máquina virtual 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 malware que se ejecutan en la estación de trabajo.

Al evaluar las detecciones de las VMs, puedes encontrar la estación de trabajo asignada a la VM inspeccionando las etiquetas de estación de trabajo de la VM o usando los registros de la plataforma de estaciones de trabajo para buscar asignaciones anteriores.