Aplicação de patches do kernel em tempo real no AL2023
Você pode usar a aplicação de patches do kernel em tempo real para o AL2023 a fim de aplicar patches específicos para vulnerabilidades de segurança e bugs críticos a um kernel do Linux em execução, sem reiniciar ou interromper as aplicações que estão em execução. Além disso, a aplicação de patches do kernel em tempo real pode ajudar a melhorar a disponibilidade da aplicação, ao mesmo tempo em que aplica essas correções até que o sistema possa ser reinicializado.
A AWS disponibiliza dois tipos de patches do kernel em tempo real para o AL2023:
-
Security updates (Atualizações de segurança): contêm atualizações para vulnerabilidades e exposições comuns (CVEs) do Linux. Normalmente, essas atualizações são classificadas como importantes ou críticas de acordo com as classificações do Boletim de segurança do Amazon Linux. Geralmente, elas são mapeadas com uma pontuação 7 ou maior do Common Vulnerability Scoring System (CVSS – Sistema de pontuação de vulnerabilidades comuns). Em alguns casos, a AWS pode fornecer atualizações antes da atribuição de CVE. Nesses casos, os patches podem aparecer como correções de erros.
-
Correções de erros: contêm correções de erros críticos e problemas de estabilidade que não estão associados às CVEs.
A AWS oferece patches do kernel em tempo real para uma versão do kernel do AL2023 por até 3 meses depois de seu lançamento. Após esse período, é necessário fazer a atualização para uma versão posterior do kernel para continuar a receber patches ao vivo do kernel.
Os patches ao vivo do kernel para o AL2023 são disponibilizados como pacotes RPM assinados nos repositórios existentes do AL2023. Os patches podem ser instalados em instâncias individuais usando fluxos de trabalho de gerenciamento de pacotes DNF existentes. Ou podem ser instalados em um grupo de instâncias gerenciadas usando o AWS Systems Manager.
O Kernel Live Patching no AL2023 é fornecido sem custo adicional.
Limitações
Ao aplicar um patch ao vivo no kernel, você não pode executar a hibernação, usar ferramentas avançadas de depuração (como SystemTap, kprobes e ferramentas baseadas em eBPF) ou acessar arquivos de saída ftrace usados pela infraestrutura do Kernel Live Patching.
nota
Devido a limitações técnicas, alguns problemas não podem ser resolvidos com a aplicação de patches em tempo real. Por causa disso, essas correções não serão distribuídas no pacote de patch do kernel em tempo real, mas somente na atualização do pacote nativo do kernel. Você pode instalar o pacote nativo do kernel e atualizar e reinicializar o sistema para ativar os patches normalmente.
Configurações e pré-requisitos compatíveis
O Kernel Live Patching pode ser usado nas instâncias do Amazon EC2 e nas máquinas virtuais locais que executam o AL2023.
Para usar o Kernel Live Patching no AL2023, você deve usar o seguinte:
-
Um
x86_64de 64 bits ou arquiteturaARM64 -
Versão
6.1ou6.12do kernel
Requisitos de política
Para baixar pacotes dos repositórios do AL2023, o Amazon EC2 precisa acessar os buckets do Amazon S3 pertencentes ao serviço. Se estiver usando um endpoint do Amazon Virtual Private Cloud (VPC) para o Amazon S3 em seu ambiente, garanta que sua política de endpoint da VPC permita acesso a esses buckets públicos. A tabela a seguir descreve o bucket do Amazon S3 que o Amazon EC2 pode precisar acessar para a aplicação de patches do kernel em tempo real.
| ARN do bucket do S3 | Descrição |
|---|---|
|
arn:aws:s3:::al2023-repos- |
Bucket do Amazon S3 contendo repositórios do AL2023 |
Trabalhar com o Kernel Live Patching
Você pode habilitar e usar o Kernel Live Patching em instâncias individuais usando a linha de comando na própria instância. Como alternativa, você pode habilitar e usar o Kernel Live Patching em um grupo de instâncias gerenciadas usando o AWS Systems Manager.
As seções a seguir explicam como habilitar e usar o Kernel Live Patching em instâncias individuais usando a linha de comando.
Para obter mais informações sobre como habilitar e usar o Kernel Live Patching em um grupo de instâncias gerenciadas, consulte Use Kernel Live Patching on AL2023 instances no Guia do usuário do AWS Systems Manager.
Tópicos
Habilitar o Kernel Live Patching
O Kernel Live Patching está desabilitado por padrão no AL2023. Para usar patches ao vivo, você deve instalar o plug-in DNF para patches ao vivo do kernel e ativar a funcionalidade de patching ao vivo.
Como habilitar o Kernel Live Patching
-
Os patches ao vivo do kernel estão disponíveis para AL2023 com a versão
6.1do kernel. Para verificar a versão do kernel, execute o comando a seguir.$sudo dnf list kernel -
Instale o plug-in DNF para o Kernel Live Patching.
$sudo dnf install -y kpatch-dnf -
Habilite o plug-in DNF para o Kernel Live Patching.
$sudo dnf kernel-livepatch -y autoEste comando também instala a versão mais recente de RPM do patch ao vivo do kernel a partir dos repositórios configurados.
-
Para confirmar se o plug-in DNF para a aplicação de patches ao vivo no kernel foi instalado com êxito, execute o comando a seguir.
Quando você habilita o Kernel Live Patching, um RPM de patch ao vivo do kernel vazio é aplicado automaticamente. Se a aplicação de patches do kernel em tempo real tiver sido habilitada com êxito, este comando retornará uma lista que inclui o RPM de patch do kernel em tempo real vazio inicial (e outro RPM que configura o repositório DNF contendo os patches em tempo real).
$sudo rpm -qa | grep kernel-livepatchkernel-livepatch-repo-s3-2023.7.20250428-0.amzn2023.noarch kernel-livepatch-6.1.134-150.224-1.0-0.amzn2023.x86_64 -
Instale o pacote kpatch.
$sudo dnf install -y kpatch-runtime -
Atualize o serviço kpatch, caso tenha sido instalado anteriormente.
$sudo dnf upgrade kpatch-runtime -
Inicie o serviço kpatch. Este serviço carrega todos os patches ao vivo do kernel durante ou após a inicialização.
$sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service
Visualizar os patches ao vivo do kernel disponíveis
Os alertas de segurança do Amazon Linux são publicados no Centro de segurança do Amazon Linux. Para obter mais informações sobre os alertas de segurança do AL2023, que incluem alertas para patches ao vivo do kernel, consulte o Centro de segurança do Amazon LinuxALASLIVEPATCH. O Centro de segurança do Amazon Linux pode não listar patches ao vivo do kernel que resolvam erros.
Também é possível descobrir os patches ao vivo do kernel disponíveis para recomendações e CVEs usando a linha de comando.
Como listar todos os patches ao vivo do kernel disponíveis para recomendações
Use o seguinte comando.
$sudo dnf updateinfo listLast metadata expiration check: 1:06:23 ago on Mon 13 Feb 2023 09:28:19 PM UTC. ALAS2LIVEPATCH-2021-123 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64 ALAS2LIVEPATCH-2022-124 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
Como listar todos os patches ao vivo do kernel disponíveis para CVEs
Use o seguinte comando.
$sudo dnf updateinfo list cvesLast metadata expiration check: 1:07:26 ago on Mon 13 Feb 2023 09:28:19 PM UTC. CVE-2022-0123 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64 CVE-2022-3210 important/Sec. kernel-livepatch-6.1.12-17.42-1.0-3.amzn2023.x86_64
Aplicar patches ao vivo do kernel
Aplique patches ao vivo do kernel usando o gerenciador de pacotes DNF da mesma maneira que você aplicaria atualizações regulares. O plug-in DNF para a aplicação de patches do kernel em tempo real gerencia os patches do kernel em tempo real que estão disponíveis para aplicação.
dica
Recomendamos que você atualize seu kernel regularmente usando a aplicação de patches do kernel em tempo real para garantir que ele receba correções de segurança específicas importantes e críticas até que o sistema possa ser reinicializado. Verifique também se foram disponibilizadas correções adicionais para o pacote do kernel nativo que não podem ser implementadas como patches em tempo real e, nesses casos, atualize e reinicie o kernel.
É possível optar por aplicar um patch ao vivo do kernel específico, ou aplicar qualquer patch ao vivo do kernel disponível com suas atualizações de segurança regulares.
Como aplicar um patch ao vivo do kernel específico
-
Obtenha a versão do patch ao vivo do kernel usando um dos comandos descritos em Visualizar os patches ao vivo do kernel disponíveis.
-
Aplique o patch ao vivo do kernel no kernel do AL2023.
$sudo dnf install kernel-livepatch-kernel_version-package_version.amzn2023.x86_64Por exemplo, o comando a seguir aplica um patch ao vivo do kernel para a versão
6.1.12-17.42AL2023 do kernel .$sudo dnf install kernel-livepatch-6.1.12-17.42-1.0-4.amzn2023.x86_64
Como aplicar patches ao vivo do kernel disponíveis com as atualizações de segurança regulares
Use o seguinte comando.
$sudo dnf upgrade --security
Omita a opção --security para incluir correções de erros.
Importante
-
A versão do kernel não é atualizada após a aplicação de patches ao vivo do kernel. A versão só é atualizada para a nova versão depois da reinicialização da instância.
-
Um kernel AL2023 recebe patches de kernel ao vivo por 3 meses. Após esse período, nenhum novo patch ativo do kernel será lançado para essa versão do kernel.
-
Para continuar a receber patches ao vivo do kernel após 3 meses, você deve reinicializar a instância para migrar para a nova versão do kernel. A instância continua recebendo patches ativos do kernel pelos próximos 3 meses após a atualização.
-
Para verificar a janela de suporte para a versão do kernel, execute o seguinte comando.
$sudo dnf kernel-livepatch supportThe current version of the Linux kernel you are running will no longer receive live patches after 2025-07-22.
Visualizar os patches ao vivo do kernel aplicados
Como visualizar os patches ao vivo do kernel aplicados
Use o seguinte comando.
$sudo kpatch listLoaded patch modules: livepatch_CVE_2022_36946 [enabled] Installed patch modules: livepatch_CVE_2022_36946 (6.1.57-29.131.amzn2023.x86_64) livepatch_CVE_2022_36946 (6.1.57-30.131.amzn2023.x86_64)
O comando retornará uma lista dos patches ao vivo do kernel de atualização de segurança carregados e instalados. A seguir está um exemplo de saída.
nota
Um único patch ao vivo do kernel pode incluir e instalar vários patches ao vivo.
Desabilitar o Kernel Live Patching
Se não precisar mais usar o Kernel Live Patching, é possível desabilitá-lo a qualquer momento.
-
Desabilite o uso de livepatches:
-
Desabilite o plug-in:
$sudo dnf kernel-livepatch manual -
Desabilite o serviço kpatch:
$sudo systemctl disable --now kpatch.service
-
-
Remova totalmente as ferramentas livepatch:
-
Remover o plug-in de:
$sudo dnf remove kpatch-dnf -
Remover kpatch-runtime:
$sudo dnf remove kpatch-runtime -
Remova qualquer livepatches instalado:
$sudo dnf remove kernel-livepatch\*
-