

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Inicialização segura UEFI ativada AL2023
<a name="uefi-secure-boot"></a>

O AL2023 oferece suporte ao UEFI Secure Boot a partir do lançamento 2023.1. Você deve usar o AL2023 com instâncias do Amazon EC2 que oferecem suporte a UEFI e UEFI Secure Boot. Para saber mais, consulte [Requisitos para executar uma instância do EC2 no modo de inicialização da UEFI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launch-instance-boot-mode.html) no *Guia do usuário do Amazon EC2*.

AL2023 instâncias com UEFI Secure Boot habilitada aceitam somente código em nível de kernel, incluindo o kernel Linux e módulos, que são assinados por, para que você Amazon possa garantir que sua instância execute somente códigos em nível de kernel assinados por. AWS

 *Para obter mais informações sobre instâncias do Amazon EC2 e UEFI Secure Boot, consulte [UEFI Secure Boot para instâncias do Amazon EC2 no Guia do usuário do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html).*

**Pré-requisitos**
+ Você deve estar usando uma AMI com a AL2023 versão 2023.1 ou superior.
+ O tipo de instância deve permitir a inicialização segura do UEFI. Para saber mais, consulte [Requisitos para executar uma instância do EC2 no modo de inicialização da UEFI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launch-instance-boot-mode.html) no *Guia do usuário do Amazon EC2*.

## Ativar a inicialização segura UEFI em AL2023
<a name="enablement"></a>

O padrão AL2023 AMIs incorpora um bootloader e um kernel assinado por nossas chaves. Você pode ativar o UEFI Secure Boot inscrevendo instâncias existentes ou criando AMIs com o UEFI Secure Boot pré-ativado registrando uma imagem de um snapshot. O UEFI Secure Boot não está habilitado por padrão no padrão AL2023 AMIs.

O modo de inicialização de AL2023 AMIs é definido para garantir `uefi-preferred` que as instâncias executadas com elas AMIs usem o firmware UEFI, se o tipo de instância for compatível com UEFI. Se o tipo de instância não for compatível com UEFI, a instância será iniciada com firmware de BIOS antigo. Quando uma instância é executada no modo BIOS antigo, o UEFI Secure Boot não é aplicado.

Para obter mais informações sobre os modos de inicialização da AMI nas instâncias do Amazon EC2, consulte [Comportamento de inicialização da instância com os modos de inicialização do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html) no Guia do usuário do Amazon *EC2*.

