OpenBSD, FreeBSD: ваша філософія оновлення?


14

Я використовував FreeBSD близько 5 років - сервер / робочий стіл - і я схильний брати до себе апт-get / yum, щоб оновити всі звички разом зі мною (я також адміністратор коробки Debian / RHEL / Cent - я знаю, я знайте ... повинно бути більш вибагливим незалежно від платформи). Тому зазвичай це:

portsnap fetch
portsnap update
portmanager -u

Для портів

Іноді слідує:

freebsd-update fetch
freebsd-update install

Для системи ... тощо. Тоді просто очистіть будь-які псування після цього ... якщо вони трапляться.

Я усвідомлюю, що це досить непомірний спосіб, що не стосується BSD. Яка ваша філософія для ваших BSD коробки? Ви запускаєте portaudit / portversion - перевіряйте вихід, а потім оновіть (зробіть деінсталяцію ... тощо) після ретельного розгляду?

Я зізнаюся, я досить новачок у OpenBSD. Я бачу, що я підтримую дерево портів, виконуючи "застарілий" скрипт, а потім просто оновлюючи критичні порти --- але залишаючи ядро ​​/ двійкові файли в спокої і просто оновлюю кожні півроку. Ви виправляєте / перекомпілюєте / відновлюєте ядро, бінарні файли --- чому?

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

Так, документи і книги вкрай важкі - чим ви насправді займаєтесь люди? Якщо припустити, що ми знаємо основи - у чому мудрість? Приклади / середовища та сценарії використання залежать від ставок / зацікавлених сторін / користувачів. Книги та підручники охоплюють інструменти та способи використання, але не мають практичного застосування. Рекомендуйте книгу, якщо ви знаєте одну, яка її охоплює!

Дякуємо за прочитане!

Bubnoff

Висновки ~ Дякую всім, хто знайшов час, щоб відповісти на це повідомлення. Моя стратегія в цілому полягає в тому, щоб дотримуватися списків розсилки для обох BSD і бути більш вибірковим / вибагливим до оновлення, ніж я був у минулому.

FreeBSD ~ Portaudit - хороша відповідь. Зі списками розсилки та ретельними аудитами я думаю, що це буде добре тут. Цікаво різний наголос на портах між віршами OpenBSD FreeBSD.

OpenBSD ~ Дотримуватиметься списку розсилки та використовуватиме пакетні інструменти (pkg_info та pkg_add -u) там, де вважається критичним. Оновлення: схоже, вам потрібно оновити принаймні раз на рік. Вони підтримують найновіший випуск плюс одну спинку - так що зараз це 4,8 і 4,7.

Знову дякую.

Відповіді:


9

Переконайтеся, що ви так часто перевіряєте встановлені порти на вразливі пакети: portaudit -Fda


1
Це обов’язково для * BSD. Я настійно рекомендую кидати це в нічний crontab, щоб надсилати вам щоранку електронну пошту з портами з виправленнями безпеки.
Андрій М.

1
Але тоді справа в тому, щоб діяти за порадою Портаудіта. Читаючи відповіді тут, більшість людей радить залишати речі в спокої, якщо це абсолютно не потрібно. Я чув, як деякі адміністратори стверджують, що все повинно бути в курсі постійно ... це вражає мене гарним способом розбити речі.
Bubnoff

Я прийму цю пораду для FreeBSD. Дякую. Що залишає OpenBSD
Bubnoff

4

Я не впевнений, що існує певний "BSD спосіб" робити подібні речі. Все зводиться до того, щоб знати, що оновлюється та тестується - загальні матеріали системи. На щастя, freebsd-update та portsnap роблять "знаючи що" досить тривіальним.

Але, оскільки ви запитували конкретні відомості, тоді, коли я загнав велику кількість машин FreeBSD, всі вони були вузлами в кластері. Автономні машини не так сильно відрізняються від цього, але, мабуть, ви могли б зробити це невиразно "присвяченим", як для ваших виробничих послуг. Зрештою, завжди гарною ідеєю є окреме середовище для тестування та виробництва.

У кластерній ситуації:

  • Кожна машина, встановлена / usr / src , / usr / obj , та / usr / порти через NFS.
  • Залежно від вашого бюджету, ви можете мати машину для встановлення / складання або призначити вузол кластера як вузол постановки / складання.
  • Постановочний вузол мав іншу копію портів / usr / ports
  • Постановочний вузол оновлюватиме src-all та порти - все через cvsup щовечора
  • У разі необхідного оновлення, вузол постановки буде виведений з повороту і компіляції системи , installworld і portupgrade буде працювати.
  • Постановочний вузол буде ретельно перевірений.
  • / usr / порти будуть замінені на хості NFS
  • Кожен вузол кластера буде обертатися із запуску installworld та portupgrade , перевірений та повернутий назад.

