Supervisar la integridad de las VM protegidas

En este tema, se describe cómo usar Cloud Monitoring para supervisar la integridad de inicio de las instancias de VM protegidas que tienen la supervisión de integridad habilitada, identificar la causa de una falla de validación de integridad y actualizar el modelo de referencia de la política de integridad.

Antes de comenzar

Supervisa la integridad de inicio de VM con Monitoring

Usa Cloud Monitoring a fin de ver los eventos de validación de integridad y configurar alertas para ellos, y Cloud Logging con el fin de revisar los detalles de esos eventos.

Observa los eventos de validación de integridad

Para consultar las métricas de un recurso supervisado mediante el Explorador de métricas, haz lo siguiente:

  1. En el panel de navegación de Google Cloud Console, selecciona Monitoring:
    Ir a Google Cloud Console

    Si es el primer acceso de Cloud Monitoring para este proyecto de Google Cloud, Cloud Monitoring creará un lugar de trabajo. Por lo general, este proceso es automático y se completa en pocos minutos. Si se te solicita seleccionar un lugar de trabajo o crear uno, selecciona Crear.

  2. En el panel de navegación de Monitoring, haz clic en  Explorador de métricas.
  3. Asegúrate de que esté seleccionada la pestaña Métrica.
  4. Haz clic en el cuadro que tiene la etiqueta Find resource type and metric y, a continuación, selecciona el recurso y la métrica en el menú o ingresa sus nombres. Usa la siguiente información para completar los campos de este cuadro de texto:
    1. En Recursos, selecciona o ingresa gce_instance.
    2. En Métrica, elige una de las siguientes métricas:
      • Validación de inicio anticipado: Muestra el estado “aprobado” o “reprobado” de la etapa de inicio anticipado de la última secuencia de inicio. El inicio anticipado es la secuencia de inicio que ocurre desde el arranque del firmware UEFI hasta que este le entrega el control al bootloader.
      • Validación de inicio retardado: Muestra el estado “aprobado” o “reprobado” de la etapa de inicio retardado de la última secuencia de inicio. El inicio retardado es la secuencia de inicio que ocurre desde que el bootloader adquiere el control hasta el fin del proceso. Esto incluye la carga del kernel del sistema operativo.
  5. Para modificar la forma en que se muestran los datos, usa los menús Filtrar, Agrupar por y Aggregator. Por ejemplo, puedes agrupar por etiquetas de recursos o métricas. Para obtener más información, consulta Selecciona métricas.

Configura alertas sobre eventos de validación de integridad

Configura alertas sobre los valores de las métricas de validación de inicio anticipado y validación de inicio retardado para recibir notificaciones cuando ocurran fallas de validación de inicio en la instancia de VM. Para obtener más información sobre las alertas, consulta Introducción a las alertas.

  • Para ver la configuración de la política de alertas de validación de inicio anticipado de Compute Engine, consulta este artículo.

  • Para ver la configuración de la política de alertas de validación del inicio retardado de Compute Engine, consulta este artículo.

Consulta los detalles de los eventos de validación de integridad

  1. Ir a la página Instancias de VM
  2. Haz clic en el ID de la instancia para abrir la página Detalles de instancia de VM.
  3. En Registros, haz clic en Cloud Logging.
  4. Busca la entrada de registro earlyBootReportEvent o lateBootReportEvent que deseas revisar.
  5. Expande la entrada de registro > jsonPayload > earlyBootReportEvent o lateBootReportEvent, según corresponda. Dentro de esa sección, el elemento policyEvaluationPassed identifica si la sección de la secuencia de inicio pasó la verificación con el modelo de referencia de la política de integridad.
  6. Expande la sección actualMeasurements y los elementos numerados dentro de ella para ver los valores guardados del registro de configuración de la plataforma (PCR) de la última secuencia de inicio. Los valores de PCR se guardan en los elementos value dentro de los elementos numerados. Los valores de PCR identifican los componentes de inicio y el orden de carga de los componentes usados durante la última secuencia de inicio, y se comparan con el modelo de referencia de la política de integridad para determinar si hubo algún cambio en la secuencia de inicio de la instancia de VM. Para obtener más información sobre lo que representan los PCR, consulta los eventos de supervisión de la integridad.
  7. Expande la sección policyMeasurements a fin de ver los valores de PCR guardados para el modelo de referencia de la política de integridad.

Automatiza las respuestas a los eventos de validación de integridad

Puedes automatizar las respuestas a los eventos de validación de inicio si exportas los registros de Cloud Logging y los procesas en otro servicio como Cloud Functions. Para obtener más información, consulta la Descripción general de la exportación de registros y Automatiza las respuestas a fallas de validación de integridad.

Determina la causa de la falla de validación de integridad de inicio

  1. Ir a la página Instancias de VM
  2. Haz clic en el ID de la instancia para abrir la página Detalles de instancia de VM.
  3. En Registros, haz clic en Cloud Logging.
  4. Busca las entradas de registro earlyBootReportEvent y lateBootReportEvent más recientes y observa cuál tiene un valor de policyEvaluationPassed falso (false).
  5. Expande la entrada de registro > jsonPayload > earlyBootReportEvent o lateBootReportEvent, según corresponda.
  6. Expande las secciones actualMeasurements y policyMeasurements y los elementos numerados dentro de ellas para ver los valores guardados del registro de configuración de la plataforma (PCR) de la última secuencia de inicio y del modelo de referencia de la política de integridad, respectivamente. Los valores de PCR identifican los componentes de inicio y el orden de carga de los componentes usados en la última secuencia de inicio y en el modelo de referencia de la política de integridad.
  7. Compara los valores de PCR en las secciones actualMeasurements y policyMeasurements para determinar dónde se produjo la variación entre la última secuencia de inicio y el modelo de referencia de la política de integridad. La comparación que produce valores diferentes, cualquiera que sea, es el problema que causó la falla de validación. Ten en cuenta que los números de elementos en estas secciones rara vez se corresponden con los números de PCR y que los elementos numerados de forma similar en actualMeasurements y policyMeasurements pueden representar distintos PCR. Por ejemplo, en la secuencia de inicio anticipado de Windows y Linux, tanto el elemento 3 en actualMeasurements como el elemento 2 en policyMeasurements representan PCR7.

  8. Verifica los eventos de supervisión de integridad para determinar qué representa el PCR modificado y, luego, investiga si el cambio era esperado.

Actualiza el modelo de referencia de la política de integridad

El modelo de referencia de la política de integridad inicial se deriva de la imagen de inicio de confianza implícita cuando se crea la instancia. La actualización del modelo de referencia actualiza el modelo de referencia de la política de integridad mediante la configuración de instancias actual. La instancia de VM se debe ejecutar cuando actualizas el modelo de referencia.

Debes actualizar el modelo de referencia después de cualquier cambio planificado específico del inicio en la configuración de la instancia, como las actualizaciones del kernel o la instalación de controladores de kernel, ya que esto provocará fallas de validación de integridad. Si surge una falla de validación de integridad inesperada, debes investigar el motivo de la falla y estar preparado para detener la instancia si es necesario.

Debes tener el permiso setShieldedInstanceIntegrityPolicy para poder actualizar el modelo de referencia de la política de integridad.

Usa el siguiente procedimiento para actualizar el modelo de referencia de la política de integridad.

gcloud

Actualiza el modelo de referencia de la política de integridad de la instancia de VM mediante el comando compute instances update con la marca --shielded-learn-integrity-policy.

En el siguiente ejemplo, se restablece el modelo de referencia de la política de integridad de la instancia de VM my-instance:

gcloud compute instances update my-instance \
    --shielded-learn-integrity-policy

API

Actualiza el modelo de referencia de la política de integridad de la instancia de VM mediante el elemento del cuerpo de la solicitud updateAutoLearnPolicy con el método setShieldedInstanceIntegrityPolicy.

En el siguiente ejemplo, se restablece el modelo de referencia de la política de integridad de una instancia de VM.

PATCH https://compute.googleapis.com/compute/alpha/projects/my-project/zones/us-central1-b/instances/my-instance/setShieldedInstanceIntegrityPolicy?key={YOUR_API_KEY}
{
  "updateAutoLearnPolicy": true
}

Pasos siguientes