unattended-upgrades vem ativo no Ubuntu 24.04?
No Ubuntu 24.04 o pacote vem instalado mas o 20auto-upgrades pode ser necessário. Saiba como testar com o flag --dry-run e configurar o Automatic-Reboot.
Por que vale a pena configurar atualizações automáticas de segurança
Um servidor sem patches é o alvo mais fácil da internet. A maioria das invasões em servidores pequenos não é sofisticada; são bugs conhecidos em pacotes antigos que o proprietário nunca atualizou. O Ubuntu fornece uma ferramenta que resolve isso sozinho: o unattended-upgrades instala atualizações de segurança automaticamente, em um cronograma, sem que você precise logar. É o ganho de segurança mais barato em um VPS, e no Ubuntu leva apenas alguns minutos para configurar.
A ferramenta é deliberadamente conservadora. Por padrão, ela aplica apenas atualizações de segurança, não todas as atualizações de pacotes, pois um patch de segurança é de baixo risco e vale a pena ser aplicado sem revisão, enquanto uma atualização de funcionalidade pode alterar o comportamento do qual você depende. Esse padrão é o correto para a maioria dos servidores, e este guia o mantém enquanto mostra as poucas configurações que vale a pena alterar.
Passo 1: Instalar e habilitar
No Ubuntu 24.04, o pacote geralmente está presente, mas nem sempre habilitado. Instale-o e ative-o:
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesO prompt do dpkg-reconfigure faz uma única pergunta de sim ou não, sobre baixar e instalar atualizações estáveis automaticamente. Responda sim. Isso escreve o arquivo que ativa o job diário:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";A primeira linha atualiza a lista de pacotes diariamente; a segunda executa o unattended-upgrade diariamente. Ambos configurados para 1 significam que a máquina verifica e aplica atualizações de segurança todos os dias, via timer do systemd, sem nenhuma ação adicional sua.
Passo 2: Decidir o que será aplicado automaticamente
A política reside em /etc/apt/apt.conf.d/50unattended-upgrades. Abra-o e veja o bloco Allowed-Origins próximo ao topo:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
};As linhas -security são as que importam, e estão habilitadas por padrão. Essa é a política conservadora: atualizações de segurança entram, atualizações de funcionalidades comuns ficam para você aplicar manualmente quando desejar. Você pode adicionar a linha de origem "${distro_id}:${distro_codename}-updates" para aplicar todas as atualizações automaticamente, mas para um servidor que hospeda algo importante, aceitar apenas patches de segurança automaticamente é o padrão mais seguro. Deixe como veio de fábrica, a menos que tenha um motivo específico para mudar.
Passo 3: Lidar com reboots
Algumas atualizações, como um kernel ou uma biblioteca principal, só surtem efeito total após um reboot. O unattended-upgrades não irá reiniciar seu servidor a menos que você ordene, o que significa que um kernel corrigido pode ficar sem uso até que você reinicie o sistema. Decida como deseja lidar com isso e configure explicitamente em 50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";Isso reinicia o servidor às quatro da manhã quando, e somente quando, uma atualização exigir. Em um único VPS sem um cluster para failover, um breve reboot de madrugada é geralmente a troca correta para manter o kernel atualizado. Se o seu servidor roda algo que nunca deve reiniciar inesperadamente, deixe o reboot desativado e crie o hábito de reiniciar você mesmo após verificar o /var/run/reboot-required.
Passo 4: Provar que funciona
Não espere um dia para descobrir se o job está rodando. Execute um dry run que mostra exatamente o que seria aplicado, sem alterar nada:
sudo unattended-upgrade --dry-run --debugA saída lista os pacotes que ele considera e de quais origens eles vêm, para que você possa ver a política em ação. Após o job real ter rodado pelo menos uma vez, o registro estará aqui:
cat /var/log/unattended-upgrades/unattended-upgrades.logEsse log é a resposta para "meu servidor está realmente se corrigindo sozinho". Se ele mostrar pacotes de segurança sendo instalados em um cronograma, o job está funcionando.
Onde isso se encaixa
Atualizações automáticas são uma camada de um servidor endurecido (hardened), não o conjunto completo. Elas evitam que bugs conhecidos permaneçam no sistema, mas não fazem nada sobre quem pode logar ou o que está exposto. Combine-as com SSH hardening baseado apenas em chaves para que a porta principal não sofra brute-force, um firewall UFW de negação padrão para que apenas o que você escolher seja alcançável, e usuários de serviço sem privilégios para que um app comprometido não tome o controle de toda a máquina. O patching fecha os buracos que você conhece; as outras camadas limitam o dano daqueles que você não conhece.
FAQ
O unattended-upgrades aplica cada atualização ou apenas as de segurança?
Por padrão, apenas atualizações de segurança. O bloco Allowed-Origins em /etc/apt/apt.conf.d/50unattended-upgrades habilita as origens -security e deixa as atualizações de funcionalidades comuns para você aplicar manualmente. Isso é deliberado: patches de segurança são de baixo risco e valem a pena ser aplicados automaticamente, enquanto atualizações de funcionalidades podem mudar o comportamento, portanto a maioria dos servidores deve manter o padrão conservador.
As atualizações automáticas vão reiniciar meu servidor?
Apenas se você mandar. Configure Unattended-Upgrade::Automatic-Reboot "true" e um Automatic-Reboot-Time na configuração, e o servidor reiniciará nesse horário quando uma atualização exigir, por exemplo, após um patch de kernel. Se desativado, um kernel corrigido aguarda até que você reinicie manualmente; verifique o /var/run/reboot-required para saber se há um pendente.
Como eu verifico se as atualizações automáticas estão realmente rodando?
Execute sudo unattended-upgrade --dry-run --debug para ver o que seria aplicado agora, sem alterar nada, e leia o /var/log/unattended-upgrades/unattended-upgrades.log para o registro de execuções passadas; cada instalação automática também é registrada no /var/log/apt/history.log. Se o log mostrar pacotes de segurança instalados em um cronograma diário, o timer está funcionando. Se o dry run imprimir No packages found that can be upgraded unattended, ou tudo já está atualizado ou suas origens permitidas são muito restritas para coincidir com o repositório de segurança.
O unattended-upgrades é suficiente para manter meu servidor seguro?
Não, mas é uma camada necessária. Ele evita que vulnerabilidades conhecidas permaneçam sem correção, o que interrompe o tipo mais comum de invasão, mas não controla acesso ou exposição. Combine-o com SSH hardening, um firewall de negação padrão e usuários de serviço com privilégios mínimos para um servidor genuinamente difícil de invadir.