Очевидно, що це стосувалося як оновлення системи, так і портів, але процедура була досить схожа на оновлення лише пакетів чи системи.

Якщо це робиться на двох машинах, у вас може бути кожен поворот як виробництво чи інсценування, або просто оновити виробництво за допомогою постановки.

Ви можете відстежувати зміни з журналів резюме та перевіряти, чи отримали ви конкретні оновлення в / usr / src / UPDATING та / usr / ports / UPDATING , обидва вони автоматично оновлюються з cvsup .

Якщо ви не використовуєте cvsup (а в наші дні є менше причин), вам просто потрібно буде знайти інший спосіб відстежити, які оновлення ви хочете. Ви можете надіслати електронною поштою список змін, які хоче внести Freebsd-update, і слідкуйте за сторінками з помилками безпеки.


Мені подобається ідея "постановки" виробництва "віршів". З віртуалізацією майже немає виправдання не в ці дні. Дякуємо за відповідь.
Bubnoff

Так, плюс це чудово вписується у речі типу "devops" (з того, що я розумію), якщо вам доведеться зіткнутися з цим.
ДФ

4

OpenBSD оновлення філософії

Це мій підхід до оновлення OpenBSD

Будьте в курсі випусків / виправлень безпеки для:

  • БАЗА (тобто те, що команда розробників OpenBSD підтримує у своєму вихідному дереві)
  • Пакети / порти (тобто програмні програми, встановлені поверх BASE)

Процедури оновлення:

  • Та ж версія ОС
  • Нова версія ОС

БАЗА

а. Дотримуйтесь відповідних списків розсилки - я стежу за щоденними дайджестами squish.net, а також загальним напрямком, який відображається у списках розсилки Tech та Misc.

б. Дотримуйтесь веб-сайтів оголошень про безпеку Unix / списків розсилки.

c. Підтримуйте локальну копію CVS за допомогою cvsync

г. Створіть STABLE випуски з вищезазначеного

Коли публікуються оновлення безпеки, ми оцінюємо фактичну проблему безпеки з профілем машин із цією версією ОС / вразливості. Якщо вразливість актуальна, ми проходимо "ту саму процедуру оновлення версії".

Пакети / порти

Складніше слідкувати за оновленнями безпеки портів / пакетів, але якщо це досить важливо, щоб бути в нашій інфраструктурі, то це досить важливо, щоб відслідковувати аналогічно BASE.

  • Перейдіть до списку розсилки для конкретного додатка (наша відповідальність ведеться за вкладки змін, що надходять від потоку, незалежно від проекту OpenBSD.)

  • Потрапте до списків розповсюдження систем безпеки, таких як CERT, який публікує дані про вразливості в додатках тощо.

Процедури оновлення

Очевидно, складіть і протестуйте процедуру встановлення на окремому апаратному забезпеченні (або VM), перш ніж робити це на своїх виробничих машинах. На щастя для нас, у нас є багато зайвих хостів для багатьох речей, і тому ми можемо виконувати їх із мінімальним простоєм послуг. Оскільки OpenBSD підтримує широкий спектр обладнання, ми можемо розгорнути серверне обладнання для наших основних машин та нижчих версій настільних ПК як наших зайвих хостів (або ми просто створимо тимчасове поле для заповнення основної машини під час циклу оновлення.)

Наші процедури оновлення сильно залежать від використання системи портів / пакунків для програмного забезпечення, яке не є базовим. Два хости, де ми встановлюємо програмне забезпечення з джерела, боляче оновлюються між оновленнями версій ОС.

Те саме оновлення ОС

Для ОС BASE ми продовжуємо успішно встановлювати нові бінарні файли над старими. Переважно, ми створюємо резервну копію всіх файлів конфігурації / даних для ОС та додатків, форматуємо та перевстановлюємо виправлену ОС та перевстановлюємо пакети (зберігаючи вихідні дані)

У наших розгорнутих хостах OpenBSD (30+), і створити резервну копію конфігурації та даних не складно. Для наших брандмауерів усі дані знаходяться у файлах конфігурації та журналу.

Для портів / пакунків - там, де зміни прості, ми змінюємо власний порт і будуємо пакет з цього. Наявність оновленого порту спрощує процес вище.

Нове оновлення ОС

Між випусками ОС ми встановлюємо все від ескізу.

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

Ми створюємо резервну копію конфігурації з базового хоста та встановлюємо OpenBSD на виробничому хості, відновлюючи "перевірену" конфігурацію на її вершині (знову після цього виконуючи ті ж тести перевірки.)


