Como monitorar a integridade em VMs protegidas

Neste tópico, descrevemos como usar o Cloud Monitoring para monitorar a integridade da inicialização de instâncias de VMs protegidas com monitoramento de integridade ativado, identificar a causa de uma falha na validação da integridade e atualizar o valor de referência da política de integridade.

Antes de começar

Como monitorar a integridade da inicialização da VM usando o Monitoring

Use o Cloud Monitoring para ver eventos de validação de integridade e definir alertas, e o Cloud Logging para revisar os detalhes desses eventos.

Como ver eventos de validação da integridade

Para visualizar as métricas de um recurso monitorado usando o Metrics Explorer, faça o seguinte:

  1. No Console do Google Cloud, acesse Monitoring ou use o botão
    Acessar Monitoring
  2. No painel de navegação do Monitoring, clique em Metrics Explorer.
  3. Verifique se Metric é a guia selecionada.
  4. Clique na caixa Find resource type and metric e, em seguida, insira ou selecione no menu o nome do recurso e da métrica. Use as informações a seguir para preencher os campos dessa caixa de texto:
    1. Em Recurso, selecione ou insira gce_instance.
    2. Em Métrica, escolha uma das métricas a seguir:
      • Validação de inicialização antecipada: mostra o status de aprovação/reprovação referente à parte de inicialização antecipada da última sequência de inicialização. A inicialização antecipada é a sequência que vai desde quando o firmware UEFI é iniciado até o momento em que ele passa o controle para o carregador de inicialização.
      • Validação de inicialização atrasada: mostra o status de aprovação/reprovação da parte de inicialização atrasada da última sequência de inicialização. A inicialização atrasada é a sequência que vai desde o carregador de inicialização até a conclusão. Isso inclui o carregamento do kernel do sistema operacional.
  5. Use os menus Filtro, Agrupar por e Agregador para modificar a exibição dos dados. Por exemplo, é possível agrupar por rótulos de recurso ou métrica. Para mais informações, consulte Como selecionar métricas.

Como definir alertas para eventos de validação de integridade

Defina alertas para valores das métricas Validação de inicialização antecipada e Validação de inicialização atrasada, caso você queira receber uma notificação quando houver uma falha na validação de inicialização na instância de VM. Para mais informações sobre alertas, consulte Introdução a alertas.

Como visualizar detalhes de eventos de validação de integridade

  1. Acessar a página "Instâncias de VMs" (em inglês)
  2. Clique no código da instância para abrir a página Detalhes da instância de VM.
  3. Em Registros, clique em Cloud Logging.
  4. Localize a entrada de registro earlyBootReportEvent ou lateBootReportEvent que você quer analisar.
  5. Expanda a entrada de registro > jsonPayload > earlyBootReportEvent ou lateBootReportEvent, conforme apropriado. Nessa seção, o elemento policyEvaluationPassed identifica se a seção determinada da sequência de inicialização foi aprovada na verificação com o valor de referência da política de integridade.
  6. Expanda a seção actualMeasurements e os elementos numerados dela para ver os valores de registro de configuração da plataforma (PCR, na sigla em inglês) salvos na sequência de inicialização mais recente. Os valores de PCR são salvos em value nos elementos numerados. Eles identificam os componentes de inicialização e a ordem de carregamento dos componentes usados pela sequência de inicialização mais recente. Além disso, eles são comparados com o valor de referência da política de integridade para determinar se houve alguma alteração na sequência de inicialização da instância de VM. Para mais informações sobre a representação dos PCRs, consulte Eventos de monitoramento da integridade.
  7. Expanda a seção policyMeasurements para ver os valores de PCR salvos como valor de referência da política de integridade.

Como automatizar respostas a eventos de validação de integridade

Para automatizar as respostas a eventos de validação de inicialização, exporte os registros do Cloud Logging e processe-os em outro serviço, como o Cloud Functions. Para mais informações, consulte Visão geral da exportação de registros e Como automatizar respostas a falhas de validação de integridade.

Como determinar a causa da falha na validação de integridade da inicialização

  1. Acessar a página "Instâncias de VMs" (em inglês)
  2. Clique no código da instância para abrir a página Detalhes da instância de VM.
  3. Em Registros, clique em Cloud Logging.
  4. Localize as entradas de registro earlyBootReportEvent e lateBootReportEvent mais recentes e veja a que tem o valor policyEvaluationPassed como false.
  5. Expanda a entrada de registro > jsonPayload > earlyBootReportEvent ou lateBootReportEvent, conforme apropriado.
  6. Expanda as seções actualMeasurements e policyMeasurements e os elementos numerados dentro delas para ver os valores de registro de configuração de plataforma (PCR, na sigla em inglês) salvos da sequência de inicialização mais recente e o valor de referência da política de integridade, respectivamente. Os valores de PCR identificam os componentes de inicialização e a ordem de carregamento dos componentes usados pela última sequência de inicialização e pelo valor de referência da política de integridade.
  7. Compare os valores de PCR nas seções actualMeasurements e policyMeasurements para determinar onde ocorreu a variação entre a sequência de inicialização mais recente e o valor de referência da política de integridade. Qualquer comparação que produza valores diferentes é o problema que causou a falha na validação. Saiba que os números dos elementos nessas seções raramente correspondem aos números de PCR. Além disso, os elementos com numeração similar em actualMeasurements e policyMeasurements podem representar PCRs diferentes. Por exemplo, na sequência de inicialização antecipada para Windows e Linux, o elemento 3 em actualMeasurements e o elemento 2 em policyMeasurements representam PCR7.

  8. Consulte Eventos de monitoramento de integridade para determinar o que o PCR alterado representa e investigue se essa é uma alteração esperada.

Como atualizar o valor de referência da política de integridade

O valor de referência da política de integridade inicial deriva da imagem de inicialização implicitamente confiável quando a instância é criada. A atualização do valor de referência atualiza o valor de referência da política de integridade usando a configuração da instância atual. A instância de VM precisa estar em execução quando você atualiza o valor de referência.

Você precisará atualizar o valor de referência depois de qualquer alteração específica da inicialização planejada na configuração da instância, como atualizações do kernel ou instalação do driver do kernel, porque elas causarão falhas na validação de integridade. Em caso de falha inesperada na validação da integridade, verifique o motivo da falha e prepare-se para interromper a instância, se necessário.

Você precisa ter a permissão setShieldedInstanceIntegrityPolicy para atualizar o valor de referência da política de integridade.

Use o procedimento a seguir para atualizar o valor de referência da política de integridade.

gcloud

Atualize o valor de referência da política de integridade da instância de VM usando o comando compute instances update com a sinalização --shielded-learn-integrity-policy.

No exemplo a seguir, o valor de referência da política de integridade é redefinido para a instância de VM my-instance:

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

API

Atualize o valor de referência da política de integridade da instância de VM usando o item do corpo da solicitação updateAutoLearnPolicy com o método setShieldedInstanceIntegrityPolicy.

No exemplo a seguir, o valor de referência da política de integridade é redefinido para uma instância 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
}

A seguir