Como monitorar a integridade em instâncias de VM protegida

Neste tópico, você aprenderá como monitorar a integridade da inicialização de instâncias de VM protegida usando o Stackdriver Monitoring, identificar a causa de uma falha de validação de 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 Stackdriver Monitoring para visualizar eventos de validação de integridade e definir alertas para eles, e o Stackdriver Logging para analisar os detalhes desses eventos.

Como visualizar eventos de validação de integridade

Execute as ações a seguir para visualizar as métricas de um recurso monitorado usando o Metrics Explorer:

  1. No Console do Google Cloud, acesse Monitoring ou use o botão:
    Acessar "Monitoring"
  2. Clique em Metrics Explorer se ele aparecer no painel de navegação. Caso contrário, selecione Recursos e, em seguida, Metrics Explorer.
  3. Verifique se Métrica é a guia selecionada.
  4. Clique na caixa Localizar tipo de recurso e métrica 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 Agregação para modificar como os dados são exibidos. Por exemplo, é possível agrupar por rótulos de recurso ou métrica. Para mais informações, consulte o tópico Outras configurações da página "Como selecionar métricas".

Como configurar 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 Stackdriver 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 pcrNum 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 para eventos de validação de integridade

Para automatizar as respostas a eventos de validação de inicialização, exporte os registros do Stackdriver 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 Stackdriver 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. Se ocorrer uma falha inesperada na validação da integridade, interrompa a instância de VM e investigue o motivo.

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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine