Monitoraggio dell'integrità sulle VM schermate

Questo argomento descrive come utilizzare Cloud Monitoring per monitorare l'integrità di avvio delle istanze VM schermate in cui è abilitato il monitoraggio dell'integrità, identificare la causa di un errore di convalida dell'integrità e aggiornare la baseline dei criteri di integrità.

Monitoraggio dell'integrità dell'avvio della VM utilizzando il monitoraggio

Utilizza Cloud Monitoring per visualizzare gli eventi di convalida dell'integrità e impostare avvisi per questi eventi e Cloud Logging per esaminare i dettagli di questi eventi.

Visualizzazione degli eventi di convalida dell'integrità

Per visualizzare le metriche per una risorsa monitorata con Esplora metriche, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina  Esplora metriche:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nell'elemento Metrica, espandi il menu Seleziona una metrica, digita Boot Validation nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:
    1. Nel menu Risorse attive, seleziona Istanza VM.
    2. Nel menu Categorie di metriche attive, seleziona Istanza.
    3. Nel menu Metriche attive, seleziona Convalida avvio anticipato o Convalida avvio tardivo.
      • Convalida dell'avvio iniziale: mostra lo stato di superamento/non superamento della parte di fase iniziale di avvio dell'ultima sequenza di avvio. La fase iniziale di avvio è la sequenza di avvio dall'inizio del firmware UEFI fino a quando non passa il controllo al bootloader.
      • Convalida fase finale di avvio: mostra lo stato di superamento/non superamento della parte di fase finale di avvio dell'ultima sequenza di avvio. La fase finale di avvio è la sequenza di avvio dal bootloader fino al completamento. Sono inclusi il caricamento del kernel del sistema operativo e
    4. Fai clic su Applica.
  3. Per rimuovere le serie temporali dalla visualizzazione, utilizza l'elemento Filtro.

  4. Per combinare le serie temporali, utilizza i menu dell'elemento Aggregazione. Ad esempio, per visualizzare l'utilizzo della CPU per le VM, in base alla zona, imposta il primo menu su Media e il secondo menu su zona.

    Tutte le serie temporali vengono visualizzate quando il primo menu dell'elemento Aggregazione è impostato su Nessuna aggregazione. Le impostazioni predefinite per l'elemento Aggregazione sono determinate dal tipo di metrica che hai selezionato.

  5. Per la quota e altre metriche che generano un campione al giorno:
    1. Nel riquadro Visualizza, imposta Tipo di widget su Grafico a barre in pila.
    2. Imposta il periodo di tempo su almeno una settimana.

Impostazione di avvisi per gli eventi di convalida dell'integrità

Imposta avvisi sui valori delle metriche Convalida fase iniziale di avvio e Convalida fase finale di avvio se vuoi ricevere una notifica in caso di errore di convalida dell'avvio nell'istanza VM. Per informazioni sugli avvisi, consulta la pagina Introduzione agli avvisi:

Visualizzazione dei dettagli dell'evento di convalida dell'integrità

  1. Vai alla pagina Istanze VM
  2. Fai clic sull'ID istanza per aprire la pagina Dettagli istanza VM.
  3. In Log, fai clic su Cloud Logging.
  4. Individua la voce di log earlyBootReportEvent o lateBootReportEvent che vuoi esaminare.
  5. Espandi la voce di log > jsonPayload > earlyBootReportEvent o lateBootReportEvent, a seconda dei casi. All'interno di questa sezione, l'elemento policyEvaluationPassed identifica se la sezione specificata della sequenza di avvio ha superato la verifica rispetto alla baseline dei criteri di integrità.
  6. Espandi la sezione actualMeasurements e gli elementi numerati al suo interno per visualizzare i valori del registro di configurazione della piattaforma (PCR) salvati dall'ultima sequenza di avvio. I valori PCR vengono salvati nei valori value all'interno degli elementi numerati. I valori PCR identificano i componenti di avvio e l'ordine di caricamento dei componenti utilizzati dalla sequenza di avvio più recente e vengono confrontati con la baseline dei criteri di integrità per determinare se sono state apportate modifiche alla sequenza di avvio dell'istanza VM. Per maggiori informazioni su cosa rappresentano i PCR, consulta Eventi di monitoraggio dell'integrità.
  7. Espandi la sezione policyMeasurements per visualizzare i valori PCR salvati per la baseline dei criteri di integrità.

