SSD Nodes Learn Hosting plans →
Guias Matt ConnorPor Matt Connor · Atualizado 2026-08-13

Ubuntu 24.04: unattended-upgrades vem ativado?

No Ubuntu Server 24.04, unattended-upgrades pode estar instalado sem funcionar: o arquivo 20auto-upgrades ativa a rotina, Automatic-Reboot fica false e o dry run mostra as ações.

Por que vale a pena configurar atualizações de segurança automáticas

Um servidor sem patches é o alvo mais fácil na internet. A maioria dos breaches em servidores pequenos não resulta de técnicas sofisticadas. Deve-se a um bug conhecido num pacote antigo que o responsável nunca atualizou. O Ubuntu inclui uma ferramenta que resolve esse problema sozinha: unattended-upgrades instala atualizações de segurança automaticamente, segundo um agendamento, sem que tenha de iniciar sessão. É a medida de segurança mais barata disponível num VPS e, no Ubuntu, a configuração demora poucos minutos.

A ferramenta é deliberadamente conservadora. Por predefinição, aplica apenas atualizações de segurança, não todas as atualizações de pacotes, porque um patch de segurança tem baixo risco e normalmente deve ser aplicado sem revisão, enquanto uma atualização de funcionalidades pode alterar um comportamento de que dependia. Essa predefinição é adequada para a maioria dos servidores, e este guia mantém-na enquanto mostra as poucas definições que vale a pena alterar.

Passo 1: Instalar e ativar

No Ubuntu 24.04, o pacote está frequentemente instalado, mas nem sempre está ativado. Instale-o e ative-o:

sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

A pergunta de dpkg-reconfigure é apenas uma pergunta de sim ou não: se pretende descarregar e instalar automaticamente atualizações estáveis. Responda sim. Isso grava o ficheiro que ativa a tarefa diária:

cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

A primeira linha atualiza diariamente a lista de pacotes; a segunda executa diariamente a atualização não interativa. Definir ambas como 1 significa que a máquina verifica e aplica atualizações de segurança todos os dias, através de um temporizador systemd, sem qualquer ação adicional da sua parte.

Passo 2: Decidir o que é aplicado automaticamente

A política está em /etc/apt/apt.conf.d/50unattended-upgrades. Abra-o e procure o bloco Allowed-Origins perto do início:

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 relevantes e estão ativadas por predefinição. Essa é a política conservadora: aplicar as atualizações de segurança e deixar as atualizações normais de funcionalidades para serem aplicadas manualmente quando decidir. Pode adicionar a linha de origem "${distro_id}:${distro_codename}-updates" para aplicar automaticamente todas as atualizações, mas, num servidor que aloja algo importante, aplicar automaticamente apenas patches de segurança é a opção mais segura. Deixe a configuração tal como é fornecida, salvo se tiver um motivo específico para a alterar.

Passo 3: Gerir os reboots

Algumas atualizações, como um kernel ou uma biblioteca principal, só produzem efeito completo depois de um reboot. unattended-upgrades não reinicia o servidor a menos que lhe diga para o fazer, o que significa que um kernel atualizado pode permanecer sem utilização até ao próximo reboot. Decida como pretende tratar esta situação e defina-a explicitamente em 50unattended-upgrades:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Isto reinicia o servidor às quatro da manhã quando, e apenas quando, uma atualização o exigir. Num VPS único, sem um cluster para onde fazer failover, um reboot breve de madrugada é normalmente uma boa troca para manter as correções do kernel atualizadas. Se o servidor executar algo que nunca possa reiniciar inesperadamente, deixe o reboot desativado e crie o hábito de reiniciar manualmente depois de verificar /var/run/reboot-required.

Passo 4: Confirmar que funciona

Não espere um dia para descobrir se a tarefa é executada. Inicie uma execução de teste que mostre exatamente o que seria aplicado, sem alterar nada:

sudo unattended-upgrade --dry-run --debug

A saída apresenta os pacotes considerados e as origens a que pertencem, para que possa confirmar a política em funcionamento. Depois de a tarefa real ter sido executada pelo menos uma vez, o respetivo registo está aqui:

cat /var/log/unattended-upgrades/unattended-upgrades.log

Esse log responde à pergunta "o meu servidor está realmente a instalar patches sozinho?". Se mostrar pacotes de segurança instalados segundo um agendamento, a tarefa está a funcionar.

Onde isto se enquadra

As atualizações automáticas são uma camada de um servidor protegido, não são a solução completa. Impedem que bugs conhecidos permaneçam por corrigir, mas não controlam quem pode iniciar sessão nem o que está exposto. Combine-as com proteção do SSH usando apenas chaves, para impedir ataques de brute force à porta de entrada; com uma firewall UFW com política default-deny, para que apenas o que escolher fique acessível; e com utilizadores de serviço sem privilégios, para que uma aplicação comprometida não consiga assumir o controlo de todo o servidor. As aplicações alojadas também têm os seus próprios segredos. Por isso, se esta máquina executar um cofre de palavras-passe self-hosted, uma revisão de segurança do Vaultwarden protege o token de administração e o ficheiro de backup que nenhum volume de patches do apt consegue proteger. A aplicação de patches fecha as falhas que conhece; as outras camadas limitam os danos causados pelas que ainda não conhece.

FAQ

O unattended-upgrades aplica todas as atualizações ou apenas as de segurança?

Por predefinição, apenas as atualizações de segurança. O bloco Allowed-Origins em /etc/apt/apt.conf.d/50unattended-upgrades ativa as origens -security e deixa as atualizações normais de funcionalidades para serem aplicadas manualmente. Isto é intencional: os patches de segurança têm baixo risco e vale a pena aplicá-los automaticamente, enquanto as atualizações de funcionalidades podem alterar comportamentos. Por isso, a maioria dos servidores deve manter a predefinição conservadora.

As atualizações automáticas reiniciam o meu servidor?

Apenas se lhes der essa instrução. Defina Unattended-Upgrade::Automatic-Reboot "true" e um Automatic-Reboot-Time na configuração. O servidor reinicia nessa altura quando uma atualização o exigir, por exemplo, depois de um patch do kernel. Se deixar essa opção desativada, um kernel atualizado aguarda até que faça o reboot manualmente; consulte /var/run/reboot-required para saber quando existe um reboot pendente.

Como verifico se as atualizações automáticas estão realmente a ser executadas?

Execute sudo unattended-upgrade --dry-run --debug para ver o que seria aplicado neste momento, sem alterar nada, e consulte /var/log/unattended-upgrades/unattended-upgrades.log para ver o registo das execuções anteriores; cada instalação automática também fica registada em /var/log/apt/history.log. Se o log mostrar pacotes de segurança instalados diariamente, o temporizador está a funcionar. Se a execução de teste apresentar No packages found that can be upgraded unattended, ou todos os pacotes já estão atualizados ou as origens permitidas são demasiado restritas para corresponder ao repositório de segurança.

O unattended-upgrades é suficiente para manter o meu servidor seguro?

Não, mas é uma camada necessária. Impede que vulnerabilidades conhecidas permaneçam sem patch, evitando o tipo mais comum de breach, mas não controla o acesso nem a exposição. Combine-o com proteção do SSH, uma firewall com política default-deny e utilizadores de serviço com o menor privilégio possível para obter um servidor realmente difícil de comprometer.