Como aplicar patches de segurança no kernel do Linux: 3 maneiras diferentes

Os patches do php2shell (CVE-2026-109618 e CVE-2026-109619) para o PHP em fim de vida (EOL) já estão disponíveis. Como as respostas do atendimento de vendas estão mais demoradas do que o normal devido à alta demanda, a maneira mais rápida de obter os pacotes corrigidos é adquirir o ELS para Runtimes on-line (abre em uma nova aba). Leia as perguntas frequentes sobre os patches

Vá direto para um resumo gerado por IA desta postagem do blog

  • Resuma esta postagem com o Perplexity
  • Resuma esta postagem com o Gemini
  • Assim como uma base sólida é fundamental para um edifício, um kernel seguro é essencial para um sistema Linux seguro. 
  • Correção em tempo real permite aplicar patches de segurança a um kernel em execução sem a necessidade de reinicialização, reduzindo significativamente o tempo de inatividade de sistemas críticos.
  • Kernels sem patches podem deixar seus sistemas expostos a vulnerabilidades conhecidas, aumentando o risco de incidentes de segurança, como vazamentos de dados ou acesso não autorizado.

As atualizações do kernel do Linux são uma realidade inevitável. São tão enfadonhas quanto os impostos e quase tão divertidas quanto ir ao dentista. Mas os administradores de sistemas precisam continuar aplicando os patches: vulnerabilidades de segurança recém-descobertas no kernel do Linux parecem surgir com uma regularidade monótona. Na maioria dos casos — embora não em todos —, os patches necessários para corrigi-las são lançados rapidamente em seguida.

A instalação dos patches de segurança mais recentes do kernel do Linux envolve muito trabalho, e as realidades práticas podem fazer com que a aplicação desses patches seja adiada. No entanto, se você deixar isso para depois por muito tempo, estará dando aos agentes mal-intencionados a oportunidade de se aproveitarem de uma vulnerabilidade não corrigida.

É por isso que é tão importante encontrar a melhor maneira de aplicar o patch o mais rápido possível.

A popularidade do Linux como plataforma para serviços de hospedagem na web, servidores web independentes e aplicativos web faz dele um alvo privilegiado. Os hackers utilizam técnicas que incluem execução remota de código (RCE), cross-site scripting (XSS) e ataques de negação de serviço (DoS). 

Manter as instâncias do Linux atualizadas com os patches mais recentes do sistema operacional e dos aplicativos é uma das formas mais eficazes de reforçar a segurança do sistema e proteger-se contra esse tipo de ameaça cibernética. 

No entanto, essa é uma tarefa incômoda e demorada, pois, no Linux, a maioria das atualizações do kernel e dos patches de segurança geralmente exige a reinicialização do sistema. Este artigo explica como atualizar o kernel do Linux sem reinicializar o sistema. Além disso, abordamos três dos tipos mais comuns de aplicação de patches de segurança para o kernel do Linux. Esses métodos são:

  • usando a linha de comando
  • com o kexec

1. Atualizações tradicionais por linha de comando

Essa é a maneira padrão de aplicar um patch de segurança do kernel do Linux usando o repositório do fornecedor da distribuição. É o método que você provavelmente encontrará na documentação do fornecedor. No entanto, muitas distribuições oferecem atualmente gerenciadores de pacotes gráficos fáceis de usar que simplificam o processo de atualização.

No Ubuntu, você pode usar esses comandos no terminal.

sudo apt update

sudo apt upgrade linux-image-generic 

sudo reboot

No Debian, você usa:

sudo apt upgrade linux-image

sudo reboot

Para qualquer distribuição baseada no RPM, incluindo o CentOS e o Red Hat Enterprise Linux (RHEL), utilize o seguinte:

sudo yum update kernel
sudo reboot

Até aqui, tudo fácil. Mas há um porém: o patch do kernel só entrará em vigor depois que você reiniciar o computador.

Reiniciar? Sim. Você precisa desconectar os usuários, salvar seus arquivos e encerrar os processos — correndo o risco de deixar muita gente muito insatisfeita. Como, por exemplo, qualquer pessoa que esteja no meio de uma compra no seu site. Em seguida, você precisa esperar que o servidor Linux reinicie e recupere seu estado anterior. 

Quanto tempo os seus servidores levam para se recuperar? Os clientes e outras partes interessadas perceberão? Mesmo que haja um risco baixo de que eles percebam, você ainda precisa notificá-los antes de instalar esse patch do kernel.

Essa é uma das razões pelas quais muitos administradores de sistema adiam a instalação de patches, evitando o tempo de inatividade, mas comprometendo a segurança do sistema.

PRÓS: Não requer instalação. Processo simples.

CONTRAS: Não é automatizado. É necessário reiniciar o sistema.

2. kexec: Reinicializações mais rápidas

Quando um patch de segurança do kernel do Linux é aplicado, geralmente é necessário reiniciar o sistema para carregar o novo kernel corrigido. É possível agilizar esse processo de reinicialização usando kexec, um recurso do kernel do Linux que permite inicializar diretamente em um novo kernel, pulando as fases do carregador de inicialização e da inicialização do hardware.

Para usá-lo, primeiro é preciso instalar o kexec-tools.

No Ubuntu/Debian:

sudo apt install kexec-tools

Você verá uma janela de configuração mais ou menos assim:

 No CentOS/RHEL:

sudo yum install kexec-tools

Em seguida, instale o novo kernel. Exiba a lista de kernels e escolha aquele que deseja usar:

sudo yum update kernel

ou

sudo rpm -qa kernel

O resultado deve ser algo assim:

kernel-3.10.0-514.26.1.el7.x86_64 

kernel-3.10.0-862.3.2.el7.x86_64

Agora inicialize com a versão do kernel que você escolheu:

sudo kexec -l /boot/vmlinuz-3.10.0-862.3.2.el7.x86_64  

-initrd=/boot/initramfs-3.10.0-862.3.2.el7.x86_64.img  

-reuse-cmdline 

sudo sync; sudo umount -a; sudo kexec -e

Você pode usar o comando a seguir se não tiver paciência alguma (mas leia o aviso abaixo antes de fazê-lo):

sudo kexec -e

Observação: Embora o kexec não esteja diretamente envolvido no próprio processo de aplicação de patches, ele permite reinicializações mais rápidas ao contornar o carregador de inicialização padrão e a inicialização do hardware. No entanto, essa velocidade tem um custo. Ao contrário de uma reinicialização padrão, que encerra os processos de maneira controlada, sincroniza os caches e desmontou os sistemas de arquivos, o kexec salta diretamente para o novo kernel. Isso pode levar à perda ou corrupção de dados se os aplicativos em execução tiverem alterações não salvas ou identificadores de arquivo abertos.

PRÓS: Inicialização mais rápida. Instalação única.

CONTRAS: Exige mais trabalho manual (e maior risco de erros, a menos que você crie um script bem elaborado).

3. Atualize seu kernel sem reiniciar o sistema

Sim, você leu certo. Existe uma maneira de atualizar o kernel do Linux sem precisar reiniciar o sistema.

Há momentos em que a aplicação de patches de segurança é extremamente crítica e você simplesmente precisa realizá-la. Ao mesmo tempo, os processos que precisam ser interrompidos ao reiniciar o sistema são igualmente críticos. Se você opera um sistema “sempre ativo” ou de “alta disponibilidade”, certamente está familiarizado com esse dilema.

Uma atualização do kernel sem reinicialização significa que você pode “ter o bolo e comê-lo (também)”. As atualizações sem reinicialização, também conhecidas como correções dinâmicas no kernel, não substituem as atualizações completas do kernel, pois aplicam apenas patches para vulnerabilidades de segurança ou correções de bugs críticos. 

No entanto, as atualizações sem reinicialização são como uma solução milagrosa para corrigir vulnerabilidades e garantir a segurança do kernel do Linux. Quando se leva em conta o que é realmente urgente, as atualizações para corrigir vulnerabilidades de segurança e bugs são, na verdade, tudo o que você precisa. Ao utilizar métodos de correção dinâmica, é possível manter um servidor protegido contra ameaças por anos sem nunca precisar reiniciá-lo.

Muitos dos principais fornecedores de Linux oferecem uma ferramenta para realizar atualizações do kernel sem reinicialização. A escolha da ferramenta depende, em parte, da distribuição que você utiliza e se você já possui um contrato de suporte com o fornecedor. No restante deste artigo, abordaremos os seguintes produtos. 

  • Ksplice da Oracle (para atualizações do Oracle Linux, Ksplice Uptrack para usuários corporativos)
  • kpatch da Red Hat (para atualizações do kernel do RHEL e do CentOS)
  • Livepatch da Canonical (para atualizações do kernel do Ubuntu)
  • kGraft da SUSE (apenas para atualizações da SUSE)
  • KernelCare Enterprise (para todas as principais distribuições do Linux)

Oracle Ksplice

Ksplice foi a primeira implementação comercialmente disponível de atualizações de kernel sem reinicialização. A Ksplice, Inc. acabou sendo adquirida pela Oracle e agora está disponível (como era de se esperar) apenas para a distribuição Oracle Linux. A implantação do Ksplice requer uma assinatura do Oracle Linux Premier Support, o que pode representar um custo significativo.

Para implementá-lo, execute:

sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc

sudo sh install-uptrack-oc -autoinstall

Você notará que não há nenhum comando de reinicialização e que basta executar o script de instalação uma única vez durante toda a vida útil do servidor. Depois disso, o serviço Uptrack detectará automaticamente novas atualizações do kernel e as implementará. Não há mais nada a fazer — sem agendamento e sem tempo de inatividade.

PRÓS: Não é necessário reiniciar o sistema. Atualizações automáticas.

CONTRAS: Apenas para versões de distribuição da Oracle. Requer uma licença de suporte.

Serviço Livepatch da Canonical 

Canonical Livepatch, oferecido pela empresa responsável pelo Ubuntu, é uma ferramenta para aplicar patches de segurança no kernel do Linux sem a necessidade de reinicialização. Ele também permite que você crie seus próprios patches, mas esse é um trabalho difícil e demorado. (Alguns fornecedores criam um kernel de atualização do Ubuntu para você, mediante o pagamento de uma taxa.)

   O serviço Livepatch está disponível para Ubuntu 16.04 e versões posteriores, e no RHEL 7.x (beta). O Livepatch é implantado da seguinte maneira:

sudo snap install canonical-livepatch

sudo canonical-livepatch enable [TOKEN]

Observação: O serviço Livepatch da Canonical é gratuito para uso pessoal em até 5 máquinas, caso você seja membro do Ubuntu One. O uso comercial requer uma assinatura do Ubuntu Pro.

PRÓS: Não é necessário reiniciar o sistema. Atualizações automáticas do kernel.

CONTRAS: Patches personalizados no kernel que exigem trabalho considerável. Restrição quanto ao número de hosts que podem ser atualizados. Hosts adicionais e uso comercial estão sujeitos a uma taxa. 

Red Hat kpatch 

kpatch é a ferramenta de correção do kernel da própria Red Hat. Ela foi anunciada em 2014 e foi adaptada para funcionar em outras distribuições da mesma família (Fedora, CentOS), bem como em alguns sistemas baseados no Debian (Ubuntu, Gentoo).

Aqui está um exemplo de como implementá-lo no RHEL 7:

sudo yum install kpatch

sudo yum install kpatch-patch-X.X.X.el7.x86_64.rpm

Ao contrário do serviço Livepatch do Ubuntu ou do Ksplice da Oracle, este não é um serviço automático de aplicação de patches em tempo real. É necessário verificar manualmente se há novos patches e instalar cada patch do kernel assim que ele estiver disponível.

PRÓ: Não é necessário reiniciar o sistema.

CONTRAS: Não é automatizado. Funciona com uma gama limitada de distribuições.

SUSE kGraft 

Desenvolvido e anunciado quase ao mesmo tempo que a solução da Red Hat, o kGraft é a oferta de correção dinâmica da SUSE (conhecida como SUSE Linux Enterprise Live Patching). Ele funciona apenas com o Linux Enterprise Server 12 da própria SUSE e vem pré-instalado, portanto, não há realmente nada a fazer além de pagá-lo. Ele funciona com base em um princípio diferente da maioria das outras abordagens, mas possui um conjunto de recursos comparável ao do kpatch.

PRÓS: Não é necessária instalação. Não é necessário reiniciar o computador.

CONTRAS: Suporte a uma única plataforma. Versão comercial (mas há um período de teste gratuito de 60 dias).

KernelCare Enterprise

O serviço de aplicação de patches em tempo real para o kernel Linux da TuxCare, KernelCare Enterprise, se destaca das soluções de gerenciamento de patches do kernel que abordamos até agora por dois motivos. Primeiro, o KernelCare abrange uma ampla gama de distribuições Linux, incluindo CentOS, RHEL (desde a versão RHEL 6), Oracle Linux, Debian, Ubuntu e muitas outras. Além disso, o KernelCare é mais acessível em comparação com a assinatura de um contrato de suporte específico de um fornecedor, como os listados acima.

Veja a seguir como instalar o KernelCare:

wget -qq -O -- https://kernelcare.com/installer | bash

sudo /usr/bin/kcarectl --register <your key>

O KernelCare é uma solução do tipo “instale e esqueça”. Uma vez instalado, o KernelCare baixa e aplica automaticamente novos patches de segurança do kernel do Linux sem a necessidade de reiniciar o servidor.

No entanto, ao contrário de seus concorrentes mais próximos, o KernelCare é capaz de lidar com muitos dos patches mais complexos necessários para corrigir vulnerabilidades, incluindo o famoso Meltdown (CVE-2017-5754) e Spectre (CVE-2017-5753 e CVE-2017-5715). 

O KernelCare também oferece proteção contra vulnerabilidades complexas mais recentes, incluindo a vulnerabilidade Dirty Pipes (CVE-2022-0847). Para acompanhar o status de lançamento de patches ativos para vulnerabilidades do kernel do Linux (CVEs), você pode utilizar o rastreador de CVEs da TuxCare.

Você também se beneficia de um amplo conjunto de recursos, já que o KernelCare oferece suporte a configurações personalizadas de patches, patches com data fixa, patches adiados e reversões sem reinicialização, que permitem remover um patch sem precisar reiniciar o sistema.

Assim como os outros fornecedores analisados aqui, a KernelCare também tem uma sólida tradição no mundo do Linux: a KernelCare foi criada por CloudLinux, o fornecedor líder de um sistema operacional Linux dedicado à hospedagem na web.

PRÓS:

  • Fácil de instalar. Não é necessário reiniciar o sistema.
  • Ampla cobertura de sistemas operacionais (incluindo uma das distribuições mais populares do Linux, o Ubuntu).
  • Oferece suporte à aplicação de patches personalizados e em datas fixas.
  • Suporte especializado e conhecimento do setor oferecidos pela TuxCare.

CONTRAS:

Faça um teste GRATUITO do KernelCare Enterprise 

Considerações finais

Manter a segurança do kernel do Linux é uma batalha constante. Verificar regularmente se há atualizações e aplicá-las imediatamente é fundamental para se antecipar às ameaças cibernéticas em constante evolução. Atualizar o kernel é relativamente simples usando as ferramentas padrão da linha de comando, mas somente se o seu servidor não for de missão crítica e se os usuários puderem tolerar que ele fique fora do ar por um período.

Se você estiver operando um sistema que fica sempre ligado, ou se não puder ou não quiser reiniciar o sistema, é preciso considerar soluções de aplicação de patches no kernel em tempo real. Entre elas, existem três tipos:

  1. Administrado: você mesmo aciona a aplicação de patches sem reinicialização. Por exemplo: kpatch, kGraft
  2. Totalmente automático: a aplicação de patches sem reinicialização ocorre automaticamente. Por exemplo, Livepatch, Ksplice
  3. Totalmente automático, multiplataforma e avançado: ele faz tudo por você, lida também com ameaças avançadas e funciona em todas as distribuições populares do Linux. Por exemplo, KernelCare Enterprise

Em muitos casos, especialmente quando você depende de diferentes distribuições do Linux e não possui um contrato de suporte com o fornecedor, o KernelCare Enterprise vale a pena dar uma olhada. 

Se você quiser saber mais sobre a tecnologia de patching em tempo real e como ela contribui para a segurança da sua infraestrutura, confira algumas das nossas postagens mais populares no blog:

Resumo
Como aplicar patches de segurança no kernel do Linux: 3 maneiras diferentes
Nome do artigo
Como aplicar patches de segurança no kernel do Linux: 3 maneiras diferentes
Descrição
Aprenda três métodos para aplicar as atualizações de segurança mais recentes do kernel do Linux e manter seu sistema protegido. Conheça ferramentas de aplicação de patches automatizadas e que não exigem reinicialização.
Autor
Nome da editora
TuxCare
Logotipo da editora

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.

Índice
Obtenha as respostas sobre segurança de código aberto de que você precisa

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.