En este documento, se describe cómo inhabilitar y habilitar las opciones de VM protegida en una instancia de VM. Para ver qué imágenes son compatibles con las funciones de las VM protegidas, consulta las funciones de seguridad de imagen de SO.
Descripción general
En una instancia de VM protegida, Compute Engine habilita las opciones del módulo de plataforma de confianza (vTPM) y la supervisión de integridad de forma predeterminada. Si inhabilitas el vTPM, Compute Engine inhabilita la supervisión de integridad porque esta depende de los datos que recopila el inicio medido.
Compute Engine no habilita el inicio seguro de forma predeterminada porque es posible que los controladores sin firmas y otro software de bajo nivel no sean compatibles. El inicio seguro garantiza que el sistema solo ejecute software auténtico mediante la verificación de la firma de todos los componentes de inicio y la detención del proceso de inicio si la verificación de firmas falla. Esto evita que persistan formas de software malicioso de kernel, como rootkits o bootkits, en los reinicios de VM. Google recomienda habilitar el inicio seguro si garantizas que no evitará que una VM de prueba representativa se inicie y si es adecuado para tu carga de trabajo.
Limitaciones
Aunque las instancias de VM de Compute Engine admiten el inicio seguro, es posible que una imagen cargada en una VM de Compute Engine no lo sea. En particular, aunque la mayoría de las distribuciones de Linux admiten el inicio seguro en imágenes recientes de x86, no siempre son compatibles de forma predeterminada con ARM64. Muchas imágenes de Linux están configuradas para rechazar la carga de compilaciones sin firmar de módulos de kernel fuera del árbol cuando el inicio seguro está habilitado. Esto suele afectar a los controladores de GPU, pero a veces también a las herramientas de supervisión de seguridad que requieren módulos de kernel.
Permisos necesarios para esta tarea
Para realizar esta tarea, debes tener los siguientes permisos:
compute.instances.updateShieldedInstanceConfig
en la instancia de VM
Modifica las opciones de VM protegida en una instancia de VM
Usa el siguiente procedimiento para modificar las opciones de VM protegida:
Console
En la consola de Google Cloud, ve a la página Instancias de VM.
Haz clic en el nombre de la instancia para abrir la página Detalles de instancia de VM.
Haz clic en Detener.
Una vez que la instancia se detenga, haz clic en Editar.
En la sección VM protegida, modifica las opciones de VM protegida:
Activa o desactiva la opción Activa el inicio seguro para habilitarlo. Compute Engine no habilita el inicio seguro de forma predeterminada, ya que es posible que los controladores sin firmas y otros software de nivel bajo no sean compatibles. Si es posible, Google recomienda habilitarlo.
Desactiva Activar vTPM para inhabilitar el Módulo de plataforma segura virtual (vTPM). De forma predeterminada, Compute Engine habilita el Módulo de plataforma segura virtual (vTPM).
Desactiva Activar supervisión de integridad para inhabilitar la supervisión de integridad. De forma predeterminada, Compute Engine habilita la supervisión de integridad.
Haz clic en Guardar.
Haz clic en Iniciar para abrir la instancia.
gcloud
Detén la instancia:
gcloud compute instances stop VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que debe detenerse.Actualiza las opciones de VM protegida:
gcloud compute instances update VM_NAME \ [--[no-]shielded-secure-boot] \ [--[no-]shielded-vtpm] \ [--[no-]shielded-integrity-monitoring]
Reemplaza
VM_NAME
por el nombre de la VM en la que se actualizarán las opciones de VM protegida.shielded-secure-boot
: Compute Engine no habilita el inicio seguro de forma predeterminada, ya que es posible que los controladores sin firmas y otros software de bajo nivel no sean compatibles. Si es posible, Google recomienda habilitarlo.- Habilita el inicio seguro mediante la marca
--shielded-secure-boot
(recomendado). - Inhabilita el inicio seguro mediante
--no-shielded-secure-boot
.
shielded-vtpm
: El módulo de plataforma segura virtual (vTPM) está habilitado de forma predeterminada. + Habilítalo mediante--shielded-vtpm
(predeterminado) + Inhabilítalo mediante la marca--no-shielded-vtpm
.shielded-integrity-monitoring
: La supervisión de la integridad está habilitada de forma predeterminada. + Habilítala mediante--shielded-integrity-monitoring
(predeterminado) + Inhabilítala mediante la marca--no-shielded-integrity-monitoring
.- Habilita el inicio seguro mediante la marca
Inicia la instancia:
gcloud compute instances start VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que se iniciará.
API
Detén la instancia:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Reemplaza lo siguiente:
PROJECT_ID
: Es el proyecto que contiene la VM que se detendrá.ZONE
: Es la zona que contiene la VM que se detendrá.VM_NAME
: Es la VM que se detendrá.
Usa
instances.updateShieldedInstanceConfig
para habilitar o inhabilitar las opciones de VM protegida en la instancia:PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateShieldedInstanceConfig { "enableSecureBoot": {true|false}, "enableVtpm": {true|false}, "enableIntegrityMonitoring": {true|false} }
Reemplaza lo siguiente:
PROJECT_ID
: Es el proyecto que contiene la VM en la que se habilitarán o inhabilitarán las opciones de VM protegida.ZONE
: Es la zona que contiene la VM en la que se habilitarán o inhabilitarán las opciones de VM protegida.VM_NAME
: Es la VM en la que se habilitarán o inhabilitarán las opciones de VM protegida.
enableSecureBoot
: Compute Engine no habilita el inicio seguro de forma predeterminada, ya que es posible que los controladores sin firmas y otros software de bajo nivel no sean compatibles. Si es posible, Google recomienda habilitarlo.enableVtpm
: Compute Engine habilita el módulo de plataforma de confianza (vTPM) de forma predeterminada.enableIntegrityMonitoring
: Compute Engine habilita la supervisión de integridad de forma predeterminada.Inicia la instancia:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Reemplaza lo siguiente:
PROJECT_ID
: Es el proyecto que contiene la VM que se iniciará.ZONE
: Es la zona que contiene la VM que se iniciará.VM_NAME
: Es la VM que se iniciará.
¿Qué sigue?
- Obtén más información sobre las características de seguridad que ofrecen las VM protegidas.
- Obtén más información sobre la supervisión de integridad en una instancia de VM protegida.