Supervisa la integridad en instancias de VM protegida

Usa este tema para obtener información sobre cómo supervisar la integridad de inicio de las instancias de VM protegida mediante Stackdriver, 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 Stackdriver

Usa Stackdriver Monitoring para ver los eventos de validación de integridad y establecer alertas en ellos, y usa Stackdriver Logging para revisar los detalles de esos eventos.

Observa los eventos de validación de integridad

  1. En Google Cloud Platform Console, dirígete a Monitoring:

    Ir a Monitoring

  2. Mediante el menú desplegable en la parte superior derecha de la consola de Stackdriver Monitoring, selecciona la cuenta de Stackdriver que contiene el proyecto de GCP en el que reside la instancia de VM.

  3. En la navegación de la izquierda, selecciona Recursos y, luego, Explorador de métricas.

  4. En el campo Buscar tipo y métrica de recurso (Find resource type and metric), ingresa instancia (instance) y selecciona el tipo de recurso Instancia de VM de Compute Engine (Compute Engine VM Instance).

  5. Elige una de las siguientes métricas:

    • La Validación de inicio anticipado (Early Boot Validation) muestra el estado “aprobado” o “reprobado” de la parte de inicio anticipado de la última secuencia de inicio. El inicio anticipado es la secuencia de inicio desde el comienzo del firmware UEFI hasta que le pasa el control al bootloader.
    • La Validación de inicio retardado (Late Boot Validation) muestra el estado “aprobado” o “reprobado” de la parte de inicio retardado de la última secuencia de inicio. El inicio retardado es la secuencia de inicio desde el bootloader hasta que se completa. Esto incluye la carga del kernel del sistema operativo.
  6. De forma opcional, aplica un filtro para limitar la información de la métrica que se muestra, agrupar la información de la métrica que se muestra o agregar los datos de la métrica. Para obtener más información, consulta Configuración adicional (Additional configuration).

Configura alertas en los eventos de validación de integridad

Establece alertas en los valores de las métricas de Validación de inicio anticipado (Early Boot Validation) y de Validación de inicio retardado (Late Boot Validation) si deseas recibir una notificación cuando ocurra una falla de validación de inicio en la instancia de VM. Para obtener más información sobre cómo configurar las alertas, consulta Introducción a las alertas.

  1. En Google Cloud Platform Console, dirígete a Monitoring:

    Ir a Monitoring

  2. Mediante el menú desplegable en la parte superior derecha de la consola de Stackdriver Monitoring, selecciona la cuenta de Stackdriver que contiene el proyecto de GCP en el que reside la instancia de VM.

  3. En la navegación izquierda, elige Alertas y luego elige Crear una política.

  4. Haz clic en Agregar condición.

  5. En el mensaje Prueba nuestra nueva IU para crear las condiciones de alerta (Try our new UI for creating alerting conditions), elige Aceptar (Opt in) a fin de usar la nueva interfaz de condiciones de alerta (obligatorio).

  6. Haz clic en Seleccionar en Límite de la métrica/Frecuencia del cambio/Ausencia de la métrica (Metric Threshold/Rate Change/Absence).

  7. En el campo Buscar tipo de recurso y métrica (Find resource type and metric), ingresa instancia (instance) y selecciona el tipo de recurso Instancia de VM en GCE.

  8. Elige una de las siguientes métricas:

    • La Validación de inicio anticipado (Early Boot Validation) muestra el estado “aprobado” o “reprobado” de la parte de inicio anticipado de la última secuencia de inicio. El inicio anticipado es la secuencia de inicio desde el comienzo del firmware UEFI hasta que le pasa el control al bootloader.
    • La Validación de inicio retardado (Late Boot Validation) muestra el estado “aprobado” o “reprobado” de la parte de inicio retardado de la última secuencia de inicio. El inicio retardado es la secuencia de inicio desde el bootloader hasta que se completa. Esto incluye la carga del kernel del sistema operativo.
  9. En Filtro, filtra por estado=reprobado (status=failed).

  10. En Agrupar por, agrupa por estado.

  11. En La condición se activa si (Condition triggers if), selecciona Se viola cualquier serie temporal (Any time series violates).

  12. En Condición, especifica está 1 minuto por encima de 0 (is above 0 for 1 minute).

  13. Haz clic en Guardar condición.

  14. Agrega una o más notificaciones.

  15. De forma opcional, agrega documentación para ayudar al destinatario de la notificación a entender cómo administrar la alerta.

  16. Asígnale un nombre a la política

  17. Selecciona Guardar política.

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 de detalles de instancia de VM.
  3. En Registros, haz clic en Stackdriver 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 pcrNum 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 integridad si exportas los registros de Stackdriver 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 de detalles de instancia de VM.
  3. En Registros, haz clic en Stackdriver 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 ocurre una falla de validación de integridad inesperada, debes detener la instancia de VM y luego investigar el motivo de la falla.

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
}

Qué sigue

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Compute Engine