**Topics**
+ [Ativar a inicialização segura UEFI em AL2023](#enablement)
+ [Inscrição de uma instância existente](#enrollment-existing-instance)
+ [Registrar imagem do instantâneo](#secure-boot-amis)
+ [Atualizações de revogação](#revocation-updates)
+ [Como o UEFI Secure Boot funciona em AL2023](#shim-use)
+ [Inscrevendo suas próprias chaves](#enrolling-own-keys)

## Inscrição de uma instância existente
<a name="enrollment-existing-instance"></a>

Para registrar uma instância existente, preencha as variáveis específicas do firmware UEFI com um conjunto de chaves que permitem que o firmware verifique o carregador de inicialização e o carregador de inicialização verifique o kernel na próxima inicialização.

1. O Amazon Linux fornece uma ferramenta para simplificar o processo de inscrição. Execute o comando a seguir para provisionar a instância com o conjunto necessário de chaves e certificados. 

   ```
   sudo amazon-linux-sb enroll
   ```

1. Execute o seguinte comando para reiniciar a instância do . Depois que a instância for reinicializada, o UEFI Secure Boot será ativado. 

   ```
   sudo reboot
   ```

**nota**  
 AMIs No momento, o Amazon Linux não oferece suporte ao Nitro Trusted Platform Module (NitroTPM). Se você precisar do NitroTPM além do UEFI Secure Boot, use as informações na seção a seguir.

## Registrar imagem do instantâneo
<a name="secure-boot-amis"></a>

Ao registrar uma AMI a partir de um snapshot de um volume raiz do Amazon EBS usando a `register-image` API do Amazon EC2, você pode provisionar a AMI com um blob binário que contém o estado do armazenamento de variáveis UEFI. Ao fornecer o AL2023 `UefiData`, você ativa o UEFI Secure Boot e não precisa seguir as etapas na seção anterior.

Para saber mais sobre como criar e usar um blob binário, consulte [Criar um blob binário contendo um armazenamento de variáveis pré-preenchido](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami-with-uefi-secure-boot.html#uefi-secure-boot-optionB) no *Guia do usuário do Amazon EC2*.

O AL2023 fornece um blob binário pré-criado que pode ser usado diretamente nas instâncias do Amazon EC2. O blob binário está localizado em `/usr/share/amazon-linux-sb-keys/uefi.vars` em uma instância em execução. Esse blob é fornecido pelo pacote `amazon-linux-sb-keys` RPM, que é instalado por padrão a AL2023 AMIs partir da versão 2023.1.

**nota**  
Para garantir que você esteja usando a versão mais recente das chaves e revogações, use o blob da mesma versão usada para AL2023 criar a AMI.

Ao registrar uma imagem, recomendamos usar o parâmetro `BootMode` da API [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage.html) definida como `uefi`. Isso permite que você ative o NitroTPM definindo o parâmetro `TpmSupport` como `v2.0`. Além disso, definir `BootMode` para `uefi` garantir que o UEFI Secure Boot esteja habilitado e não possa ser desativado acidentalmente ao mudar para um tipo de instância que não seja compatível com UEFI.

*Para obter mais informações sobre o NitroTPM, consulte [NitroTPM para instâncias do Amazon EC2 no Guia do usuário do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html).*

## Atualizações de revogação
<a name="revocation-updates"></a>

Talvez seja necessário que o Amazon Linux distribua uma nova versão do bootloader `grub2` ou do kernel Linux assinado com chaves atualizadas. Nesse caso, talvez seja necessário revogar a chave antiga para evitar a chance de permitir que bugs exploráveis de versões anteriores do bootloader ignorem o processo de verificação do UEFI Secure Boot.

As atualizações de pacotes do `grub2` ou `kernel` sempre atualizam automaticamente a lista de revogações no armazenamento de variáveis UEFI da instância em execução. Isso significa que, com o UEFI Secure Boot ativado, você não pode mais executar a versão antiga de um pacote depois de instalar uma atualização de segurança para o pacote.

## Como o UEFI Secure Boot funciona em AL2023
<a name="shim-use"></a>

Ao contrário de outras distribuições Linux, o Amazon Linux não fornece um componente adicional, chamado shim, para atuar como o bootloader de primeiro estágio. O calço geralmente é assinado com chaves da Microsoft. Por exemplo, em distribuições Linux com o shim, o shim carrega o bootloader `grub2` que usa o próprio código do shim para verificar o kernel Linux. Além disso, o shim mantém seu próprio conjunto de chaves e revogações no banco de dados da Machine Owner Key (MOK) localizado no armazenamento de variáveis UEFI e controlado com a ferramenta `mokutil`.

O Amazon Linux não oferece nada. Como o proprietário da AMI controla as variáveis da UEFI, essa etapa intermediária não é necessária e afetaria negativamente os tempos de lançamento e inicialização. Além disso, optamos por não incluir a confiança em nenhuma chave de fornecedor por padrão, para reduzir a chance de binários indesejados serem executados. Como sempre, os clientes podem incluir binários se quiserem fazer isso. 

Com o Amazon Linux, o UEFI carrega e verifica diretamente nosso `grub2` bootloader. O bootloader `grub2` foi modificado para usar UEFI para verificar o kernel Linux após carregá-lo. Assim, o Kernel Linux é verificado usando os mesmos certificados armazenados na variável UEFI normal `db` (banco de dados de chaves autorizado) e testado com a mesma variável `dbx` (banco de dados de revogações) do bootloader e outros binários UEFI. Como fornecemos nossas próprias chaves PK e KEK, que controlam o acesso ao banco de dados db e ao banco de dados dbx, podemos distribuir atualizações e revogações assinadas conforme necessário, sem um intermediário como o shim.

Para obter mais informações sobre o UEFI Secure Boot, consulte [Como o UEFI Secure Boot funciona com instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-uefi-secure-boot-works.html) no Guia do usuário do Amazon *EC2*.

## Inscrevendo suas próprias chaves
<a name="enrolling-own-keys"></a>

Conforme documentado na seção anterior, o Amazon Linux não exige uma inicialização segura `shim` para UEFI no Amazon EC2. Ao ler a documentação de outras distribuições Linux, você pode encontrar documentação para gerenciar o banco de dados Machine Owner Key (MOK) usando`mokutil`, que não está presente em. AL2023 Os ambientes `shim` e MOK contornam algumas limitações de registro de chaves no firmware UEFI que não são aplicáveis à forma como o Amazon EC2 implementa o UEFI Secure Boot. Com o Amazon EC2, existem mecanismos para manipular facilmente e diretamente as chaves no armazenamento de variáveis UEFI.

Se quiser inscrever suas próprias chaves, você pode manipular o armazenamento de variáveis em uma instância existente (consulte [Adicionar chaves ao armazenamento de variáveis de dentro da instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami-with-uefi-secure-boot.html#uefi-secure-boot-optionA)) ou criar um blob binário pré-preenchido (consulte [ Criar um blob binário contendo um armazenamento de variáveis pré-preenchido](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami-with-uefi-secure-boot.html#uefi-secure-boot-optionB)).