Оновлення виробництва Ubuntu відкриває вікна дос і недоліки


25

Кожен так часто я входжу у виробничі скриньки web / db / tools та бачу типове повідомлення:

30 пакетів можуть бути оновлені. 16 оновлень - це оновлення безпеки.

Моє запитання: як усі ви обробляєте оновлення на своїх виробничих коробках Ubuntu? Ви автоматизуєте ці оновлення? Ви встановлюєте час простою для них? Проблема полягає в тому, що ви ніколи не знаєте, коли оновлення щось зламає, наприклад, наявний файл конфігурації тощо.

Інша частина цієї проблеми полягає в тому, щоб не відставати від патчів - це добре, але патчі випускаються майже щодня. Скільки запланованих відключень потрібно зробити, якщо кожен день є новий виправлення безпеки?

Я думаю, що нитка відповідей щодо того, як ви керуєте своїми оновленнями, була б дуже корисною.

Відповіді:


13

Немає нічого особливого у виправлення Ubuntu проти Windows, RHEL, CentOS, SuSE, debian тощо.

Основний стан розуму ви повинні бути в при проектуванні процедури патча, щоб припустити , що - то буде ламатися.

Деякі основні вказівки, які я, як правило, використовую під час проектування налаштування патчу:

  • Завжди використовуйте локальну систему, щоб внутрішньо централізувати свою мережу, звідки встановлені виправлення

Це може включати використання WSUS або дзеркал <your_os_here>внутрішньої машини управління патчем. Переважно той, який може здійснювати централізований запит та повідомляти про стан патчів, встановлених на ваших окремих машинах.

  • Попередньо встановіть установки - коли це можливо - на машинах.

Коли це можливо, у разі виходу патчів центральний сервер копіює їх на окремі машини. Це дійсно просто економія часу, так що вам не доведеться чекати, коли вони завантажуються та встановлюються, вам просто потрібно розпочати встановлення під час вікна патчу.

  • Отримайте вікно відключення для встановлення патчів, можливо, вам доведеться перезавантажити, і щось, ймовірно, зламається. Переконайтеся, що власники пакетів цих систем знають, що розгортаються патчі. Будьте готові до того, що "це" не працює.

Відповідно до моєї базової теорії, що патчі порушують речі, переконайтеся, що у вас є вікно відключення, щоб застосувати патчі досить довго, щоб усунути критичні проблеми та, можливо, відкотити патч назад. Вам не потрібно, щоб люди сиділи там на тестуванні після виправлень. Особисто я дуже покладаюся на мої системи моніторингу, щоб дати мені знати, що все працює на мінімальному рівні, на якому ми можемо піти. Але також будьте готові до невеликих нагальних питань, які потрібно викликати, коли люди приступають до роботи. У вас завжди повинен бути хтось, хто готовий відповісти на телефон - краще не той хлопець, який був до 3 ранку, виправляючи коробки.

  • максимально автоматизувати

Як і все, що стосується ІТ, сценарію, сценарію, а потім сценарій ще трохи. Сценарій завантаження пакета, запуск установки, дзеркало. В основному ви хочете перетворити патч-вікна в завдання дитячого сидіння, яке просто потребує людини там, якщо щось зламається.

  • Майте кілька вікон щомісяця

Це дає вам можливість не виправляти деякі сервери, якщо з будь-якої причини вони не можуть бути зафіксовані в "призначену ніч". Якщо ви не можете зробити їх у ніч 1, вимагайте, щоб вони були безкоштовними в ніч 2. Також дозволяють вам зберігати кількість серверів, зафіксованих одночасно.

Найголовніше бути в курсі патчів! Якщо ви не знайдете себе, вам доведеться робити дуже великі 10-годинні виправлення вікон просто для того, щоб повернутися до місця, де вас наздогнали. Представляємо ще більше моментів, де все може піти не так, і зробити пошук того, який патч спричинив і видавати набагато складніше.


Інша частина цієї проблеми полягає в тому, щоб не відставати від патчів - це добре, але патчі випускаються майже щодня. Скільки запланованих відключень потрібно зробити, якщо кожен день є новий виправлення безпеки?

Виправлення сервера один раз на місяць або один раз на другий місяць - IMHO - дуже досяжна і прийнятна мета. Більше того, і добре, що ви постійно будете виправляти сервери, набагато менше, і ви починаєте потрапляти в ситуації, коли у вас є сотні патчів, які потрібно застосувати на одному сервері.

На скільки вікон потрібно на місяць? Це залежить від вашого оточення. Скільки у вас серверів? Який необхідний час для ваших охоронців?

Менше середовище, розміром 9x5, можливо, може піти з одного вікна виправлення на місяць. Для великих магазинів 24x7 може знадобитися два. Дуже великим розміром 24x7x365 може знадобитися прокатне вікно щотижня, щоб кожен тиждень виправляли різний набір серверів.

Знайдіть частоту, яка працює для вас та вашого оточення.

Одне, що потрібно пам’ятати, - це те, що на сьогоднішній день на 100% неможливо досягти мети - не дозволяйте вашому відділу безпеки сказати інше. Робіть все можливе, не відставайте занадто далеко.


