Запускайте серверы Linux без перезагрузок с помощью инструментов динамического исправления ядра
В этой статье вы узнаете что такое оперативное исправление ядра Linux, как оно обеспечивает бесперебойную работу, какие 5 инструментов доступны, которые помогут вам годами работать на серверах без перезагрузок, а также каковы преимущества и недостатки каждого из них. инструмент.
Введение
В ИТ-организациях существуют процессы и практики, настолько рутинные, что они невидимы. Неважно, ошибочны ли такие процессы и практики или существует лучший способ: если что-то работает в течение нескольких лет, люди перестают искать альтернативы. Это прекрасно описывает текущие подходы к исправлению ядра.
В настоящее время большинство организаций исправляют серверы, планируя циклы перезагрузки. Поскольку перезагрузка парка серверов — это головная боль, вызывающая простои, люди откладывают ее как можно дольше. Это означает, что исправления не применяются как можно раньше. Этот разрыв между выпуском патча и его применением означает риск, злоупотребление служебным положением и может привести к несоблюдению требований.
Этот стандартный подход к исправлению ядра подвергает серверы злонамеренным намерениям со стороны злоумышленников по множеству векторов атак, подвергая ИТ-организации риску серьезных проблем с безопасностью. Любой, кому поручено обеспечить безопасность своей организации от кибератак, должен искать лучший способ запуска серверов Linux без перезагрузок (в идеале, в течение многих лет).
Почему существуют живые исправления
В 2009 году студент Массачусетского технологического института, администрировавший веб-сервер, отложил установку исправления ядра Linux сервера, поскольку применение исправления потребовало бы перезагрузки, что доставило бы неудобства его пользователям. Во время задержки сервер был взломан. Это вдохновило студента Джеффа Арнольда попытаться разработать способ исправления ядра Linux без перезагрузки сервера.
Вместе с тремя другими студентами он разработал Ksplice, первый программный инструмент, не требующий перезагрузки, для исправления ядер Linux. Они создали компанию для продвижения своего нового продукта, которую приобрела Oracle. Когда Oracle интегрировала Ksplice со своим собственным дистрибутивом Oracle Linux, другие поставщики Linux начали работать над собственными системами исправлений в режиме реального времени.
Это связано с тем, что оперативное исправление — применение исправлений безопасности к серверу во время его работы без необходимости перезагрузки — предлагает ценные возможности для организаций, которые управляют несколькими серверами:
- Непрерывная работа серверов, без перезагрузок. Это означает минимальное время простоя или его полное отсутствие.
- Автоматизация задач, связанных с исправлениями. Это освобождает персонал службы поддержки для выполнения другой работы.
- Немедленное применение новых патчей. Это значительно снижает уязвимости сервера.
Как работает обновление ядра Linux Live
Существует два основных метода оперативного обновления ядра Linux: временный и постоянный. Временный метод применяет исправление без перезагрузки, но на самом деле требует последующей перезагрузки сервера. Постоянное обновление в реальном времени вообще не требует перезагрузки.
Временный метод
временный метод оперативного исправления требует установки на сервере программного обеспечения для управления пакетами (например, подключаемого модуля YUM). Когда исправления доставляются в репозитории, они применяются в соответствии с рабочими процессами обновления, указанными пользователем.
Этот метод включен в некоторые дистрибутивы ОС Linux и в контракты на поддержку некоторых поставщиков. Однако его не следует считать бесплатным или недорогим, поскольку он требует затрат времени и хлопот, которые не очевидны на первый взгляд.
Временный метод, также называемый исправлением стека, предполагает перезагрузку сервера и простои. Это связано с тем, что временные патчи со временем накапливаются друг на друге, снижая производительность и стабильность. Единственное решение этой проблемы — перезагрузить сервер, чтобы загрузить в память свежее ядро.
Постоянный метод
Благодаря постоянному методу оперативного внесения исправлений выделенный сервер исправлений сохраняет последние исправления. Эти исправления являются «монолитными», а не временными, поскольку включают в себя предыдущие исправления. На веб-серверах, на которые необходимо установить исправления, в фоновом режиме работает программа-агент, периодически проверяющая сервер исправлений на наличие исправлений. По указанию агента модуль ядра выполняет исправление.
Этот метод включает в себя лицензионные сборы поставщиков, но эти сборы могут быть на удивление низкими. Кроме того, заменяя ручную работу автоматизированными процессами, постоянный метод сокращает время и усилия, необходимые для администрирования серверов. Самое главное, поскольку он вообще не требует перезагрузок, он позволяет серверам продолжать работать, иногда годами.
Постоянное обновление в реальном времени дает и другие важные преимущества. Даже при наличии уязвимостей оборудования, для устранения которых обычно требуется перезагрузка, таких как Spectre, Meltdown и Zombieload, серверы, использующие постоянный метод, остаются работоспособными. . Также он работает со сканерами уязвимостей, что важно для соблюдения таких стандартов безопасности, как SOC2.
Рекомендуем прочитать:
- Как проверить наличие уязвимостей Meltdown и Spectre и исправить их в Linux
5 систем оперативного исправления ядра Linux, которые помогут запускать серверы Linux без перезагрузок
Существует несколько различных систем оперативного исправления ядра от разных поставщиков, большинство из которых предназначены для использования с определенным дистрибутивом Linux:
Oracle Ksplice
Ksplice — это оригинальная система исправлений ядра Linux без перезагрузки, созданная в 2009 году и приобретенная Oracle в 2011 году. Теперь она работает только с Oracle Linux, а RHEL — с лицензией Oracle. В нем отсутствует функция планирования, но он выполняет автоматические обновления исправлений без необходимости перезагрузки.
RedHat Кпатч
Kpatch был создан Red Hat для работы с собственным дистрибутивом Linux, хотя его можно портировать на Fedora, CentOS и системы на базе Debian, такие как Ubuntu и Gentoo. Это не автоматизировано: с помощью Kpatch администратор должен проверять и применять исправления вручную.
SUSE Кграфт
Kgraft — это живая система исправлений SUSE, которая работает только с собственным Linux Enterprise Server SUSE. В отличие от других систем, Kgraft не останавливает функции ядра во время применения исправлений. Вместо этого он отслеживает функции и может применить все исправления в рамках одного системного вызова.
Ubuntu Livepatch
Livepatch был создан Canonical, компанией-разработчиком Ubuntu. Он уникален среди систем оперативного исправления, поскольку позволяет администраторам создавать свои собственные патчи ядра. Конечно, он работает в Ubuntu, но также и в Red Hat Enterprise Linux.
KernelCare
KernelCare, разработанный CloudLinux, работает с большинством популярных дистрибутивов, таких как CentOS, RHEL, Oracle Linux, Amazon Linux, Debian и Ubuntu. Он автоматизирован, прост в установке, обрабатывает сложные исправления и предоставляет индивидуальные исправления с фиксированной датой для удовлетворения конкретных потребностей.
Сравнение функций и цен
Возможности исправления
KernelCare | Oracle Ksplice | Red Hat Kpatch | SUSE Kgraft | Ubuntu Livepatch | |
Patchset distribution | Single patchset for all patches | Each is separate module | Each is separate module | Each is separate module | Single patchset for all patches |
Release timing | Before or shortly after base distro | After patch in base distro | None provided | Matches SUSE release cycles | Matches UBUNTU release cycles |
Glibc patching | Yes | Yes | No | No | No |
OpenSSL patching | Yes | Yes | No | No | No |
Custom patches | Yes | No | Yes | Yes | No |
Совместимость и реализация
KernelCare | Oracle Ksplice | Red Hat Kpatch | SUSE Kgraft | Ubuntu Livepatch | |
Supports older kernels? | Yes | Yes | No | No | No |
32-bit support? | Custom | Yes | No | No | No |
API available? | Yes | Yes | No | Yes | Yes |
Roll-back functionality? | Yes | Yes | No | No | No |
Works behind a firewall? | Yes | Yes | Yes | Yes | Yes |
Поддерживаемые дистрибутивы
Oracle Ksplice
Oracle Linux, Fedora 25-27, Ubuntu Desktop 14.04-17.10
Red Hat Kpatch
Red Hat Enterprise Linux, Ubuntu, Debian, Gentoo
SUSE Kgraft
SUSE
Ubuntu Livepatch
Убунту
KernelCare
ОС CloudLinux, Amazon Linux 1 и 2, CentOS, Debian, OpenVZ, Oracle Enterprise Linux, Oracle UEK, Proxmox VE, Red Hat Enterprise Linux, Ubuntu, Ubuntu Core, Virtuozzo, Xen4 CentOS, Yokto< /п>
Цена за сервер
Oracle Ksplice
-
2299 долларов США (1399 долларов США) за сервер в год: стоимость подписки на поддержку Oracle Linux Premier или (Limited)
Red Hat Kpatch
1299 долларов США за сервер в год: стоимость подписки на поддержку RHEL Premium
SUSE Kgraft
2198 долларов США на сервер в год: совокупная стоимость службы исправлений в реальном времени (699 долларов США) и подписки на приоритетный сервер (1499 долларов США)
Ubuntu Livepatch
225 долларов США за сервер в год, 75 долларов США в год за виртуальные машины: стоимость подписки на поддержку Ubuntu Advantage
KernelCare
27 долларов США за сервер в год за лицензию на 500+ серверов.
Похожая информация
- Обнаружение устаревших общих библиотек в памяти с помощью Uchecker
Какая система оперативного исправления ядра Linux лучше всего подходит вам?
Для корпорации, использующей внутренние веб-серверы, с большим штатом системных администраторов, стандартизированными системами и существующими контрактами на поддержку с Oracle, Red Hat или SUSE, преимущества от использования включенных систем исправлений могут перевесить затраты. Регулярное взаимодействие с операциями поддержки этих поставщиков может помочь оптимизировать ее собственную.
Для организации, использующей веб-серверы, стандартизированные на Ubuntu, ее система Livepatch, включенная в подписку на поддержку, является хорошим выбором. Система надежна, а стоимость невелика по сравнению с вышеупомянутыми контрактами на поддержку.
Для корпорации с большим парком серверов, включающим различные дистрибутивы Linux, система KernelCare — единственный жизнеспособный вариант. Это также хороший выбор для корпораций, для которых важны стоимость и эффективность, поскольку он обеспечивает автоматическое и гибкое внесение исправлений по низкой цене.
Для бизнеса, использующего устройства с выходом в Интернет в рамках «Интернета вещей», KernelCare является единственным вариантом. Большинство этих устройств используют контейнеры Linux, и их взлом может иметь смертельные последствия, поэтому крайне важно поддерживать исправность их ядер. Быстрое время выпуска исправлений в системе KernelCare делает ее хорошо подходящей для приложений Интернета вещей.
Связанное чтение:
- Различные способы обновления ядра Linux для Ubuntu
Используете ли вы в настоящее время какую-либо из вышеупомянутых систем оперативного обновления? Пожалуйста, поделитесь своими мыслями в разделе комментариев ниже.