Monitorar a integridade da VM confidencial

O monitoramento de integridade é um recurso da VM protegida e da VM confidencial que ajuda a entender e tomar decisões sobre o estado das instâncias de VM. Ele usa o Cloud Monitoring e o Cloud Logging.

O monitoramento de integridade é ativado por padrão em novas instâncias de VM confidenciais. Para aprender a mudar as configurações de monitoramento de integridade, incluindo a alternância entre a inicialização segura, o vTPM e o próprio monitoramento de integridade, consulte Como modificar as opções de VM protegida.

Visualizar relatórios de integridade

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

Para saber como visualizar eventos de validação de integridade e definir alertas neles, consulte Como monitorar a integridade da inicialização da VM usando o Monitoring.

Visualizar eventos do relatório de atestado de inicialização

Sempre que uma instância de VM confidencial baseada em SEV AMD é inicializada, um evento do relatório de atestado de inicialização é gerado como parte dos eventos de validação de integridade da VM.

O evento de relatório contém as seguintes informações úteis:

  • integrityEvaluationPassed: o resultado de uma verificação de integridade realizada pelo monitor de máquina virtual na medição calculada pela SEV.

  • sevPolicy: os bits de política da SEV definidos para esta VM. Os bits de política são definidos na inicialização da instância de VM confidencial para impor restrições, como se o modo de depuração está ativado.

Para conferir um evento do relatório de atestado de inicialização em um relatório de integridade, siga estas etapas:

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Na tabela "Instâncias de VM", encontre a instância de VM confidencial e clique no nome dela.

  3. Na seção Registros, clique em Cloud Logging.

  4. O Cloud Logging é aberto, e o relatório de integridade é preenchido com eventos de validação de integridade para o período especificado. Talvez seja necessário mudar o período do registro (ao lado da caixa Pesquisar todos os campos) para capturar os eventos de inicialização.

  5. Encontre um relatório com um tipo de cloud_integrity.IntegrityEvent e um bootCounter de 0 e abra.

    Para conferir os dados de um campo específico, clique na seta de expansão . Para expandir todos os campos, clique em Expandir campos aninhados.

  6. Dentro da chave jsonPayload, procure a chave sevLaunchAttestationReportEvent para conferir o evento do relatório. Abra o widget a seguir para conferir um exemplo de relatório de integridade típico.

    Exemplo de relatório de integridade

    {
      insertId: "0"
      jsonPayload: {
        @type: "type.googleapis.com/cloud_integrity.IntegrityEvent"
        bootCounter: "0"
        sevLaunchAttestationReportEvent: {
          integrityEvaluationPassed: true
          sevPolicy: {
            debugEnabled: false
            domainOnly: false
            esRequired: false
            keySharingAllowed: false
            minApiMajor: 0
            minApiMinor: 0
            sendAllowed: true
            sevOnly: true
          }
        }
      }
      logName: "projects/PROJECT_ID/logs/compute.googleapis.com%2Fshielded_vm_integrity"
      receiveTimestamp: "2023-08-06T23:43:09.422303036Z"
      resource: {
        labels: {
          instance_id: "7638570949330964203" (instance_name: VM_INSTANCE_NAME)
          project_id: "PROJECT_ID"
          zone: "VM_ZONE"
        }
        type: "gce_instance"
      }
      severity: "NOTICE"
      timestamp: "2023-08-06T23:43:07.407511786Z"
    }

Monitorar a integridade da inicialização com a VM protegida

Também é possível aproveitar a Inicialização segura e a Inicialização medida, recursos de VMs protegidas, para monitorar a integridade da instância de VM confidencial.

Inicialização segura

A inicialização segura ajuda a garantir que o sistema da instância de VM confidencial execute apenas um software autêntico. Para isso, ela verifica a assinatura digital de todos os componentes de inicialização e encerra o processo de inicialização se a verificação da assinatura falhar. O firmware assinado e verificado pela autoridade de certificação do Google estabelece a raiz de confiança da Inicialização segura, que verifica a identidade da VM e confere se ela faz parte do projeto e da região especificados.

A Inicialização segura não está ativada por padrão. Para saber como ativar esse recurso e para mais informações, consulte Inicialização segura.

Inicialização medida

A Inicialização medida é ativada pelo módulo de plataforma confiável virtual (vTPM, na sigla em inglês) de uma instância de VM confidencial e ajuda a proteger contra modificações mal-intencionadas na instância. A Inicialização medida monitora a integridade do carregador de inicialização, do kernel e dos drivers de inicialização de uma instância de VM confidencial.

Durante a inicialização medida de uma instância de VM confidencial, PCR[0] (um registro de controle da plataforma) é estendido com um evento específico do fornecedor, GceNonHostInfo, que codifica o uso da SEV.

A Inicialização medida é ativada por padrão em novas instâncias de VMs confidenciais. Saiba mais sobre a Inicialização medida.

A seguir