Ви кажете автоматизувати запуск установки, хоча це суперечить початковій передумові повідомлення, щоб отримати вікно відключення. Чи можете ви далі уточнити частину вашої відповіді "автоматизувати запуск установки"?
образний

ви автоматизуєте початок установки, коли починається ваш відключення - зупиняючи необхідність увійти в кожне поле, щоб розпочати встановлення ... Я спробую придумати кілька кращих формулювань
Zypher

6

Що робити:

  1. Візьміть резервну копію
  2. Переконайтеся, що це резервна копія (хоча ці два є загальними пунктами)
  3. Спробуйте направити трафік подалі від виробничого вікна під час оновлення.
  4. Спробуйте мати метод позадіапазонного доступу, якщо все піде не так, KVM, послідовна консоль, локальний доступ або віддалені руки.
  5. Тестуйте на одному сервері та переконайтесь, що все працює, перш ніж розміщувати оновлення на кількох серверах
  6. Використовуйте лялечку, якщо можете переконатися, що номери версій однакові на декількох серверах. (Ви також можете використовувати його для примусового оновлення)
  7. На тестовому сервері відрізняйте версії конфігураційних файлів від нових (встановлених оновлень) і переконайтеся, що нічого не буде серйозно порушувати. Здається, я пам'ятаю, як dpkg запитував перед встановленням нових версій, які відрізняються від встановлених.

Що слід уникати:

  1. Робіть оновлення посеред дня, або 09:00 понеділка вранці, або 17:00 в п'ятницю! (спасибі @ 3вплив!)
  2. Оновлення MySQL на дійсно великих серверах баз даних (перезапуск може зайняти тривалий час)
  3. Робити всі ваші сервери відразу (особливо ядра)
  4. Робити щось, що може змінити / etc / network (тому що ви можете втратити зв’язок)
  5. Автоматизовані оновлення, які могли б виконати вище, не перебуваючи там, щоб перевірити, чи все в порядку.

4
ви забули ... ніколи не робіть їх у п’ятницю наприкінці дня, якщо ви не цінуєте свої вихідні :)
3для

4

Ще один момент, на який варто звернути увагу: Якщо ви звикли до Windows, ви здивуєтеся, що для більшості оновлень Linux не потрібен час простою або перезавантаження. Деякі, наприклад, оновлення ядра. Але оновлення, які потребують перезавантаження або простою, зазвичай позначаються як такі, і їх можна обробляти за окремим графіком.


майте на увазі, що для оновлення запущеної служби потрібно буде зупинити цю службу в якийсь момент, щоб ви отримали нову. І все-таки ви не отримуєте дратівливого підказки кожні 10 хвилин :)
gbjbaanb

Утиліта debian / ubuntu checkrestartдуже корисна при визначенні того, які процеси були оновлені, але все ж їх потрібно зупинити та перезапустити, щоб отримати новий код.
thomasrutter

4

Наші машини Ubuntu мають всі версії LTS.

Ми просто автоматично встановлюємо всі оновлення - впевнені, що це не "найкраща практика", але ми відносно невеликий магазин і не маємо тестових / розробкових / виробничих середовищ для кожної послуги. Оновлення LTS, як правило, досить добре перевірені і все одно малоінвазивні.

Оновлення до нового випуску, очевидно, дещо більше.


2

Ми маємо справу з оновленнями наступним чином для систем ubuntu LTS:

  1. Maitain набір тестів прийняття, які перевіряють усі критичні шляхи нашого програмного забезпечення
  2. Встановіть оновлення безпеки без нагляду о 4 годині ранку та негайно запустіть тести прийняття. Якщо щось не вдається, інженер перебуває на стадіоні і має багато часу, щоб виправити речі або відкотитись до 9 ранку. Поки що це траплялося лише два рази за п’ять років - LTS добре перевірений і стабільний.
  3. Ми автоматично повторно розгортаємо всю свою інфраструктуру щотижня (на дигіталокеї) синьо-зеленими розгортаннями, що підтримує всі пакунки в останніх версіях. Якщо новий розгортання не виконає тести прийняття, розгортання затримано, поки інженер не зможе налагодити проблему.

Наступним логічним кроком для нас є усунення інформації про сеанс пам'яті, щоб ми могли просто перерозподіляти інфраструктуру щодня або навіть кілька разів на день, не впливаючи на клієнтів та усуваючи крок (2).

Такий підхід є низьким рівнем обслуговування та повністю уникає вікон з обслуговування.


Я працював у компанії, яка проводила подібний процес; наша материнська компанія мала "повну та професійно розвинену систему". Коли було оголошено про вразливу вразливість, до наступного ранку у нас було виправлено кілька сотень серверів. "Безпечні" процеси материнської компанії закінчилися тим, що вони забрали кілька сотень серверів і залишили ІТ-групу вручну зафіксувати кожну машину протягом тижня. Складність - ворог безпеки та надійності :-)
Том Гаррісон-молодший

0

Я б порекомендував вирішити відсилки пакетів. Див. Операції та відкат з Debian, щоб запропонувати, як це зробити, оскільки іноді потрібно швидко виправити оновлення, яке щось порушує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.