Патч безопасности — пакет обновления, целенаправленно устраняющий уязвимость в ПО. Каждая уязвимость получает идентификатор CVE (Common Vulnerabilities and Exposures) и оценку CVSS (Common Vulnerability Scoring System) от 0 до 10. Критический патч — для CVE с оценкой 9.0–10.0.
Как работает
Жизненный цикл: исследователь находит уязвимость → сообщает вендору (ответственное раскрытие) → вендор выпускает патч → публикуется CVE → системные администраторы устанавливают обновление. Окно «0-day» — промежуток от нахождения до установки патча.
На Linux патчи устанавливаются через пакетный менеджер: apt upgrade (Debian/Ubuntu), dnf update --security (RHEL/Rocky). Ядро Linux требует перезагрузки для применения обновлений безопасности. Технология Live Patching (KPatch, Livepatch) позволяет патчить ядро без перезагрузки.
Autopatching — автоматическая установка обновлений безопасности через unattended-upgrades (Ubuntu) или dnf-automatic (RHEL). Критичен для производственных серверов с требованием минимального downtime.
История
Понятие «патч» пришло из физического программирования 1940-50-х, когда на перфокарты буквально приклеивали заплатки. CVE-стандарт введён MITRE в 1999 году. CVSS появился в 2004 году (FIRST). Один из самых известных непропатченных серверов: атака WannaCry (2017) через CVE-2017-0144 (EternalBlue) — Windows SMBv1, патч был выпущен за 59 дней до атаки.
Приоритизация патчей
- CVSS 9.0–10.0 (Critical): применить в течение 24-72 часов.
- CVSS 7.0–8.9 (High): в течение 7-14 дней.
- CVSS 4.0–6.9 (Medium): в рамках планового обслуживания.
- CVSS 0.1–3.9 (Low): при следующем major-обновлении.
Связь с хостингом
На VPS и выделенных серверах ответственность за установку патчей лежит на арендаторе, не хостере. Управляемый хостинг (managed hosting) включает патч-менеджмент в стоимость сервиса. ISO 27001 и PCI DSS требуют задокументированного процесса управления уязвимостями с установкой критических патчей в течение 30 дней.
Ключевые отличия от похожих терминов
Hotfix — экстренный патч, часто неполный, требующий последующего полноценного обновления. Security patch — целевое устранение уязвимости. Feature update — добавление новых возможностей. Backport — перенос патча безопасности на старую версию без обновления до новой.
Критические уязвимости и их закрытие
CVE (Common Vulnerabilities and Exposures) — база уязвимостей. CVSS Score: 9.0–10.0 — критические, требуют патча в течение 24–72 часов. Источники: NVD (NIST), CVE.org, DWF. Подпишитесь на security@lists.ubuntu.com или RHEL Security Advisories для уведомлений.
Процесс патчинга на продакшен
1. Читать CVE-описание. 2. Проверить затронутые пакеты на своих серверах. 3. Staging-среда: применить патч и протестировать. 4. Maintenance window: применить на prod. apt list --upgradable или yum check-update --security. Unattended-upgrades (Ubuntu) для автоматической установки security-обновлений.
Livepatch и zero-downtime патчинг
Livepatch (Ubuntu Pro) — патчи ядра без перезагрузки. kpatch, kGraft — аналоги для RHEL. Для PHP/Nginx/OpenSSL — перезапуск без простоя: nginx -s reload (graceful), PHP-FPM systemctl reload. База данных при обновлении: rolling restart реплик.
Патчи безопасности применяются к Nginx, MySQL, PHP, ядру Linux. Ubuntu unattended-upgrades автоматизирует установку security-патчей. SSL-библиотеки (OpenSSL) требуют регулярных обновлений. Fail2ban снижает риск до патча. WAF виртуально патчит уязвимости.