Monitoraggio dell'integrità sulle VM schermate

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

Monitoraggio dell'integrità dell'avvio delle VM tramite Monitoring

Utilizza Cloud Monitoring per visualizzare gli eventi di convalida dell'integrità e impostarne i relativi avvisi 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 utilizzando Metrics Explorer, procedi nel seguente modo:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Metrics Explorer:

    Vai a Metrics Explorer

  2. Nell'elemento Metrica, espandi il menu Seleziona una metrica, inserisci Boot Validation nella barra dei filtri, quindi 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 iniziale dell'avvio: mostra lo stato superato o non superato della parte di fase iniziale di avvio dell'ultima sequenza di avvio. L'avvio anticipato è la sequenza di avvio dall'avvio del firmware UEFI fino a quando non passa il controllo al bootloader.
      • Convalida avvio tardivo: mostra lo stato superato o non superato della parte dell'ultima sequenza di avvio. L'avvio posticipato è la sequenza di avvio dal bootloader fino al completamento. Ciò include il caricamento del kernel del sistema operativo.
    4. Fai clic su Applica.
  3. Per rimuovere le serie temporali dalla visualizzazione, utilizza l'elemento Filter.

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

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

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

Impostazione di avvisi su eventi di convalida dell'integrità

Imposta avvisi sui valori delle metriche Convalida dell'avvio anticipato e Convalida dell'avvio tardivo se vuoi ricevere una notifica quando si verifica un errore di convalida dell'avvio sulla tua istanza VM. Per informazioni sugli avvisi, consulta 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 base di riferimento 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 dalla sequenza di avvio più recente. I valori PCR vengono salvati negli elementi 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 base di riferimento dei criteri di integrità per determinare se si sono verificate modifiche nella sequenza di avvio dell'istanza VM. Per ulteriori informazioni su ciò che rappresentano le PCR, consulta la sezione Eventi di monitoraggio dell'integrità.
  7. Espandi la sezione policyMeasurements per visualizzare i valori PCR salvati per la base di criteri di integrità.

Automazione delle risposte agli eventi di convalida dell'integrità

Per automatizzare le risposte agli eventi di convalida dell'avvio, puoi esportare i log di Cloud Logging ed elaborarli in un altro servizio come Cloud Functions. Per maggiori informazioni, vedi Panoramica del routing e dell'archiviazione e Automazione delle risposte agli errori di convalida dell'integrità.

Determinare la 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 Dettagli 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 di 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 rispettivamente i valori del registro di configurazione della piattaforma (PCR) salvati dalla sequenza di avvio più recente e dalla base di riferimento 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 la base dei criteri di integrità.
  7. Confronta i valori della PCR nelle sezioni actualMeasurements e policyMeasurements per determinare dove si è verificata la variazione tra la sequenza di avvio più recente e la base di riferimento dei criteri di integrità. Qualunque confronto produce 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 della PCR e che gli elementi numerati in modo simile in actualMeasurements e policyMeasurements potrebbero rappresentare diverse PCR. 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 la PCR modificata e scoprire se si tratta di una variazione prevista.

Aggiornamento della base di riferimento dei criteri di integrità

La base di riferimento iniziale dei criteri di integrità deriva dall'immagine di avvio implicitamente attendibile al momento della creazione dell'istanza. L'aggiornamento della base di riferimento aggiorna la base dei criteri di integrità utilizzando l'attuale configurazione dell'istanza. L'istanza VM deve essere in esecuzione quando aggiorni la base di riferimento.

Devi aggiornare la base di riferimento dopo eventuali modifiche specifiche per l'avvio pianificate nella configurazione dell'istanza, ad esempio aggiornamenti del kernel o installazione del driver del kernel, poiché ciò causerà errori di convalida dell'integrità. Se si verifica un errore imprevisto di convalida dell'integrità, devi indagare sul motivo dell'errore e prepararti ad arrestare l'istanza, se necessario.

Devi avere l'autorizzazione setShieldedInstanceIntegrityPolicy per poter aggiornare la base dei criteri di integrità.

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

gcloud

Aggiorna la base di riferimento 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 base di riferimento dei criteri di integrità per l'istanza VM my-instance:

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

API

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

L'esempio seguente reimposta la base di riferimento dei criteri di integrità per un'istanza 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
}

Passaggi successivi