До основного вмісту

Автоматичні оновлення безпеки Linux

Безпека · 31.10.2026 · 5 хв читання
Ілюстрація до статті «Автоматичні оновлення безпеки Linux»

Нові вразливості в системних пакетах публікуються постійно, а власник сервера не завжди заходить на нього щотижня. Автоматичне встановлення оновлень безпеки закриває цю прогалину: система сама ставить виправлення, які випускає дистрибутив. Нижче — як це ввімкнути в Debian і Ubuntu (unattended-upgrades) та в родині RHEL (dnf-automatic), що робити зі службами після оновлення і чому ручний контроль усе одно потрібен.

Debian і Ubuntu: unattended-upgrades

Пакет unattended-upgrades є в офіційних репозиторіях. Часто він уже стоїть в образі, але перевірити варто. Встановлення і вмикання виконуються трьома командами:

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

Майстер створює файл /etc/apt/apt.conf.d/20auto-upgrades. Його два рядки вмикають щоденне оновлення списків пакетів і запуск unattended-upgrade:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Запуск іде за таймерами systemd, а не через cron: переглянути їх можна командою systemctl list-timers. Одиниця «1» означає «раз на день».

Які репозиторії береться і як налаштувати перезавантаження

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

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";

Автоматичне перезавантаження потрібне після оновлення ядра і деяких бібліотек. Його частіше вимикають на серверах із сайтами та базами: перезавантаження в довільний момент рве з'єднання, а якщо після нього не підніметься якась служба, ви дізнаєтеся про це від відвідувачів. Якщо вмикаєте, задайте Automatic-Reboot-Time на малонавантажену годину й перевірте, що всі потрібні служби стартують самі. Докладніше про ядро — у статті оновлення ядра Linux.

Журнал і перевірка роботи

Пробний запуск без встановлення покаже, що система збирається оновити. Результати справжніх запусків лежать у каталозі /var/log/unattended-upgrades/:

sudo unattended-upgrade --dry-run --debug
systemctl list-timers 'apt-daily*'
sudo tail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log

Якщо в журналі повторюються помилки блокування dpkg, отже, паралельно йде ручне оновлення або завислий процес apt. Ручне оновлення системи та перехід на новий випуск розібрано в статті оновлення Ubuntu.

RHEL, AlmaLinux, Rocky: dnf-automatic

У родині RHEL те саме завдання вирішує пакет dnf-automatic. Він працює через таймери systemd, і режим визначається тим, який таймер ви ввімкнули:

ТаймерЩо робить
dnf-automatic-notifyonly.timerЛише повідомляє про доступні оновлення
dnf-automatic-download.timerЗавантажує пакети, але не встановлює
dnf-automatic-install.timerЗавантажує і встановлює
sudo dnf install dnf-automatic
sudo nano /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic-install.timer

У файлі /etc/dnf/automatic.conf у розділі [commands] обмежте тип оновлень безпекою та дозвольте встановлення:

[commands]
upgrade_type = security
download_updates = yes
apply_updates = yes

Служби після оновлення: needrestart

Встановлення нового пакета не означає, що запущена програма його використовує. Доки службу не перезапущено, у пам'яті лишається стара версія бібліотеки з вразливістю. У Debian і Ubuntu це ловить утиліта needrestart: вона показує, які процеси працюють на застарілих бібліотеках. Після оновлення ядра система також створює файл /var/run/reboot-required.

sudo apt install needrestart
sudo needrestart -r l
cat /var/run/reboot-required
sudo needs-restarting -r
sudo needs-restarting -s

Перші дві команди — для Debian і Ubuntu, дві останні (з пакета dnf-utils) — для родини RHEL: вони повідомляють, чи потрібне перезавантаження і які служби варто перезапустити. Перезапуск служб краще робити свідомо, у зручне вікно, а не автоматично на робочому сайті.

Чому ручний контроль лишається

  • Автооновлення закривають лише пакети дистрибутива. Сайт на WordPress, панель керування чи образ Docker вони не оновлять.
  • Оновлення може змінити конфігурацію або зламати залежність. Перед важливими змінами робіть резервну копію чи знімок диска.
  • Журнал потрібно читати. Тихий збій автооновлення означає, що сервер місяцями лишається без виправлень.

Автооновлення — один пункт загального плану захисту, а не весь план. Решту заходів зібрано в чек-листі безпеки сервера.

Часті питання

Чи потрібно вмикати автооновлення безпеки на VPS?

Так, у більшості випадків потрібно. Виправлення безпеки — це невеликі точкові правки, і ризик від них нижчий, ніж ризик місяцями лишати відому вразливість. Вмикайте лише джерело security, ведіть журнал і періодично перевіряйте, що оновлення справді встановлюються, а служби перезапускаються.

Чому автоматичне перезавантаження зазвичай вимикають?

Перезавантаження в довільний момент обриває активні з'єднання, а база даних чи сайт можуть не піднятися без вашої участі. Тому на робочих серверах перезавантаження частіше роблять вручну в узгоджене вікно. Якщо вмикаєте автоматичне, задайте годину з мінімальним навантаженням і переконайтеся, що служби стартують самі.

Як зрозуміти, що автооновлення справді працюють?

Перегляньте журнал: на Debian і Ubuntu це каталог /var/log/unattended-upgrades/, на родині RHEL — журнал systemd для таймера dnf-automatic. Пробний запуск із прапорцем --dry-run покаже, що система оновила б зараз. Якщо записів давно немає або в них самі помилки, автооновлення не працює.

Чи оновить це мій сайт або панель керування?

Ні. Автооновлення працюють із пакетами дистрибутива: ядром, бібліотеками, вебсервером і системними службами з репозиторіїв. CMS, плагіни, панелі керування та контейнери Docker оновлюються окремо. Для них потрібні свої механізми оновлення або регулярна ручна перевірка версій.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці