Monitoraggio dell'integrità sulle VM schermate

Questo argomento descrive come utilizzare Cloud Monitoring per monitorare l'integrità in fase di avvio delle istanze di 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 delle VM mediante 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 come segue:

  1. Nella console Google Cloud, vai alla pagina Metrics Explorer :

    Vai a Metrics Explorer

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

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

  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 loro 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 Aggregazione sono determinate dal tipo di metrica selezionato.

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

Impostazione di avvisi sugli eventi di convalida dell'integrità

Imposta avvisi sui valori delle metriche Convalida dell'avvio anticipato e Convalida dell'avvio in ritardo se vuoi ricevere una notifica in caso di errore di convalida dell'avvio sulla tua 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 vedere i valori del registro di configurazione della piattaforma (PCR) salvati dall'ultima sequenza di avvio. 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 sono state apportate modifiche alla sequenza di avvio dell'istanza VM. Per saperne di più su ciò che rappresentano le PCR, consulta Eventi di monitoraggio dell'integrità.
  7. Espandi la sezione policyMeasurements per visualizzare i valori della 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 dell'avvio esportando i log di Cloud Logging ed elaborandoli in un altro servizio come Cloud Functions. Per maggiori informazioni, consulta Panoramica del routing e dell'archiviazione e Automazione delle risposte agli 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 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 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 vedere rispettivamente i valori del registro di configurazione della piattaforma (PCR) salvati dall'ultima sequenza di avvio e dalla base di riferimento del criterio 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 baseline dei criteri di integrità.
  7. Confronta i valori PCR nelle sezioni actualMeasurements e policyMeasurements per determinare dove si è verificata la variazione tra l'ultima sequenza di avvio e la baseline dei criteri di integrità. Il problema che ha causato l'errore di convalida è qualsiasi tipo di confronto che produce valori diversi. Tieni presente che i numeri degli elementi in queste sezioni raramente corrispondono ai numeri della PCR e che gli elementi numerati simili in actualMeasurements e policyMeasurements potrebbero rappresentare PCR diverse. Ad esempio, nella sequenza di fase iniziale di avvio sia per Windows sia 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 verificare se si tratta di una variazione prevista.

Aggiornamento della baseline dei criteri di integrità

La baseline dei criteri di integrità iniziale 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 la configurazione dell'istanza attuale. L'istanza VM deve essere in esecuzione quando aggiorni la base di riferimento.

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

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

Usa 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 my-instance \
    --shielded-learn-integrity-policy

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/alpha/projects/my-project/zones/us-central1-b/instances/my-instance/setShieldedInstanceIntegrityPolicy?key={YOUR_API_KEY}
{
  "updateAutoLearnPolicy": true
}

Passaggi successivi