Автор Гілка: Наскільки безпечно користуватись дзеркалами apt/deb, dnf/rpm  (Прочитано 350 раз)

Відсутній ps

  • Кореспондент
  • ***
  • дописів: 136
  • Карма: +2/-0
Я тут недавно відкрив для себе Kellnr - такий собі проксі-кеш сервер що дозволяє зберігати раніше завантажені копії пакунків Rust локально (замість повного дзеркала) і збирати програми offline. Цей сервер я відкрив на локальну мережу Yggdrasil, але тепер думаю як мені розділити індекси (що містять hash sum) від самих файлів (crates) - бо мій спільний сервер технічно може бути компрометований.

Звісно, це інша історія для прикладу, але питання в мене про систему пакунків apt/dnf - бо якщо з Kellnr я ще трохи усвідомлюю як це працює і можу користуватись індексом з іншого джерела, то з адміністративною складовою Linux клепки не вистачає.

Коротше, чи безпечно задіяти аварійне дзеркало з неперевірених або перевірених/передвстановлених але компрометованих джерел в списку репозиторіїв. Якщо так, то яким чином відбувається валідація пакунків, де ця інформація зберігається і звідки оновлюється (щоб раптово не переписати індексні хеш-суми на update)
« Змінено: 2026-02-27 13:49:16 від ps »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 4076
  • Карма: +31/-0
  • Програміст
Як правило, пакети підписуються ключем GPG і перевіряються після завантаження перед встановленням. Публічний ключ GPG для перевірки або встановлений разом з системою, або встановлюється при першому підключенні до репозиторію (за згодою користувача). Після того як ключ імпортований, вже не важливо як саме отриманий пакет, аби лише підпис був вірний.

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

Щодо Rust, то є ж команда cargo vendor, для збірки без підключення до мережі.
[Fedora Linux]

Відсутній ps

  • Кореспондент
  • ***
  • дописів: 136
  • Карма: +2/-0
А цей ключ відноситься до репозиторію дистрибутива (який спільний для всіх дзеркал) чи постачальника репозиторію?

Бо я так розумію, що друге. І тоді коли сам третій постачальник видав мені цей ключ і його взламали або ж він створив репозиторій з метою поширення шкідливого П/З, то тут не вистачає аварійного джерела валідації. Ось днями я заморочився з Crates, приблизно логіка така, що хеші я звіряю з іншого джерела а пакунки завантажую з будь якого дзеркала:

crates.io       > -|- out proxy > kellnr server > kellnr client > cargo
crates.io-index > _↑                                    |
     ↑_________________[--proxy-index]__________________↓
* тобто в цій системі пакунків, індекси містять хеші, тому я отримую індекс з довіреного джерела а дані з будь якого дзеркала

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 4076
  • Карма: +31/-0
  • Програміст
А цей ключ відноситься до репозиторію дистрибутива (який спільний для всіх дзеркал) чи постачальника репозиторію?
До автора репозиторію та пакетів у ньому.

Бо я так розумію, що друге.
Ні, перше.
[Fedora Linux]

Відсутній BeSiDa

  • Графоман
  • ****
  • дописів: 256
  • Карма: +1/-0
Ключ (підпис) і хеш то різні речі. Хеш ви можете самі командою обрахувати з будь якого файлу. А для звірки скачати його з фтп сервера, наприклад.