SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-13

Ubuntu 24.04: включены ли автоматические обновления

В Ubuntu 24.04 пакет unattended-upgrades предустановлен, а файл 20auto-upgrades активирует его. Автоматическая перезагрузка отключена. Используйте dry-run для проверки пакетов.

Почему стоит настроить автоматические обновления безопасности

Сервер без установленных обновлений — самая легкая цель в интернете. Большинство взломов небольших серверов не требуют изощренных методов; они используют известные уязвимости в старых пакетах, которые владелец забыл обновить. В Ubuntu есть инструмент, который решает эту проблему самостоятельно: unattended-upgrades устанавливает обновления безопасности автоматически, по расписанию, без вашего участия. Это самый простой и эффективный способ повысить безопасность VPS, а настройка в Ubuntu занимает всего несколько минут.

Инструмент намеренно настроен консервативно. По умолчанию он применяет только обновления безопасности, а не все обновления пакетов подряд. Патч безопасности несет низкие риски и его стоит устанавливать без проверки, тогда как обновление функциональности может изменить поведение системы, на которое вы рассчитывали. Эти настройки оптимальны для большинства серверов, и данное руководство сохраняет их, указывая лишь на те параметры, которые стоит изменить.

Шаг 1: Установка и включение

В Ubuntu 24.04 пакет часто уже присутствует, но не всегда включен. Установите и активируйте его:

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

dpkg-reconfigure задаст один вопрос с ответом «да» или «нет»: нужно ли автоматически загружать и устанавливать стабильные обновления. Ответьте «да». Это создаст файл, который активирует ежедневную задачу:

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

Первая строка обновляет список пакетов ежедневно; вторая — ежедневно запускает unattended-upgrades. Если оба значения установлены в 1, система будет проверять и применять обновления безопасности каждый день по таймеру systemd, не требуя от вас никаких действий.

Шаг 2: Выбор того, что будет применяться автоматически

Политика обновлений находится в /etc/apt/apt.conf.d/50unattended-upgrades. Откройте его и найдите блок Allowed-Origins в верхней части:

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";
};

Строки -security — это то, что имеет значение, и они включены по умолчанию. Это и есть консервативная политика: обновления безопасности устанавливаются, а обычные обновления функциональности остаются для ручной установки, когда вы сочтете нужным. Вы можете добавить строку источника "${distro_id}:${distro_codename}-updates" для автоматической установки всех обновлений, но для сервера, на котором работают важные сервисы, установка только патчей безопасности — более безопасный вариант по умолчанию. Оставьте настройки как есть, если у вас нет веских причин для изменений.

Шаг 3: Обработка перезагрузок

Некоторые обновления, например ядра или системных библиотек, вступают в силу только после перезагрузки. unattended-upgrades не будет перезагружать сервер без вашего разрешения, поэтому пропатченное ядро может оставаться неиспользуемым до тех пор, пока вы сами не перезагрузите систему. Решите, как вы хотите это обрабатывать, и укажите это в 50unattended-upgrades:

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

Эта настройка перезагружает сервер в четыре часа утра, если и только если обновление требует этого. На одиночном VPS, где нет кластера для переключения нагрузки, короткая перезагрузка ранним утром — обычно оправданная плата за актуальность исправлений ядра. Если ваш сервер выполняет задачи, которые не должны прерываться, отключите перезагрузку и возьмите за правило перезагружать систему самостоятельно после проверки /var/run/reboot-required.

Шаг 4: Проверка работоспособности

Не ждите сутки, чтобы узнать, работает ли задача. Запустите пробный прогон, который покажет, что именно будет применено, не внося никаких изменений:

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

Вывод покажет список пакетов и источники, из которых они получены, что позволит увидеть политику в действии. После того как задача выполнится хотя бы раз, запись об этом появится здесь:

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

Этот лог — ответ на вопрос «действительно ли мой сервер обновляется». Если в нем видно, что пакеты безопасности устанавливаются по расписанию, значит, задача работает.

Место в общей системе защиты

Автоматические обновления — это один из уровней защиты сервера, но не вся защита целиком. Они предотвращают использование известных уязвимостей, но никак не влияют на то, кто может войти в систему или какие порты открыты. Сочетайте их с укреплением SSH (использование только ключей), чтобы защититься от подбора паролей, с межсетевым экраном UFW (политика запрета по умолчанию), чтобы были доступны только нужные порты, и с непривилегированными пользователями сервисов, чтобы скомпрометированное приложение не получило контроль над всей системой. Приложения, которые вы хостите, имеют свои собственные риски, поэтому, если на сервере работает менеджер паролей, укрепление Vaultwarden защитит административный токен и файл резервной копии, которые не спасет никакое обновление apt. Обновления закрывают известные дыры; другие уровни защиты ограничивают ущерб от тех, о которых вы еще не знаете.

FAQ

Применяет ли unattended-upgrades все обновления или только обновления безопасности?

По умолчанию — только обновления безопасности. Блок Allowed-Origins в /etc/apt/apt.conf.d/50unattended-upgrades включает источники -security и оставляет обычные обновления функциональности для ручной установки. Это сделано намеренно: патчи безопасности несут низкие риски и их стоит устанавливать автоматически, тогда как обновления функциональности могут изменить поведение системы, поэтому большинству серверов лучше придерживаться консервативных настроек по умолчанию.

Будут ли автоматические обновления перезагружать мой сервер?

Только если вы разрешите это. Установите Unattended-Upgrade::Automatic-Reboot "true" и Automatic-Reboot-Time в конфигурации, и сервер будет перезагружаться в указанное время, если обновление (например, патч ядра) этого требует. Если эта опция выключена, пропатченное ядро будет ждать, пока вы не перезагрузите систему вручную; проверяйте /var/run/reboot-required, чтобы узнать, требуется ли перезагрузка.

Как проверить, что автоматические обновления действительно работают?

Запустите sudo unattended-upgrade --dry-run --debug, чтобы увидеть, что будет применено прямо сейчас без внесения изменений, и прочитайте /var/log/unattended-upgrades/unattended-upgrades.log для просмотра истории прошлых запусков; каждая автоматическая установка также записывается в /var/log/apt/history.log. Если в логе видно, что пакеты безопасности устанавливаются по ежедневному расписанию, таймер работает. Если пробный прогон выводит No packages found that can be upgraded unattended, значит, либо всё уже обновлено, либо список разрешенных источников слишком узкий и не включает репозиторий безопасности.

Достаточно ли unattended-upgrades для обеспечения безопасности сервера?

Нет, но это необходимый уровень защиты. Он предотвращает накопление известных уязвимостей, что останавливает самый распространенный тип взломов, но не контролирует доступ или открытые порты. Сочетайте это с укреплением SSH, межсетевым экраном с политикой запрета по умолчанию и использованием непривилегированных пользователей для сервисов, чтобы сделать сервер по-настоящему устойчивым к взлому.