it-swarm-pt.tech

É importante reiniciar o Linux após uma atualização do kernel?

Eu tenho alguns servidores web Fedora e Debian de produção que hospedam nossos sites, bem como contas de usuário Shell (usado para git vcs funcionar, algumas sessões screen + irssi, etc).

Ocasionalmente, uma nova atualização do kernel irá descer no pipeline em yum/apt-get, e gostaria de saber se a maioria das correções são severas o suficiente para justificar uma reinicialização, ou se eu posso aplicar as correções sem reinicializar.

Nosso servidor de desenvolvimento principal tem atualmente 213 dias de tempo de atividade, e eu não tinha certeza se era inseguro rodar um kernel tão antigo.

19
lfaraone

Não há nada de especial em ter um longo tempo de atividade. Geralmente é melhor ter um sistema seguro. Todos os sistemas precisam de atualizações em algum ponto. Você provavelmente já está aplicando atualizações. Você agenda interrupções ao aplicar essas atualizações? Você provavelmente deveria apenas no caso de algo dar errado. Uma reinicialização não deveria levar tanto tempo, na verdade.

Se o seu sistema é tão sensível a interrupções, você provavelmente deve estar pensando em algum tipo de configuração de cluster para atualizar um único membro do cluster sem desativar tudo.

Se você não tiver certeza sobre uma atualização específica, provavelmente é mais seguro agendar uma reinicialização e aplicá-la (de preferência após testá-la em outro sistema semelhante).

Se você estiver interessado em saber se a atualização é importante, leia o aviso de segurança e siga os links para a CVE ou as postagens/listas/blogs descrevendo o problema. Isso deve ajudá-lo a decidir se a atualização se aplica diretamente ao seu caso.

Mesmo se você achar que isso não se aplica, você ainda deve considerar atualizar seu sistema eventualmente. A segurança é uma abordagem em camadas. Você deve presumir que em algum momento essas outras camadas podem falhar. Além disso, você pode esquecer que tem um sistema vulnerável porque ignorou uma atualização ao alterar a configuração em algum momento posterior.

De qualquer forma, se você deseja ignorar ou esperar um pouco na atualização em sistemas baseados em Debian, você pode colocar o pacote em espera. Eu pessoalmente gosto de colocar em espera todos os pacotes do kernel, apenas para garantir.

Método CLI para suspender um pacote em sistemas baseados em Debian.

dpkg --get-selections | grep 'linux-image' | sed -e 's/install/hold/' | Sudo dpkg --set-selections
24
Zoredache

A maioria das atualizações não requer uma reinicialização, mas as atualizações do Kernel sim (você não pode realmente substituir o kernel em execução sem reinicializar).

Uma coisa que descobri é que se o seu servidor estiver em execução por muito tempo sem uma reinicialização, é mais provável que você queira fazer verificações de disco (fsck) quando você reinicializar, e isso pode aumentar significativamente o tempo de retorno instalado e funcionando novamente. Melhor antecipar isso e planejar para isso.

Também descobri que as alterações de configuração às vezes podem ser perdidas e não serão notadas até uma reinicialização (como adicionar novos endereços IP/regras de iptables, etc). Isso também aumenta o "risco de tempo de inatividade" ao reiniciar com pouca frequência.

Melhor planejar algum tempo de inatividade ao fazer uma reinicialização - ou se esta não for uma opção desejável, configure seus servidores em clusters para que as reinicializações possam ser feitas se necessário.

12
Brent

Se você só precisa de atualizações de segurança e não de um kernel completamente novo, você pode se interessar por Ksplice - ele permite corrigir certas atualizações de kernel em um kernel em execução.

8
Tim

Não há uma resposta simples para isso, algumas atualizações do kernel não estão realmente relacionadas à segurança e algumas podem corrigir problemas de segurança que não o afetam, enquanto outras podem afetá-lo.

A melhor abordagem imo é se inscrever nas listas de discussão de segurança relevantes como anúncio de segurança do ubunt para que você possa ver quando os patches de segurança estão saindo e como eles podem afetá-lo.

Eu também consideraria apticron ou similar para obter os detalhes e changelogs de quaisquer outras atualizações de pacote.

3
theotherreceive

No caso de você não reinicializar, certifique-se de que o novo kernel não é o padrão para iniciar na inicialização.

A última coisa que você quer é um kernel não testado sendo usado para produção após uma reinicialização não planejada.

2
mibus

Esta é uma função da atualização - se corrige um priv. escalonamento que resulta em acesso root, então você pode querer aplicá-lo.

2
Avery Payne

Como mibus mencionou, se você instalar o kernel e não reiniciar, certifique-se de que não é o padrão. Você não sabe se ou em que estado seu servidor voltará, então certifique-se de que ele foi testado.

Dito isso, acho que é bom adquirir o hábito de reinicializar as máquinas regularmente, quando possível. Muitas falhas de hardware e software irão se manifestar apenas em uma reinicialização e é melhor descobrir sobre elas quando você estiver planejando uma reinicialização em vez de durante uma interrupção não planejada.

1
Kamil Kisiel

Observe que algumas das atualizações do kernel debian requerem (bem, altamente recomendado) que você reinicie o mais rápido possível após aplicá-las.

Este é o caso quando a diferença não é suficiente para garantir uma mudança de diretório de módulos, mas os módulos podem ser diferentes.

Você será avisado pelo Debian quando instalar esses pacotes de kernel.

0
MikeyB