Automatizzare le risposte agli eventi di convalida dell'integrità

Puoi automatizzare le risposte agli eventi di convalida del boot esportando i log di Cloud Logging ed elaborandoli in un altro servizio, ad esempio le funzioni Cloud Run. Per ulteriori informazioni, consulta la panoramica su routing e archiviazione e la sezione Automatizzazione delle risposte a errori di convalida dell'integrità.

Determinazione della causa dell'errore di convalida dell'integrità di avvio

  1. Vai alla pagina Istanze VM
  2. Fai clic sull'ID istanza per aprire la pagina dei dettagli dell'istanza VM.
  3. In Log, fai clic su Cloud Logging.
  4. Individua le voci di log earlyBootReportEvent e lateBootReportEvent più recenti e controlla quale ha un valore policyEvaluationPassed pari a false.
  5. Espandi la voce di log > jsonPayload > earlyBootReportEvent o lateBootReportEvent, a seconda dei casi.
  6. Espandi le sezioni actualMeasurements e policyMeasurements e gli elementi numerati al loro interno per visualizzare i valori del registro di configurazione della piattaforma (PCR) salvati rispettivamente dalla sequenza di avvio più recente e dalla baseline dei criteri di integrità. I valori PCR identificano i componenti di avvio e l'ordine di caricamento dei componenti utilizzati dalla sequenza di avvio più recente e dalla baseline dei criteri di integrità.
  7. Confronta i valori PCR nelle sezioni actualMeasurements e policyMeasurements per determinare dove si è verificata la variazione tra la sequenza di avvio più recente e la baseline dei criteri di integrità. Il confronto che genera valori diversi è il problema che ha causato l'errore di convalida. Tieni presente che i numeri degli elementi in queste sezioni raramente corrispondono ai numeri PCR, e gli elementi numerati in modo simile in actualMeasurements e policyMeasurements potrebbero rappresentare PCR diversi. Ad esempio, nella sequenza di fase iniziale di avvio sia per Windows che per Linux, l'elemento 3 in actualMeasurements e l'elemento 2 in policyMeasurements rappresentano entrambi PCR7.

  8. Controlla gli eventi di monitoraggio dell'integrità per determinare cosa rappresenta il PCR modificato e controlla se si tratta di una modifica prevista.

Aggiornamento della baseline dei criteri di integrità

La baseline dei criteri di integrità iniziale viene ricavata dall'immagine di avvio attendibile implicitamente quando viene creata l'istanza. L'aggiornamento della baseline dei criteri di integrità viene eseguito utilizzando la configurazione dell'istanza corrente. L'istanza VM deve essere in esecuzione quando aggiorni la baseline.

Devi aggiornare la baseline dopo eventuali modifiche pianificate specifiche per l'avvio nella configurazione dell'istanza, come aggiornamenti del kernel o installazione del driver del kernel, poiché causeranno errori di convalida dell'integrità. Se si verifica un errore imprevisto di convalida dell'integrità, devi indagare sul motivo dell'errore e prepararti a interrompere l'istanza, se necessario.

Per poter aggiornare la linea di base del criterio di integrità, devi disporre dell'autorizzazione setShieldedInstanceIntegrityPolicy.

Utilizza la procedura seguente per aggiornare la baseline dei criteri di integrità.

gcloud

Aggiorna la baseline dei criteri di integrità dell'istanza VM utilizzando il comando compute instances update con il flag --shielded-learn-integrity-policy.

L'esempio seguente reimposta la baseline dei criteri di integrità per l'istanza VM my-instance:

gcloud compute instances update INSTANCE_NAME \
    --zone=ZONE \
    --shielded-learn-integrity-policy

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome della VM.
  • ZONE: la zona in cui esiste la VM.

API

Aggiorna la baseline dei criteri di integrità dell'istanza VM utilizzando l'elemento del corpo della richiesta updateAutoLearnPolicy con il metodo setShieldedInstanceIntegrityPolicy.

L'esempio seguente reimposta la baseline dei criteri di integrità per un'istanza VM.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setShieldedInstanceIntegrityPolicy?key=YOUR_API_KEY
{
  "updateAutoLearnPolicy": true
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui esiste la VM.
  • INSTANCE_NAME: il nome della VM.
  • ZONE: la zona in cui esiste la VM.
  • YOUR_API_KEY: una chiave API che ti consente di accedere all'API.

Passaggi successivi