Як налаштувати автоматичне оновлення ядра без перезавантаження на серверах Linux - HowtoForge
Як налаштувати автоматичне оновлення ядра без перезавантаження на серверах Linux
Виправити ядро на сервері Linux здається простим. Це можна зробити за допомогою загальних інструментів, таких як dpkg, apt-get або kexec. Однак ці методи ускладнюються, коли організація має сотні чи тисячі серверів. Багато серверів означають виправлення кількох дистрибутивів, кожен з яких вимагає особистої уваги системного адміністратора або інженера.

Ці методи виправлення вручну також є ризикованими, оскільки вимагають перезавантаження. Перезавантаження пов'язане з простоєм сервера, що завжди проблематично, тому їх зазвичай виконують у циклах перезапуску. Оскільки під час цих циклів відбувається ручне виправлення, це дає хакерам «вікно часу», в якому можна атакувати серверну інфраструктуру.
Для організацій, які працюють на декількох серверах, виправлення в реальному часі є кращим варіантом. Це автоматизований метод виправлення ядра Linux під час роботи сервера, що робить його більш ефективним та безпечним, ніж ручні методи. Давайте дізнаємося, як налаштувати чотири найпопулярніші системи виправлення в реальному часі від Canonical, Oracle, Red Hat та CloudLinux.
Що таке виправлення в режимі реального часу і як воно працює?
Зрештою, існує два методи виправлення в реальному часі для ядер та бібліотек: тимчасовий та постійний. Тимчасовий метод застосовує виправлення без перезавантаження, але насправді вимагає перезавантаження сервера пізніше. Постійне виправлення в режимі реального часу не вимагає перезавантаження.
Тимчасовий метод
Тимчасовий метод (або виправлення "стека") виконується за допомогою програмного забезпечення для управління пакетами (наприклад, плагіна YUM). Виправлення доставляються до сховищ і застосовуються відповідно до робочих процесів оновлення, визначених користувачем.
Виправлення «стека» є синонімом перезавантаження сервера та простою, хоча вам може не знадобитися перезавантаження відразу після встановлення виправлення, однак через архітектуру цього типу оновлень в реальному часі виправлення безпеки накопичуються з часом, збільшуючи продуктивність та Стабільність може знизитися. Єдиним рішенням цієї проблеми є перезапуск сервера для завантаження свіжого ядра в пам’ять.
Постачальниками, які надають тимчасові виправлення, є:
Постійний метод
У випадку постійного методу сервер зберігає найновіші виправлення, і ці виправлення називаються "монолітними", оскільки містять попередні виправлення. Щоб оновити сервер, у фоновому режимі працює програма-агент, яка перевіряє патч-сервер на наявність латок. Якщо на сервері виправлень є виправлення для ядра, агент викликає механізм виправлення та застосовує виправлення.
Постійне виправлення має інші важливі переваги:
- Сервери, які використовують стійкий метод, також стикаються з апаратними вразливостями, які зазвичай вимагають перезавантаження для виправлення, наприклад, Spectre, Meltdown та Zombie Load;
- Це зменшує час та зусилля, необхідні для управління серверами, повністю автоматизуючи процес виправлення;
- Це дозволяє серверам продовжувати працювати, часто роками .
Постійний метод виправлення, як правило, включає плату виробника, більшість виробників пропонують безкоштовні пробні періоди:
Налаштування автоматичних оновлень ядра без перезавантаження на серверах Linux
Далі ми покажемо вам, як налаштувати оновлення ядра без перезавантаження на серверах Linux за допомогою служб Livepatch, Kpatch, Ksplice та KernelCare.
Примітка: Перш ніж розпочати впровадження цих інструкцій, переконайтесь, що ваша система оновлена та захищена.
1. Налаштуйте канонічний livepatch
Службу Canonical Livepatch можна налаштувати під час або після встановлення. Він встановлює виправлення безпеки ядра лише під час запуску команди apt-get upgrade (отже, напівавтоматичне).
Переваги: Легко. Напівавтомат. Перезавантаження не потрібно.
Мінуси: Дорого для 4 або більше хостів (але безкоштовно до 3 хостів для всіх і до 50 машин, якщо ви є членом спільноти Ubuntu). Немає відкоту патча.
Плата за сервер: Щомісяця (недоступно), щорічно ($ 225).
Щоб встановити Livepatch на сервері Ubuntu 20.04 LTS (також працює на версіях 16.04 LTS, 14.04 LTS та 18.04 LTS), відкрийте термінал і запустіть ці дві команди:
Щоб скасувати реєстрацію сервера, використовуйте цю команду:
Щоб перевірити статус служби, використовуйте цю команду:
2. Налаштуйте Oracle Ksplice
Якщо ви не запускаєте екземпляр Ksplice в Oracle Cloud, вам знадобиться ключ доступу для встановлення. Ви можете отримати це, увійшовши до Незламна мережа Linux і дотримуючись інструкцій, щоб зареєструвати свою систему на Ksplice.
Щоб встановити Ksplice, ваша система повинна мати доступ до Інтернету. Якщо ви використовуєте проксі-сервер, встановіть його в оболонці:
Проксі повинен підтримувати з'єднання HTTPS, і рядок проксі повинен бути у такому форматі:
- Протокол - це протокол для підключення до проксі (http або https)
- Ім'я користувача та пароль - це інформація про автентифікацію, необхідна для використання вашого проксі-сервера (якщо такий є).
- Хост і порт - це ім'я хоста/IP-адреса та номер порту, що використовуються для підключення до проксі
Запустіть наступні інструкції як root і замініть YOUR_ACCESS_KEY ключем доступу, отриманим на попередньому кроці.
Всередині хмари Oracle
Щоб встановити Ksplice в Oracle Cloud, щоб оновлення ядра встановлювалися автоматично, виконайте такі команди:
Щоб застосувати доступні оновлення до програми Uptrack, яка автоматично встановлює оновлення ядра, запустіть цю команду:
Якщо ви вже встановили Uptrack, ви можете його ввімкнути, виконавши autoinstall = ja в /etc/uptrack/uptrack.conf після встановлення Ksplice.
Щоб встановити Ksplice так, щоб оновлення виконувалися вручну, виконайте такі команди:
Поза хмарою Oracle
Щоб встановити Ksplice поза Oracle Cloud, щоб оновлення ядра встановлювалися автоматично, виконайте такі команди:
Щоб встановити Ksplice, щоб оновлення застосовувалися вручну, виконайте такі команди:
Примітка: Якщо ви встановлюєте Ksplice на сервері Debian або Ubuntu, вам може знадобитися ca сертифікати Пакет з apt-get install ca сертифікати . Без цього пакету ви побачите "Помилка перевірки сертифіката".
4. Налаштуйте Red Hat Kpatch
Встановити Kpatch просто і просто:
Запустіть команду update, щоб оновити сховища пакунків та отримати останню інформацію про пакет:
Виконайте команду install із прапором -y, щоб швидко встановити пакети та залежності:
5. Налаштуйте CloudLinux KernelCare
Щоб побачити, чи підтримує KernelCare запущене ядро, виконайте одну з таких команд:
Щоб встановити KernelCare, виконайте одну з цих двох команд:
Якщо ви використовуєте ліцензію на основі IP, більше нічого не потрібно. Якщо ви використовуєте ліцензію на основі ключа, запустіть цю команду:
КЛЮЧ - це рядок коду реєстраційного ключа, який ви отримали, коли придбали KernelCare або підписалися на безкоштовну пробну версію. Ви можете отримати ключ тут .
Щоб скасувати реєстрацію сервера, запустіть його:
Щоб перевірити статус служби, запустіть її:
KernelCare автоматично перевіряє наявність нових виправлень кожні 4 години. Щоб оновити вручну, а не автоматично, запустіть їх:
висновок
Ці інструкції з установки декількох рішень для виправлення в реальному часі описують усі кроки, необхідні для встановлення такого рішення у вашому середовищі. Після цього ви отримаєте насолоду від технології виправлення в реальному часі: ви можете оновити ядро, не зупиняючи сервер, не перезавантажуючи місяці чи роки.