Atualização do kernel do Linux sem reinicialização [Visão geral das ferramentas de correção dinâmica]
25 de junho de 2020 -
📖 7 min
Autor:
Equipe de Relações Públicas da TuxCare
Vá direto para um resumo gerado por IA desta postagem do blog
Atualizar os kernels do Linux é uma rotina – tão enfadonha quanto pagar impostos e apenas um pouco menos incômoda do que a morte. Novas vulnerabilidades de segurança no kernel do Linux parecem surgir com uma regularidade tediosa e até ganham nomes sofisticados. Na maioria dos casos, mas não em todos, os patches necessários para corrigi-las são lançados rapidamente em seguida. Aplicar as atualizações de segurança mais recentes ao kernel exige algum trabalho, e há riscos se você demorar – se deixar passar muito tempo, agentes mal-intencionados podem se aproveitar desse período de vulnerabilidade.
É hora de analisar outra forma de atualização de segurança do kernel do Linux: a aplicação de patches no kernel em tempo real, sem reinicialização. Continue lendo para saber mais sobre cada ferramenta de aplicação de patches em tempo real e suas alternativas.
Aplicando atualizações do kernel do Linux sem reiniciar o sistema
Há momentos em que a aplicação de patches de segurança é extremamente crítica, mas o mesmo vale para os processos que são interrompidos quando você reinicia o sistema. Se você estiver operando um sistema “sempre ativo” ou de “alta disponibilidade”, já deve estar familiarizado com esse dilema.
As atualizações do kernel do Linux sem reinicialização não substituem as atualizações completas do kernel, pois se limitam a aplicar patches para vulnerabilidades de segurança ou correções de bugs críticos. No entanto, em muitos casos, isso é tudo o que você precisa, e é possível manter um servidor seguro e em funcionamento por anos entre reinicializações usando esses métodos.
Vários fornecedores líderes de Linux oferecem atualizações de kernel sem necessidade de reinicialização. A escolha depende da distribuição que você utiliza e do seu orçamento. No restante deste artigo, abordaremos os seguintes produtos:
Ksplice da Oracle (para atualizações do Oracle Linux; Ksplice Uptrack para empresas)
Kpatch da Red Hat (para atualizações do kernel do RHEL e do CentOS)
Livepatch da Canonical (para atualizações do kernel do Ubuntu)
O Ksplice foi a primeira implementação comercialmente disponível para atualização do kernel sem reinicialização. A Ksplice Inc. acabou sendo adquirida pela Oracle, de modo que agora está disponível (como era de se esperar) apenas nas distribuições Oracle Linux e Red Hat Enterprise Linux, e sua implantação requer uma licença da Oracle.
Não é necessário reiniciar o sistema.
Atualizações automáticas.
Disponível gratuitamente em instalações do Linux para computadores, com suporte oficial para as distribuições Fedora e Ubuntu.
Funciona apenas no Oracle Linux, Red Hat Enterprise Linux, CentOS e Ubuntu.
Requer uma licença de suporte; os preços começam em US$ 1.399 por sistema por ano.
Para implementá-lo, execute:
sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
sudo sh install-uptrack-oc -autoinstall
Observe que não há comando de reinicialização, e você só precisa executar o script de instalação uma vez durante toda a vida útil do servidor. Depois disso, o serviço Uptrack detectará automaticamente novas atualizações do kernel e as implementará para você. Não há programação, nem tempo de inatividade, e não há mais nada a fazer.
Serviço Livepatch da Canonical
Essa é a tecnologia da Canonical para a aplicação de patches em tempo real nos kernels. Você pode até mesmo criar seus próprios patches, embora isso possa ser 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 está disponível para o Ubuntu 16.04 e versões posteriores.
Não é necessário reiniciar o sistema.
Atualizações automáticas do kernel. Gratuito para uso pessoal (até 3 máquinas ou até 50 máquinas para membros reconhecidos da Comunidade Ubuntu)
Patches personalizados não triviais para o kernel.
São suportadas distribuições limitadas.
Limite para o número de hosts que podem ser atualizados.
Hosts adicionais mediante pagamento – os preços da assinatura de suporte do Ubuntu Advantage (no mínimo, o plano Essential) variam de US$ 225 a US$ 1.500 por máquina por ano para servidores físicos e de US$ 75 a US$ 500 por máquina por ano para máquinas virtuais.
O serviço Livepatch da Canonical é gratuito para até 3 máquinas para uso pessoal ou até 50 máquinas para membros da Comunidade Ubuntu. Você pode se inscrever para obter um token aqui.
Red Hat Kpatch
Esta é a ferramenta de aplicação de patches no kernel desenvolvida pela 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).
Não é necessário reiniciar o sistema.
Não é automatizado.
Distribuições limitadas.
Disponível por meio de uma assinatura de suporte Premium no valor de US$ 1.299 por ano.
Aqui está um exemplo de como implementá-lo no RHEL 7:
Ao contrário do serviço Livepatch do Ubuntu ou do Ksplice da Oracle, esse processo não é automático, e você precisa verificar manualmente e instalar cada patch do kernel assim que ele estiver disponível.
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 é exclusivo para o Linux Enterprise Server 12 da própria SUSE e vem pré-instalado, portanto não há realmente nada a fazer (exceto pagar por ele). Ele funciona com um princípio diferente da maioria das outras abordagens, mas possui um conjunto de recursos comparável ao do Kpatch.
Não é necessário instalar nada.
Não é necessário reiniciar o sistema.
Suporte a uma única plataforma.
Versão comercial (mas há um generoso período de teste gratuito de 60 dias).
CloudLinux KernelCare
Também lançado em 2014, o serviço de aplicação de patches em tempo real para o kernel Linux da KernelCare se destaca entre as soluções de aplicação de patches para o kernel por sua cobertura de sistemas operacionais, que inclui CentOS, RHEL, Oracle Linux, Debian, Ubuntu e outros. E, assim como a solução da Oracle, a KernelCare oferece suporte aos kernels mais antigos da versão 2.6.32 do RHEL 6.
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.
Excelente suporte e conhecimento do setor por parte da CloudLinux.
wget -qq -O -- https://kernelcare.com/installer | bash
sudo /usr/bin/kcarectl --register <your key>
For <your key> get your trial key here.
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, sem a necessidade de reiniciar o servidor.
Mas, ao contrário de seus concorrentes mais próximos, o KernelCare é capaz de lidar com alguns dos patches mais complexos para vulnerabilidades como o Meltdown (CVE-2017-5754), Spectre (CVE-2017-5753 e CVE-2017-5715) e, mais recentemente, a falha de estouro de buffer no kernel do Linux conhecida, romanticamente, como Mutagen Astronomy (CVE-2018-14634). O KernelCare oferece suporte a configurações personalizadas de patches, patches com data fixa, patches adiados e reversões sem reinicialização, ou seja, a remoção de patches.
Assim como os outros fornecedores analisados aqui, o KernelCare também tem uma origem de peso — seu criador é a CloudLinux, fornecedora líder de sistemas operacionais baseados em Linux para hospedagem na web.
Conclusão
Se o seu servidor não for essencial e puder ficar fora do ar por um período, a atualização do kernel é relativamente simples usando as ferramentas padrão da linha de comando.
Se você estiver operando um sistema que fica sempre ligado (ou seja, não pode ou não vai reiniciar), dê uma olhada nas soluções de aplicação de patches no kernel em tempo real. Entre elas, existem três tipos:
Administrados – vocêmesmo precisa fazer isso. Por exemplo: Kpatch, Kgraft.
Totalmente automático – elefaz tudo por você. Por exemplo: Livepatch, Ksplice.
Totalmente automático, multiplataforma e avançado — elecuida de tudo para você, lidando com ameaças avançadas em todas as plataformas. Por exemplo, o KernelCare da CloudLinux.
Se você quiser saber mais sobre a tecnologia de correção em tempo real e como ela contribui para a segurança da sua infraestrutura, leia nossas postagens mais populares no blog:
Você já teve a oportunidade de usar ferramentas de correção dinâmica do kernel do Linux? Qual delas você achou mais útil para o seu negócio? Compartilhe sua opinião nos comentários.
Inscreva-se em nosso popular boletim informativo
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