Спасибі! То напрямок, який я очолюю. Дотримуйтесь списків, використовуйте зайві хости.
Bubnoff

3

Щонайменше для OpenBSD:

  • пакети - це кінцевий продукт системи портів; повинно бути мало, якщо є необхідність бігати з портами.
  • -release та -stable (в основному) заморожені в часі, час від часу оновлюючи деякі оновлення.
  • -ток регулярно оновлюється. Якщо вам справді потрібні сучасні пакети, це шлях.
  • залишаються послідовними: -випуск / -стабільні системи дотримуються -випуск / -стабільні пакети ...- поточні системи працюють -поточні пакети

Faq 15, все про порти та пакети


Так, здається, що розробники / підтримувачі для OpenBSD заохочують використання пакетів через порти, оскільки порти виробляють пакет перед тим, як все-таки встановити. Але дерево портів має сценарій аудиту (./out_of_date) ... що є аналогом для пакетів? Портаудит для OpenBSD ... чи ви просто дотримуєтесь списку розсилки та оновлюєте пакунки вручну?
Bubnoff

Особисто для мене -current це "pkg_add -u -оновлення, оновленезакінчення" ~ щомісяця для мене. Зізнаюся, я ніколи не використовував подібні порти; зазвичай це просто відеозаписи; зробити оновлення чистими для мене, якщо мені коли-небудь потрібно було це робити. У мене було враження, що інші сценарії призначені для носіїв, але знову ж таки, я рідко використовував систему портів. Що стосується аудиту, то це робиться командою портів і, звичайно, будь-хто, хто робить внесок.
самотник

@Bubnoff Якщо ви оновите до останньої версії на -stable, ви отримаєте всі виправлені патчі безпеки для цього випуску. (На відміну від поточного, який також включає оновлення, що не стосуються безпеки).
WhyNotHugo

@Hugo - спасибі! Це хороший момент. Мені доведеться записати це в документацію зі створення сервера.
Bubnoff

2

Якщо немає проблем із безпекою чи помилки, що не перешкоджає функціоналу, залиште її в спокої. Можливо, перевіряйте оновлення кожні 3-6 місяців, щоб ви не забарилися, але в іншому випадку залиште речі в спокої.

Якщо він не зламався, не виправляйте.


4
3 - 6 місяців? А як щодо Apache / lighttp або будь-якого інтерфейсу веб-додатків CMS тощо? Ви не переживаєте за це? Інакше ... я бачу вашу думку.
Bubnoff

@Bubnoff OpenBSD постачається з користувацьким httpd, похідним від Apache 1.x. Більшість оновлень, наданих Apache, навіть не застосовуються.
Бенуа

Я розумію, що. Але OpenBSD надає оновлення до поточних, які згодом переходять у стабільну. І це все ще залишає самі пакети ... Програми, які використовують Apache, можливо, потребують оновлення. Або ви просто оновлюєте всю справу кожні півроку?
Bubnoff

Це мій підхід. Я рідко встановлюю що-небудь із портів на своїх виробничих системах, тому все, що мені справді потрібно прагнути, - це базова установка та пакети. Я дотримуюся errata ( openbsd.org/errata.html ) та відповідного списку розсилки для будь-яких встановлених пакунків. Якщо я встановив щось інше зверху, наприклад систему CMS, я відстежую та підтримую це окремо. Якщо мені потрібно виправити щось критичне, я будую свій патч на тестовій системі, а потім копіюю його.

1

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

Що стосується оновлення системи, то я, як правило, відновлюю з джерел із make buildworld. У мене ніколи не було проблем з таким підходом.


1
Багато хто, здається, віддають перевагу портупраграму перед портмейджером. Чи є портопград більш зрілим з двох? Схоже, портменеджер ще не досяг 1,0.
Bubnoff

1
Так, portupgrade існує дуже довго і, здається, має найактивніший розвиток та підтримку. Я знаю, що існують і інші інструменти управління портами, але portupgrade - це той, який згадується найбільш послідовно у списках. Між двома людьми ще в 2004 році дискусія - список.freebsd.org/pipermail/freebsd-questions/ 2004- December/… - що я знайшов, але не знаю, наскільки це зараз.
ДФ

Я використовую цей самий підхід, і це, в основному, завдяки використанню FreeBSD з 4-х днів, коли buildworld і portupgrade були найкращими / єдиними варіантами. Вони все ще чудово працюють сьогодні, якщо у вас є час запустити їх та час вивчити процес. Плюс я завжди будую з -Osоптимізаціями, меншою / швидшою системою.
Кріс S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.