Категория: Обновления и обслуживаниеОбновлено 2026-10-27

Управление обновлениями (patch management)

Управление обновлениями (patch management) это непрерывный процесс отслеживания, тестирования и установки обновлений, закрывающих известные уязвимости, а не обновление только тогда, когда что-то сломалось.

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

Почему 'обновлять, когда что-то сломается' не является стратегией

Ожидание видимого сбоя как триггера для обновлений означает, что каждая известная, уже исправленная уязвимость остаётся неустранённой всё это время, а это именно то окно, на использование которого рассчитаны n-day эксплойты.

Как выглядит работающий процесс на практике

Базовый процесс отслеживает, для каких пакетов есть доступные обновления, отличает рутинные обновления от критических исправлений безопасности, требующих более быстрой реакции, и по возможности тестирует изменения перед выходом в продакшн, а не применяет всё подряд сразу после выхода.

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

Четыре ситуации, которые должен закрывать процесс обновлений

Документ NIST SP 800-40 Rev. 4 предлагает заранее планировать четыре разных ответа вместо одной привычки "обновить всё". Применительно к небольшому парку Linux VPS это выглядит так:

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

Как проверить, что ещё не установлено, включая перезапуски

Обновление пакета заменяет файлы на диске, но уже запущенная служба продолжает использовать старую библиотеку, пока её не перезапустят. Та же мысль есть в документации dnf needs-restarting: процессы часто нужно перезапускать, чтобы обновление безопасности вступило в силу. Поэтому полная проверка охватывает и пакеты, и процессы:

# Debian / Ubuntu
apt list --upgradable
sudo needrestart -r l
test -f /var/run/reboot-required && echo "reboot required"

# RHEL family
sudo dnf updateinfo list --security
sudo dnf needs-restarting -r

По описанию проекта needrestart, режим -r l только перечисляет затронутые службы и ничего не перезапускает, а ключ -k проверяет, не устарело ли ядро. В семействе RHEL команда dnf needs-restarting -r завершается с кодом 1, если нужна перезагрузка, что удобно для скриптов. Выполняйте эти проверки после каждого цикла обновлений, а остальную рутину берите из руководства по управлению патчами сервера. Полезное определение слова "готово" простое: ничего не ожидает установки, ничто не помечено для перезапуска и перезагрузка не требуется. Сервер, который не показывает неустановленных пакетов, но всё ещё работает на устаревшей библиотеке, на самом деле не обновлён.

Связанные термины: Live patching ядра, N-day эксплойт, CVSS (система оценки уязвимостей), Каталог KEV CISA (известные эксплуатируемые уязвимости).

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

Часто задаваемые вопросы

Как часто нужно применять патчи?

Критические патчи безопасности нужно применять максимально быстро; рутинные обновления без отношения к безопасности могут идти по более медленному, запланированному графику, например еженедельному или ежемесячному окну обновлений.

Достаточно ли автоматического обновления само по себе?

Для большинства рутинных обновлений да, через что-то вроде unattended-upgrades. Критические исправления иногда всё же требуют более быстрого, вручную подтверждённого развёртывания, а не ожидания следующего автоматического цикла.

Какой риск слишком агрессивного обновления без тестирования?

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

Что делать с ПО, для которого больше не выходят патчи?

NIST SP 800-40 Rev. 4 называет такие системы необновляемыми активами и рекомендует изолировать их или применять другие меры защиты, пока готовится замена. На практике это переход на поддерживаемый релиз или, как минимум, максимально жёсткое ограничение сетевого доступа к такой системе.

Как установить только обновления безопасности на сервере семейства RHEL?

Выполните dnf upgrade --security: по документации DNF эта команда включает только пакеты, исправляющие проблему безопасности. Предварительно dnf updateinfo list --security покажет, какие рекомендации (advisories) ожидают установки.

Хотите увидеть, в каком состоянии ваш сервер?

Запустите бесплатную read-only проверку сервера или откройте Security Lab и посмотрите цикл обнаружение, сдерживание, восстановление, проверка в действии.

Получить бесплатную проверку сервераОткрыть Security Lab