Para aprender um pouco sobre administração de servidores, configurei um servidor Ubuntu 14.04 simples no qual administro um site pessoal. Eu o configurei para instalar automaticamente as atualizações de segurança, mas deixe de fora as outras atualizações. Isso parece funcionar muito bem. Ocasionalmente, recebo uma mensagem ao entrar no servidor (com ssh) dizendo:
*** System restart required ***
Nas vezes em que isso aconteceu, reiniciei o Ubuntu e tudo estava bem. Tudo bem, porque é um site pessoal simples. No entanto, o que me pergunto é como isso funciona para servidores da Web, que devem estar acima de 99.9999etc% do tempo? Eles simplesmente não reiniciam e correm o risco de a segurança ser violada porque as atualizações de segurança não estão instaladas (o que eu não consigo imaginar)? Ou eles tomam o tempo de inatividade como garantido (o que também não consigo imaginar)?
Como devo lidar com isso se esse era um servidor de produção muito importante que eu quero manter em funcionamento? Todas as dicas são bem-vindas!
[EDIT] Eu sei que posso fazer cat /var/run/reboot-required.pkgs
para listar os pacotes que causam a reinicialização. O comando atualmente produz o seguinte:
linux-image-3.13.0-36-generic
linux-base
dbus
linux-image-extra-3.13.0-36-generic
linux-base
mas como sei se as atualizações são pequenas coisas sobre se tenho uma vulnerabilidade de segurança séria se não faço a reinicialização?
[EDIT2] Ok, agora eu combinei os comandos que achei úteis em um:
xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
Se isso não produzir nada, não parece haver problemas de segurança com alta urgência.
Uma última pergunta: são low
, medium
e high
as únicas possibilidades de urgência, ou existem mais como por exemplo critical
ou extremelyimportant
?
| grep 'urgency=' | egrep -v '=(low|medium)'
Respostas:
A resposta não é simples, pois depende das atualizações feitas. Se o kernel teve um sério problema de segurança, é bom reiniciar o mais rápido possível. Se o kernel tiver apenas pequenas correções, o reinício poderá ser adiado.
Se você garantir uma disponibilidade> 99,9%, quase sempre terá um sistema em cluster no qual poderá reiniciar os nós um por um sem interromper o serviço.
Portanto, você reinicializa o primeiro sistema e o anexa novamente ao cluster. Depois o segundo e assim por diante. Em seguida, o serviço nunca ficará indisponível.
fonte
cat /var/run/reboot-required.pkgs
para obter os pacotes que exigem a reinicialização. Mas como sei se essas são apenas pequenas correções ou se é uma grave vulnerabilidade de segurança?aptitude changelog <package>
, aqui está um exemplo de saída: paste.ubuntu.com/8410798 (Este é em um sistema Debian, Ubuntu não, mas o mesmo trabalho vontade no Ubuntu também.)xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
(adicionei também à pergunta inicial), o que fornece uma saída sobre quais pacotes têm patches altamente urgentes. Depois disso, é claro que pacotes individuais podem ser inspecionados. Um milhão de agradecimentos por todas as respostas e idéias!addon para a solução de tópicos
Realizo verificação semelhante para o 'requisito de reinicialização' do sistema de monitoramento zabbix
Vejo 2 problemas na solução 'Tópico':
Minha lógica é:
Usando a documentação da Debian, encontrei 5 valores possíveis para 'urgency' e também o fato de que ele pode ser seguido por caracteres iguais ("=") ou ponto-e-vírgula (":"). Também pode haver caracteres maiúsculos e minúsculos
Então acabei com o seguinte:
Como um resultado:
reboot_required_check.sh status
retorna 1 se a reinicialização for necessária, 0 se não forreboot_required_check.sh urgency
retorna o nível mais alto de 'urgência' ou '0' se a reinicialização não for necessáriaEspero que ajude alguém a economizar um tempo;)
fonte
Grandes servidores web são reiniciados quando * Reinicialização do sistema necessária * aparece por motivos de segurança.
Mas isso é transparente para o usuário e o site nunca fica inativo porque os servidores grandes geralmente executam dois ou três servidores que armazenam exatamente os mesmos arquivos e exibem o mesmo site. O primeiro é o servidor principal, enquanto os outros dois são secundários e são usados apenas quando o servidor principal está inativo.
fonte
Big web servers
execute versões personalizadas do Linux. Eles não verão umSystem restart required
diálogo, atualizam o que precisam para permanecer seguros. Na maioria dos casos, muitas atualizações, senão todas, podem ser feitas enquanto o sistema está em execução (acredito que seja possível atualizar um kernel Linux em um sistema em execução sem reinicialização).Big web servers
são executados em servidores dedicados e VPS. Por esse motivo, o administrador do sistema tem mais controle sobre o software. A Amazon fornece acesso ao shell raiz do seu servidor?freezes execution of a computer so it is the only program running
ao aplicar um patch, ainda pode haver um pouco de tempo de inatividade (devido ao processo do servidor da Web estar 'congelado'). Isto é onde a resposta por @Uwe Plonus entra.