Aplicação de patches do kernel em tempo real no AL2023 - Amazon Linux 2023

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_64 de 64 bits ou arquitetura ARM64

  • Versão 6.1 ou 6.12 do 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-region-de612dc2/*

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.

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
  1. Os patches ao vivo do kernel estão disponíveis para AL2023 com a versão 6.1 do kernel. Para verificar a versão do kernel, execute o comando a seguir.

    $ sudo dnf list kernel
  2. Instale o plug-in DNF para o Kernel Live Patching.

    $ sudo dnf install -y kpatch-dnf
  3. Habilite o plug-in DNF para o Kernel Live Patching.

    $ sudo dnf kernel-livepatch -y auto

    Este comando também instala a versão mais recente de RPM do patch ao vivo do kernel a partir dos repositórios configurados.

  4. 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-livepatch kernel-livepatch-repo-s3-2023.7.20250428-0.amzn2023.noarch kernel-livepatch-6.1.134-150.224-1.0-0.amzn2023.x86_64
  5. Instale o pacote kpatch.

    $ sudo dnf install -y kpatch-runtime
  6. Atualize o serviço kpatch, caso tenha sido instalado anteriormente.

    $ sudo dnf upgrade kpatch-runtime
  7. 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 Linux. Os patches ao vivo do kernel são prefixados com ALASLIVEPATCH. 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 list Last 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 cves Last 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
  1. 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.

  2. Aplique o patch ao vivo do kernel no kernel do AL2023.

    $ sudo dnf install kernel-livepatch-kernel_version-package_version.amzn2023.x86_64

    Por exemplo, o comando a seguir aplica um patch ao vivo do kernel para a versão 6.1.12-17.42 AL2023 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 support The 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 list Loaded 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:

    1. Desabilite o plug-in:

      $ sudo dnf kernel-livepatch manual
    2. Desabilite o serviço kpatch:

      $ sudo systemctl disable --now kpatch.service
  • Remova totalmente as ferramentas livepatch:

    1. Remover o plug-in de:

      $ sudo dnf remove kpatch-dnf
    2. Remover kpatch-runtime:

      $ sudo dnf remove kpatch-runtime
    3. Remova qualquer livepatches instalado:

      $ sudo dnf remove kernel-livepatch\*