Modifica las opciones de VM protegida en una instancia de VM

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

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Haz clic en el nombre de la instancia para abrir la página Detalles de instancia de VM.

  3. Haz clic en Detener.

  4. Una vez que la instancia se detenga, haz clic en Editar.

  5. En la sección VM protegida, modifica las opciones de VM protegida:

    • Activa la opción Activar inicio seguro para habilitarlo. Compute Engine no habilita el inicio seguro de forma predeterminada porque es posible que los controladores sin firmar y otro software de bajo nivel 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.

  6. Haz clic en Guardar.

  7. Haz clic en Iniciar para abrir la instancia.

gcloud

  1. Detén la instancia:

    gcloud compute instances stop VM_NAME
    

    Reemplaza VM_NAME por el nombre de la VM que debe detenerse.

  2. 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.

  3. Inicia la instancia:

    gcloud compute instances start VM_NAME
    

    Reemplaza VM_NAME por el nombre de la VM que se iniciará.

API

  1. 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á.
  2. 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.

  3. 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?