MAATRIX / Блог / Автообновления безопасности (unattended-upgrades)

Автообновления безопасности (unattended-upgrades)

Блог MAATRIX · 2026-07-07

Большинство взломов эксплуатируют давно закрытые уязвимости — просто патч не установили вовремя. unattended-upgrades ставит security-обновления сам, ночью, без вашего участия. Настроим за десять минут.

Что делает unattended-upgrades

['Пакет автоматически скачивает и устанавливает обновления из выбранных репозиториев — обычно только security. Это снижает окно уязвимости с недель до часов и не требует вашего внимания. Работает он через systemd-таймеры apt-daily и apt-daily-upgrade, которые запускаются раз в сутки со случайным сдвигом, чтобы не грузить зеркала одновременно.', 'Важно понимать границу: обновления безопасности почти всегда безопасны для продакшена, а вот полное обновление всех пакетов может что-то сломать — сменить мажорную версию демона, перезаписать конфиг. Поэтому по умолчанию включают именно security-канал, а остальные обновления накатывают вручную в плановое окно.', 'Проверить, что таймеры активны, можно так:', '
systemctl list-timers | grep apt\nsystemctl status apt-daily-upgrade.timer
']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS с root-доступом

Установка и включение

['На Debian/Ubuntu ставим пакет и сопутствующий apt-listchanges:', '
apt update\napt install -y unattended-upgrades apt-listchanges\ndpkg-reconfigure -plow unattended-upgrades
', 'Последняя команда создаёт файл /etc/apt/apt.conf.d/20auto-upgrades с включённым автоскачиванием и установкой. Проверить его содержимое:', '
cat /etc/apt/apt.conf.d/20auto-upgrades
', '
APT::Periodic::Update-Package-Lists "1";\nAPT::Periodic::Unattended-Upgrade "1";
']

Настройка правил обновления

['Основной конфиг — /etc/apt/apt.conf.d/50unattended-upgrades. Откройте его и убедитесь, что включён только security-источник:', '
Unattended-Upgrade::Allowed-Origins {\n    "${distro_id}:${distro_codename}-security";\n    "${distro_id}ESMApps:${distro_codename}-apps-security";\n};
', 'Полезные опции — автоудаление ненужных зависимостей и уведомление на почту:', '
Unattended-Upgrade::Remove-Unused-Dependencies "true";\nUnattended-Upgrade::Mail "admin@example.com";\nUnattended-Upgrade::MailReport "on-change";
', 'Если какой-то пакет обновлять нельзя (например, вы держите конкретную версию nginx или MySQL под приложение), внесите его в чёрный список — тогда автомат его не тронет:', '
Unattended-Upgrade::Package-Blacklist {\n    "nginx";\n    "mysql-server";\n};
', 'Опция MailReport со значением on-change шлёт письмо только когда что-то реально обновилось — почтовый ящик не забивается ежедневными отчётами «изменений нет».']

Автоперезагрузка после обновления ядра

['Обновление ядра или libc требует перезапуска. Разрешите автоперезагрузку в тихое время, чтобы не держать в памяти уязвимый код:', '
Unattended-Upgrade::Automatic-Reboot "true";\nUnattended-Upgrade::Automatic-Reboot-Time "04:00";
', 'Если перезагрузка нежелательна (например, база без репликации), оставьте false и следите за флагом /var/run/reboot-required вручную. На тарифах MAATRIX ежедневные бэкапы делают ночной ребут менее рискованным — есть к чему откатиться.']

Проверка и тестовый прогон

['Прогоните обновление в режиме симуляции — увидите, что было бы установлено, ничего не меняя:', '
unattended-upgrade --dry-run --debug
', 'Логи работы лежат отдельно:', '
cat /var/log/unattended-upgrades/unattended-upgrades.log\ntail -f /var/log/unattended-upgrades/unattended-upgrades.log
', 'Проверить, требуется ли перезагрузка после патчей:', '
[ -f /var/run/reboot-required ] && echo "Нужен ребут" || echo "OK"
', 'Раз в пару месяцев полезно заглянуть в лог и убедиться, что автомат действительно работает, а не молча падает из-за сломанного зеркала или конфликта пакетов. Если видите строки об удержанных (kept back) обновлениях — их придётся накатить руками командой apt upgrade в плановое окно.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS с root-доступом

Частые вопросы

Не сломает ли автообновление боевой сервер?

Security-обновления тщательно тестируются мейнтейнерами и меняют минимум. Риск низкий. Полные обновления (dist-upgrade) в автомат не ставьте.

Как отключить автоперезагрузку?

Задайте Unattended-Upgrade::Automatic-Reboot "false" в 50unattended-upgrades и перезагружайте вручную в удобное окно.

Работает ли это на CentOS/AlmaLinux?

Там аналог — dnf-automatic. Ставится через dnf install dnf-automatic и включается systemd-таймером dnf-automatic.timer.