Поиск по сайту:

История живых исправлений ядра Linux


На этой странице

  1. 2001–2010: Патентный след
  2. 2009: Рождение Rebootless
  3. 2011–2016: Oracle и новая волна
  4. 2014: Новичок в блоке
  5. Заключение. Основная проблема 2019 года
  6. Дополнительная литература
    1. Общие статьи
    2. Документация

    Установка последнего ядра Linux раньше означала перезагрузку, пока не было разработано «обновление ядра без перезагрузки» — метод, который исправляет серверы без их перезапуска. Поскольку этой технике чуть более 10 лет, в этой статье кратко рассматриваются ее истоки и текущее состояние.

    2001–2010: Патентный след

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

    • 2001: Hewlett Packard патентует метод динамического обновления программного обеспечения для обхода недостающих функций оборудования.
    • 2002: Microsoft присоединяется к игре с подходом к обновлению системы (Windows), не прерывая ее. (Их первоначальная заявка отклонена на основании «известного уровня техники» HP.)
    • 2008: Джефф Арнольд 1).
    • 2010: Патент Microsoft, наконец, удовлетворен по апелляции.

    Интересным моментом в них является то, что они разделяют стремление исправить с помощью обновления программного обеспечения ошибку в основном программном или аппаратном обеспечении системы, не влияя на дальнейшую работу этой системы и не изменяя аппаратное обеспечение. Звучит знакомо? (Подсказки: Meltdown, Spectre.)

    2009: Рождение Беззаботного

    Джефф Арнольд был студентом Массачусетского технологического института и обслуживал один из их серверов2. Требовался патч безопасности, но он отложил его, потому что перезагрузка причинила бы неудобства его пользователям. Прежде чем система могла быть обновлена, она была взломана. Позор и (по иронии судьбы) понесенные неудобства вдохновили Джеффа найти тему для своей магистерской диссертации в проблеме выполнения обновления системы без промедления и без ее перезагрузки. Эта история может быть апокрифической, но она напоминает нам о том, что методы оперативных исправлений возникли из-за заботы не об удобстве, а о безопасности, и именно в этой роли их следует ценить.

    Джефф Арнольд объединился с тремя коллегами-студентами для изучения проблемы обновления ядра Linux-сервера без промедления и без прерывания системных процессов. Решение пришло в виде программного обеспечения под названием Ksplice, технические основы которого были заложены в Microsoft 2009 года в 2005 году для применения к обновлениям драйверов Windows.

    После окончания университета Джефф и его коллеги из Массачусетского технологического института основали компанию Ksplice Inc., а в мае 2009 года они выиграли приз конкурса предпринимательства Массачусетского технологического института с призовым фондом 100 000 долларов. Компания запустила коммерческую услугу в 2010 году; дела шли хорошо.

    2011–2016: Oracle и новая волна

    21 июля 2011 года Oracle приобрела Ksplice, Inc., интегрировав программное обеспечение в собственную ОС Linux, производную от Red Hat3. Несмотря на это наследие, Oracle прекратил поддержку Red Hat. Приобретение Ksplice компанией Oracle вызвало всплеск активности среди других ключевых поставщиков Linux, оставшихся в беде.

    В период с 2011 по 2014 год SUSE и Red Hat работали изолированно (и не зная о целях друг друга) над выпуском собственных решений для оперативного обновления ядра, что они и сделали в Kpatch соответственно. (Несмотря на небольшое преимущество, Kgraft от SUSE стал общедоступным (то есть подходящим для производственных систем) только в 2016 году.)

    Red Hat поделилась своим кодом Kpatch с сообществом и интегрировала его в качестве поддерживаемой функции Red Hat Enterprise Linux.

    О разнице между двумя воплощениями можно судить по сообщению на странице проекта версий с открытым исходным кодом:

    ВНИМАНИЕ! Используйте с осторожностью!
    Может произойти сбой ядра, самопроизвольная перезагрузка,
    и потеря данных!

    В течение того же периода и параллельно с усилиями SUSE и Red Hat базовые основы ABI для поддержки установки исправлений в реальном времени интегрировались в исходный код ядра Linux версии 4.0. Идея заключалась в том, чтобы взять лучшие идеи от Kpatch и Kgraft и... исправить и внедрить их в общий подход к основной ветке. Это называлось livepatch, и в октябре 2016 года оно было расширено до 14.04 LTS. В Ubuntu 18.04 LTS Livepatch является опцией установки и может быть настроен с помощью встроенного инструмента управления программным обеспечением, что свидетельствует о его растущей важности в стандартном распространении программного обеспечения.

    2014: Новичок в блоке

    Поскольку основные поставщики изо всех сил старались первыми запустить жизнеспособные решения для оперативного исправления, KernelCare в мае 2014 года после успешного бета-тестирования в марте.

    Они удивили рынок, предложив широчайший набор функций для большинства платформ Linux, подкрепив это хорошей репутацией в области разработки ядра Linux и поддержки клиентов. Еще одним потрясением стала доступность, привлекательная для хостеров веб-сайтов, которые считают, что стоимость KernelCare в расчете на сервер более управляема и масштабируема, чем стоимость их основного конкурента в расчете на сайт.

    Совсем недавно объединение KernelCare с Imunify360 заставило его появиться на радарах новой эскадрильи амбициозных системных администраторов, заботящихся о безопасности.

    Заключение: основная проблема в 2019 году

    По мере того, как мир движется к автоматизированной безопасности, вы увидите, как программное обеспечение для автоматического управления исправлениями ядра все теснее интегрируется в популярные дистрибутивы Linux. В настоящее время на рынке представлено всего пять отдельных поставщиков. Особенности справочных статей.

    Возиться с активным ядром может быть грязно. Это не то, что предприятие или кто-либо, использующий серверы, хочет доверять непроверенному и неподдерживаемому программному обеспечению. Когда это делается во имя безопасности, это одно из многих приложений в Linux, за которое стоит платить, одно из немногих, которое абсолютно необходимо делать правильно.

    lwn.net, июль 2011 г.

    Новости MIT: «Обновляем мир без перезагрузки» (2014).

    3 С января 2016 года Ksplice доступен только как часть продуктов Oracle UEK и Oracle Linux 6 и 7. В ноябре того же года они удалили исходный код Red Hat Kpatch.

    Службы оперативного обновления ядра Linux: сравнительная таблица функций

    Feature

    Ksplice

    Kgraft

    Kpatch

    Livepatch

    KernelCare

    Easy Install/config

    Yes

    N/A

    Yes

    Yes

    Yes

    Rollback

    Yes

    Yes

    Yes

    Yes

    Yes

    Fixed patches

    Yes

    No

    No

    No

    Yes

    Firewall-friendly

    Yes

    No

    No

    No

    Yes

    Offline updates

    Yes

    No

    No

    No

    Yes

    Patch access control

    Yes

    No

    No

    Yes

    Yes

    Fully automated

    Yes

    No

    No

    No

    Yes

    Management GUI

    Yes

    No

    No

    Yes

    Yes

    Free 24/7 Support

    No

    No

    No

    No

    Yes

    No. of Platforms

    2

    1

    1 (4)

    1

    9

    Instantaneous patching

    Yes

    No

    Yes

    Yes

    Yes

    Free Trial (days)

    30

    60

    No

    No

    30

    API (REST)

    Yes

    No

    No

    No

    Yes

    Non-latest override

    Yes

    No

    No

    No

    Yes

    Custom kernels

    No

    No

    Yes

    No

    Yes

    См. сравнительные примечания для получения подробной информации.

    дальнейшее чтение

    Общие статьи

    • Livepatch: обновление ядра Linux без перезагрузки (27 июня 2018 г.) linux-audit.com
    • Live Patching Meltdown — исследовательский проект инженера SUSE (часть 1) (2 мая 2018 г.) suse.com
    • Новости об обновлении ядра в реальном времени (27 сентября 2017 г.) lwn.net
    • Руководство по kpatch в Red Hat Enterprise Linux 7.2 и более поздних версиях (10 ноября 2016 г.) redhat.com
    • Исправляйте ядра Ubuntu с помощью службы Canonical Livepatch! (18 октября 2016 г.) blog.dustinkirkland.com
    • Горячее исправление для Linux и Unix: достигли ли мы переломного момента? (20 мая 2016 г.) forrester.com
    • Грубый патч для оперативного исправления (25 февраля 2015 г.) lwn.net
    • Инструменты динамического обновления ядра (сентябрь 2014 г.) admin-magazine.com
    • KernelCare: новая система исправления Linux без перезагрузки (6 мая 2014 г.) zdnet.com

    Документация

    • Руководство пользователя Ksplice
    • Руководство по Kpatch
    • Документация Kgraft
    • Документация по KernelCare
    • Информация о службах Canonical Livepatch (PDF)

    Примечания по сравнению

    Простая установка/конфигурация

    • Ksplice — установка Uptrack
    • Kgraft предустановлен с SUSE Linux Enterprise Server 12.
    • Установка инструментов kpatch
    • Установка KernelCare

    Откат

    • Ksplice uptrack-remove
    • Удаление патча Kgraft
    • Удаление оперативного исправления kpatch
    • KernelCare — выгрузка исправлений

    Совместимость с брандмауэром

    • Конфигурация брандмауэра и прокси-сервера Ksplice
    • Параметры брандмауэра и прокси-сервера KernelCare

    Автономные обновления

    • Автономный клиент Ksplice
    • Автономные обновления KernelCare доступны для корпоративных клиентов через электронный портал.

    Контроль доступа к исправлениям

    • Политики доступа Ksplice
    • Конфигурация и расположение KernelCare

    Полностью автоматизирован

    • Автоматические обновления Ksplice
    • Базовое управление KernelCare

    Графический интерфейс управления

    • Графический интерфейс Ksplice только в настольных версиях Ubuntu или Fedora.
    • Графический интерфейс Canonical Livepatch Service только с платной поддержкой
    • Электронный портал KernelCare

    Бесплатная поддержка 24/7

    • Поддержка Kpatch (платная)
    • Поддержка Kgraft (платная)
    • Преимущества Ubuntu (платно)
    • Поддержка KernelCare (включена)

    Количество платформ

    • Поддерживаемые Ksplice ядра (Red Hat Enterprise Linux, Oracle Linux)
    • Информация о Kgraft (SUSE Linux Enterprise Server 12/15)
    • Объем поддержки Kpatch (RedHat) (Red Hat Enterprise Linux)
    • Kpatch (github.com) (Debian, CentOS, Ubuntu, Gentoo)
    • Техническое описание службы Canonical Livepatch (PDF) (Ubuntu 14.04 LTS, 16.04 LTS)
    • KernelCare Patch Server (Ubuntu, RHEL, CentOS, ОС CloudLinux, Debian, Oracle Linux, Proxmox VE, Virt-SIG/Xen4CentOS, Virtuozzo/OpenVZ)

    Бесплатная пробная версия

    • Бесплатная 30-дневная пробная версия Ksplice (требуется учетная запись Oracle SSO)
    • Бесплатная 60-дневная пробная версия Kgraft
    • Бесплатная 30-дневная пробная версия KernelCare

    API (ОТДЫХ)

    • API Ksplice
    • KernelCare Nagios/Zabbix API

    Не последнее переопределение

    • Ksplice (конкретная действующая версия)
    • Липкие патчи KernelCare

    Автор Пол Джейкобс

    Пол — технический евангелист CloudLinux и автор контента. Он использует свой более чем 25-летний калейдоскопический опыт в области ИТ, чтобы анализировать, разгадывать и объяснять сложности веб-хостинга и безопасности Linux.