Canonical предоставила для пользователей Ubuntu возможность получать исправления безопасности для ядер Linux без необходимости перезагружаться.
Введён в строй Canonical Livepatch Service, с помощью которого через аутентификацию и шифрованное соединение, вы сможете получить заплатки для 64-bit Intel/AMD архитектуры и Ubuntu 16.04 LTS Xenial Xerus. Данный функционал особенно будет интересен тем, кто использует контейнерные технологии типа Докера или LXD, так как контейнеры используют ядро хоста и если он получает заплатки, то это распространяется и на них.
Как активировать Canonical Livepatch Service?
Нужно выполнить три шага для актуальной 64-битной Ubuntu 16.04 LTS.
sudo snap install canonical-livepatch
sudo canonical-livepatch enable [TOKEN]
Проверьте статус работы новой технологии - canonical-livepatch status --verbose
Какие системные требования?
Canonical Livepatch Service доступен для ядер generic и low-latency 64-bit Intel/AMD (x86_64, amd64) в Ubuntu 16.04 LTS (Xenial Xerus) с ядром Linux 4.4. Технология livepatches от Canonical работает с десктопной и серверной Ubuntu 16.04 LTS. На физических, виртуальных машинах, а так же в облачных образах.
Стабильность и безопасность работы технологии зависит от того, модифицировали вы самостоятельно ядра или нет, а также от надёжного сетевого доступа к https://livepatch.canonical.com:443
Snapd должен быть не ниже 2.15.
Что насчёт других архитектур?
В данный момент работа технологии ограничена 64-bit x86. IBM работает над поддержкой POWER8 и s390x. В активной разработке находится внедрение поддержки ARM64, о которой сообщат подробнее. Livepatch для 32-bit ARM и 32-bit x86 в данный момент не рассматривается.
Что насчёт других релизов Убунту?
Canonical Livepatch Service пока работает только с Ubuntu 16.04 LTS и ядром Linux 4.4. Старые релизы Убунту не будут поддерживаться, так как в их ядрах нет нужного функционала. Обычные релизы типа Убунту 16.10 предназначены для разработчиков и активных пользователей, любящих попробовать новинки первыми. Livepatch им мало интересен и сама технология нацелена на пользователей LTS систем для поддержания максимального uptime.
Что насчёт дериватов Убунту? Xubuntu, Lubuntu, ...
Технология livepatch гарантировано поддерживается в 64-bit Ubuntu 16.04 LTS Desktop, Cloud и Server. Другие Убунту дериваты не используют автоматизированную систему Continuous Integration (CI) для контроля качества. Надёжность и безопасность работы Canonical Livepatch в большей степени зависит от немодифицируемости Ubuntu ядер и сетевым доступом к Canonical Livepatch Service.
Как тестируются патчи, которые будут применятся к ядру налету?
Каждый такой патч тщательно проверяется серверами CI/CD (Continuous Integration / Continuous Delivery). Сотни комбинаций из livepatches, ядер, аппаратного оборудования, физических машин, виртуальных машин. После того как пройдены все тесты в CI/CD, а так же тесты на наличие регрессий, небольшой части пользователей дают скачать и установить патчи через Canonical Livepatch Service. Если всё хорошо, то процент увеличивают и так постепенно охватывают всё сообщество. Сбои в системах пользователей автоматически обнаруживаются и для разбирательства будут подняты на уши сотрудники Canonical.
Если вам понравилась данная технология патчинга ядра на лету, но вы не хотите быть даже иногда первопроходцем-смельчаком, то сможете избежать этого, лишь участвуя в программе Ubuntu Advantage (от $12 в месяц).
Какие виды обновлений представлены с помощью Canonical Livepatch Service?
Canonical Livepatch Service предназначен для предоставления высокоприоритетных и критических заплаток к ядру линукс, описанные в базах Ubuntu Security Notices (USN) и CVE. Обратите внимание, что существуют некоторые ограничения в технологии livepatch и не всегда можно обновить ядро без перезагрузки. Canonical сделает всё от неё зависящее, чтобы обеспечивать своевременно заплатками к проблемам в статусе "высокий" и "критический". Но могут быть случаи, когда нужен будет традиционный способ обновления и перезагрузка системы. Вас уведомят о таких случаях по всем каналам - USN, Landscape (если вы его используете), уведомления для десктопных систем, оповещением через /etc/motd и так далее.
А заплатки не связанные с безопасностью?
Canonical и дальше будет предоставлять обновления к ядру Linux, исправляющие обычные ошибки, проблемы со стабильностью и производительности, в обычном темпе - раз в 3 недели. Данные обновления легко ставятся через sudo apt update; sudo apt upgrade -y
или через Менеджер Обновлений в десктоп. Такие обновления будут по-прежнему требовать перезагрузки, как и раньше.
Livepatch можно откатить?
В данный момент откат/удаление отключён. Нужен надёжный способ, чтобы определить нет ли выполняющегося внутри функции, которую патчат, прежде чем её удалить. Однако технология позволяет смело накладывать новые патчи друг на друга и даже репатчить функцию снова и снова.
Инциденты с безопасностью в статусе low и medium в базе CVE будут патчится?
В данный момент все сфокусированы на high и critical дырах.
Почему Canonical Livepatches сделан в виде сервиса с подпиской?
Canonical Livepatch Service обеспечивает безопасное, зашифрованное соединение с поддержкой аутентификации для того чтобы убедится в том, что подписанные livepatch напрямую доставляются для вашей системы.
Но я не хочу покупать Ubuntu Advantage!
И не нужно! Canonical предоставляет Livepatch Service бесплатно до 3 машин. Случайно выбранные пользователи, которые бесплатно используют технологию патчинга ядер на лету, получат свои патчи раньше других. Остальные пользователи (за бесплатно и в рамках Ubuntu Advantage) получат позже, после успешного первого развёртывания.
Но у меня нет единой учётной записи Ubuntu SSO!
Создание Ubuntu SSO бесплатно и похоже на аналогичный ID у компаний Google, Microsoft и Apple. Создать аккаунт можно по адресу login.ubuntu.com
Но я не хочу никаких логинов в ubuntu.com!
Вы и не должны! Canonical Livepatch не требуется, чтобы и впредь поддерживать безопасность вашей системы на прежнем высоком уровне. По-прежнему используйте бесплатно и анонимно - sudo apt update; sudo apt upgrade; sudo reboot
У меня нет доступа к livepatch.canonical.com:443!
Можно представить Canonical Livepatch Service как сервис от Netflix, Pandora или Dropbox. Это потоковый сервис в Интернет для вашего ядра. Если есть доступ к Интернет, то можно подключится к потоку битов. С другой стороны, если нет прямого доступа к Интернет, тогда машины надёжнее защищены от остального мира?
Есть исходный код?
Исходный код модулей livepatch доступен на git.launchpad.net. Исходный код клиента canonical-livepatch является коммерческим ПО и частью продукта по управлению системами Landscape.
Что про Ubuntu Core?
Canonical Livepatches будет доступен для Ubuntu Core в конце 2016 года. Canonical Livepatches для IoT устройств на базе ARM будет зависеть от того, как апстрим проекта реализует поддержку данной архитектуры.
Как можно сравнить с Oracle Ksplice, RHEL Live Patching и SUSE Live Patching?
Концептуально они похожи и разница лишь в реализации и в коммерческих условиях поставки:
Что будет если я огребу проблем с Canonical Livepatches?
Клиенты Ubuntu Advantage будут подавать запрос в службу поддержки на support.canonical.com, где их обслужат в соответствии с их уровнем Essential, Standard или Advanced. Пользователи из сообщества, кто бесплатно использует технологию, должны создать отчёт о баге на Launchpad, который постараются решить как можно быстрее (best effort).
Почему клиентский и серверный код canonical-livepatch под закрытой лицензией?
Клиентская canonical-livepatch является частью семейства Landscape - инструмента, доступного клиентам Canonical. Сообществу дан свободный доступ к Canonical Livepatch Service в знак признательности и в обмен за их, время от времени, развёртывания патчей одними из первых.
Я могу собрать свои livepatches?
Вы, безусловно, можете создавать свои патчи для применения их на лету, но это потребует от вас серьёзных навыков, времени, вычислительных мощностей и усилий в тестировании. Chris Arges в своём блоге создал HOWTO using linux livepatch on ubuntu для тех кто решится действовать самостоятельно.
Как получить уведомление, что проблемы из базы CVE были исправлены на лету, а возможно нет?
В любое время вы можете запросить статус - canonical-livepatch status --verbose
Вам покажут все патчи что были применены, ещё не применённые и неприменимые, с указанием ошибки. Также вы можете мониторить Ubuntu Security Notices RSS и почтовую рассылку.
livepatching не является просто огромным руткитом?
Canonical Livepatches инжектирует модули ядра, чтобы заменить секции двоичного кода в работающем ядре. Это требует CAP_SYS_MODULE возможности для использования подгрузки модулей (modprobe) в ядро Linux. Данной возможностью обладает root в системе, так что вы, как админ, можете это делать С и БЕЗ Canonical Livepatches. Если вы админ системы Убунту и хотите отключить загрузку модулей ядра (тем самым отключить Canonical Livepatches), то можете использовать echo 1 | sudo tee /proc/sys/kernel/modules_disabled
Цены на Linux.
Битва титанов. Canonical против Red Hat.
13 причин использовать Ubuntu Server. Часть 1.