В CentOS, RedHat, Fedora вы можете настроить автоматическую установку обновлений безопасности сразу после того, как они появляются в репозиториях. В этой статье мы покажем как с помощью yum-cron и dnf-automatic настроить регулярную проверку и автоматическую установку обновлений безопасности в CentOS 7 и CentOS 8.
Используем yum-cron для настройки автоматического обновления CentOS 7
В CentOS 7 для автоматического обновления можно использовать пакет yum-cron, который можно установить с помощью менеджера пакетов yum:
# yum install -y yum-cron
После установки пакета, нужно внести изменения в конфигурационный файл. Откройте его:
# nano /etc/yum/yum-cron.conf
И внесите следующие изменения:
update_cmd = security update_messages = yes download_updates = yes apply_updates = yes
Данные паромеры указывают, что нужно автоматическую загружать и устанавливать обновления безопасности. Все остальные обновления пропускаются, их можно будет установить вручную.
security-severity:Critical – установка только критические обновления безопасности;
minimal-security – минимальное обновление с исправлениями ошибок и обновления безопасности;
minimal-security-severity:Critical – исправление ошибок и только критические обновления.
Если у вас на сервере настроен почтовый сервис, вы можете включить отправку уведомлений на email адрес, который нужно задать в конфигурационном файле:
emit_via = email email_from = server1@localhost email_to = [email protected] email_host = smtpserver.winitpro.ru
Можно исключить некоторые пакеты из процедуры автоматической установки обновлений. Внесите названия пакетов в поле “exclude” в секции [base], например:
exclude= mysql* kernel* php*
Сохраните изменения в конфигурационном файле, запустите сервис yum-cron и добавить его в автозагрузку:
# systemctl start yum-cron
# systemctl enable yum-cron
Всю информацию по установке пакетов безопасности на сервере вы получите по почте, либо можно в лог файле /var/log/yum.log. Для корректного отображения времени в логах нужно убедиться, что время на вашем CentOS сервере синхронизировано с надежным NTP сервером.
# yum upgrade --security
Вы получите ошибку “Command line error: no such option: —security”, решается данная проблема, установкой нужного пакета:
# yum install -y yum-security
Настройка dnf-automatic для автоматической установки обновлений безопасности в CentOS
В CentOS 8 на смену пакетному установщику yum, пришел dnf и все работы по установке/обновлению/удалению пакетов, рекомендуется выполнять именно через него (хотя yum все еще работает как символическая ссылка к dnf). Чтобы настроить автоматическую установку обновлений пакетов в CentOS 8, нужно установить dnf-automatic:
# dnf install -y dnf-automatic
После запуска команды будут установлена dnf-automatic и обновлены ряд пакетов.
Файл конфигурации для dnf-automatic, находится по пути /etc/dnf/automatic.conf:
# nano /etc/dnf/automatic.conf
В конфигурационном файле нужноизменить некоторые строки:
upgrade_type = security download_updates = yes apply_updates = yes emit_via = email email_from = server2@localhost
Для отправки уведомлений, не забудьте указать ваш почтовый ящик. Запустите сервис dnf-automatic и добавьте его в автозагрузку системы:
# systemctl start dnf-automatic.timer
# systemctl enable dnf-automatic.timer
Задания для автоматического обновления, можно посмотреть командой:
# systemctl list-timers *dnf*
Журнал установки обновлений можно получать по почте или в лог файле /var/log/dnf.rpm.log.
Автоматическая установка обновлений позволяет повысить безопасность и защиту вашего сервера CentOS в Интернете, максимально быстро устанавливать исправления уязвимостей в используемом ПО . Но несет в себе другие риски: возможность получить сырую версию пакета, незапланированный даунтайм сервисов и ряд других проблем. В большинстве случаев автоматическая установка обновлений на продуктивных серверах без контроля администратора – плохое решение. Но есть случаи, когда автообновление критично или риски безопасности превышают риски временной недоступности сервиса.