Supervisar la integridad de las VMs 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.

Supervisa la integridad de inicio de VM con Monitoring

Usa Cloud Monitoring para 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 la consola de Google Cloud, elige Monitoring y, luego,  Explorador de métricas:

    Ir al Explorador de métricas

  2. En el elemento Métrica, expande el menú Seleccionar una métrica, ingresa Boot Validation en la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:
    1. En el menú Recursos activos, selecciona Instancia de VM.
    2. En el menú Categorías de métricas activas, selecciona Instancia.
    3. En el menú Métricas activas, selecciona Validación de inicio anticipado o Validación de inicio retardado.
      • 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.
    4. Haz clic en Aplicar.
  3. Para quitar series temporales de la pantalla, usa el elemento Filtro.

  4. Para combinar series temporales, usa los menús del elemento Agregación. Por ejemplo, para mostrar el uso de CPU de tus VM, en función de su zona, configura el primer menú como Mean y el segundo menú como zona.

    Todas las series temporales se muestran cuando el primer menú del elemento Agregación se establece en Sin agregar. La configuración predeterminada para el elemento Agregación está determinada por el tipo de métrica que elegiste.

  5. Para obtener cuotas y otras métricas que informen una muestra por día, haz lo siguiente:
    1. En el panel Mostrar, establece el Tipo de widget en Gráfico de barras apiladas.
    2. Establece el período en al menos una semana.

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.

Observa los detalles del evento 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 para 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 Descripción general del enrutamiento y el almacenamiento y Automatiza las respuestas a las fallas de validación de la 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 a través de 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 a través del 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 a través del 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
}

¿Qué sigue?