AMIs atestáveis
Uma AMI atestável é uma imagem de máquina da Amazon (AMI) com um hash criptográfico correspondente que representa todo o seu conteúdo. O hash é gerado durante o processo de criação da AMI e é calculado com base em todo o conteúdo dessa AMI, incluindo as aplicações, o código e o processo de inicialização.
Manter um estado atestável
As medidas de uma instância são baseadas em seu estado inicial de inicialização. Qualquer alteração de software ou código feita na instância após a inicialização que persista após as reinicializações alterará a medida da instância após as reinicializações. Se as medidas forem alteradas, elas se desviarão das medidas de referência da AMI atestável, e a instância não poderá mais atestar para o AWS KMS com sucesso após a reinicialização. Assim sendo, para que as AMIs atestáveis sejam úteis, as instâncias precisam voltar ao estado original de inicialização após a reinicialização.
Voltar sempre ao estado original de inicialização garante que uma instância possa atestar com sucesso após a reinicialização. Os seguintes utilitários podem ser usados para garantir que as instâncias permaneçam atestáveis após as reinicializações:
-
erofs
: Enhanced Read-Only File System. Esse utilitário garante que o sistema de arquivos raiz seja somente leitura. Com esse utilitário, as gravações no sistema de arquivos, incluindo/etc
,/run
e/var
, são armazenadas na memória e perdidas quando a instância é reiniciada, deixando o sistema de arquivos raiz em seu estado original de inicialização. Para obter mais informações, consulte a documentação do erofs. -
dm-verity
: fornece proteção de integridade para o sistema de arquivos raiz somente leitura. O utilitário calcula um hash dos blocos do sistema de arquivos e o armazena na linha de comando do kernel. Isso permite que o kernel verifique a integridade do sistema de arquivos durante a inicialização. Para obter mais informações, consulte a documentação do dm-verity.
Requisitos para a criação de AMIs atestáveis
AMIs atestáveis têm os seguintes requisitos:
-
Sistema operacional básico: Amazon Linux 2023 e NixOS
-
Arquitetura: arquitetura
x86_64
ouarm64
-
Compatibilidade com TPM: o NitroTPM deve estar habilitado. Para obter mais informações, consulte Requisitos para usar o NitroTPM com instâncias do Amazon EC2.
-
Modo de inicialização: o modo de inicialização UEFI deve estar habilitado.
Tópicos
Criar AMIs atestáveis
Para criar uma AMI atestável, você precisará usar o Amazon Linux 2023 com o KIWI Next Generation (KIWI NG
O KIWI NG é uma ferramenta de código aberto para a criação de imagens baseadas no Linux pré-configuradas. O KIWI NG usa descrições de imagem XML que definem o conteúdo de uma imagem. A descrição da imagem especifica o sistema operacional básico, o software, a configuração do kernel e os scripts a serem executados para compilar uma AMI pronta para uso para um caso de uso específico.
Durante a compilação da AMI, você precisa usar o utilitário nitro-tpm-pcr-compute
para gerar as medidas de referência com base na Unified Kernel Image (UKI) gerada pelo KIWI NG. Para obter mais informações sobre o uso do utilitário nitro-tpm-pcr-compute
, consulte Calcular medidas de PCR para uma AMI personalizada.
A AWS fornece um exemplo de descrição de imagem do Amazon Linux 2023 que inclui todas as configurações necessárias para configurar uma instância do EC2 em um ambiente computacional isolado. Para obter mais informações, consulte Criar o exemplo de descrição de imagem do Amazon Linux 2023.