Devo atualizar os pacotes do kernel nas instâncias do EC2?

18

No meu servidor EC2, quando o faço sudo apt-get update && sudo apt-get upgrade, vejo:

The following packages have been kept back:
  linux-ec2 linux-image-ec2 linux-image-virtual linux-virtual

Devo ir em frente e fazer sudo apt-get install linux-ec2 linux-image-ec2 linux-image-virtual linux-virtualpara forçar a atualização desses pacotes?

Adam Monsen
fonte
3
Ou faça apt-get update && apt-get upgrade && apt-get dist-upgrade. Isso atualizará os pacotes retidos.
Mark Russell

Respostas:

18

A resposta curta é: sim, você deve manter seus sistemas atualizados com relação aos patches de segurança.

Como exatamente você implementa os patches de segurança depende da sua tolerância a riscos. Aqui estão algumas opções que eu usei para responder a essa pergunta no passado:

  1. Aplique as atualizações a um conjunto de sistemas de controle de qualidade que imitam seu ambiente de produção e execute todos os seus testes de regressão para garantir que as alterações não quebrem nenhuma funcionalidade ou causem problemas de desempenho. Quando estiver satisfeito, implante as atualizações nos seus sistemas de produção.

  2. Aguarde um dia e verifique se há protestos públicos sobre problemas causados ​​pelas atualizações. Se tudo parecer pacífico, atualize seus sistemas de produção.

  3. Aplique todos os patches de segurança em seus sistemas de produção assim que estiverem disponíveis.

Eu usei uma combinação de todas essas três abordagens usando o Ubuntu e, gradualmente, fui para a opção 3 ao longo dos anos. Os patches de segurança são fortemente testados antes do lançamento e é tomado muito cuidado para não quebrar a funcionalidade existente. Eu nunca tive problemas para atualizar as imagens suportadas pelo Ubuntu (embora eu tenha tido um problema anos atrás, quando eu estava usando um kernel não-Ubuntu com o Ubuntu no EC2).

Observe que a atualização do kernel também requer uma reinicialização para aplicar as alterações.

A experiência e as recomendações acima se aplicam apenas à atualização em uma versão do Ubuntu (por exemplo, 11.04). A atualização para uma nova versão do Ubuntu é uma tarefa muito maior e mais arriscada e definitivamente requer testes antes de você ser lançada em seus sistemas de produção.

Aqui está um artigo sobre este tópico, que acabou de ser publicado pela RightScale, sobre como gerenciar atualizações de segurança em seu ambiente:

http://blog.rightscale.com/2011/09/28/security-patching-in-the-rightscale-universe/

Eric Hammond
fonte
3
Boa resposta. Talvez adicione uma observação de que a atualização do kernel só é realmente possível em instâncias suportadas pelo EBS? Esse ainda é o caso, não?
Mark Russell
3
Mark: Costumava ser verdade que as instâncias de armazenamento de instância não podiam ter seus kernels atualizados no local, mas com o lançamento da paravirtualização há um tempo, os kernels reais podem ser armazenados na AMI e não no AKI. Isso significa que a instância pode atualizar o kernel em seu volume EBS local e mantê-lo após uma reinicialização, mesmo usando o mesmo AKI. Acabei de testar isso com o Ubuntu 11.04 (us-east-1 ami-e2af508b) e a instância do repositório de instâncias veio com o kernel mais recente correto após uma dist-upgrade e reinicialização.
Eric Hammond
2
correção para o meu comentário anterior: "a instância pode atualizar o kernel em seu volume raiz de armazenamento de instância local e mantê- lo"
Eric Hammond