Які сховища пакетів дистрибутива Linux захищені, а які ні?


14

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

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

Я чув, що Slackware та Arch Linux є дуже вразливими, оскільки їм не вистачає підписання пакунків. Це правда? Чи є якісь інші основні дистрибутиви Linux, які вразливі для простих атак "людина-в-середині"?


якщо на сайті дистрибутива ясний текст http або ftp, а дистрибутив отримується як ізо від цього з'єднання, і це базове з'єднання MITM'ed, ніж скільки корисного робить який-небудь «післясмертовий» підпис пакету на пакетах оновлення?
n611x007

Відповіді:


7

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

Коли мій менеджер пакунків ( poldek) завантажує пакет, у мене він встановлений, щоб зберігати копію завантаженого rpm у папці кешу. Він автоматично перевіряє контрольну суму завантаження на сховище пакунків та попереджає / перериває невідповідність, але якщо ви турбуєтесь про те, що людина-посередник напав на ваше дистрибутивне сховище, було б легко написати вторинний сценарій, який переглянув всі завантажені пакети та перевіряйте їх на контрольних сум, які ви завантажуєте з іншого дзеркала. Ви навіть можете запустити свою першу інсталяцію як сухий запуск, щоб пакунки завантажувались, але не встановлювались, а потім запускали сценарій підтвердження, а потім виконували фактичну установку.

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


1
Існує пакет для Arch paccheck, який це робить, порівнює пакети з різними дзеркалами перед встановленням та попереджає про будь-які розбіжності.
Вовк

Списки дзеркал, ймовірно, є загальнодоступними, тому хіба зловмисник теоретично не зможе побудувати MITM всіх за шаблоном? Якщо зловмисник спеціально націлений на ваш сервер, це не здається ще ймовірнішим? Тим не менш, це, мабуть, більше, ніж те, що робить більшість Linux.
n611x007

10

Пакети Debian є контрольною сумою, а контрольні суми підписуються ключем у ключі Debian. Менеджер aptпакунків гарантує, що у завантаженому пакеті є правильна контрольна сума і що файл контрольної суми був правильно підписаний.


5

Пакети Fedora підписані та перевірені. Навіть сторонні сховища, такі як rpmfusion, підписують свої пакети.

Yum (менеджер пакунків) вимагає спеціального прапора ( --nogpgcheck) для встановлення пакетів, які не були підписані.


і так само знижуються пакети, тобто Red Hat і CentOS
fpmurphy

3

Усі пакети Arch Linux використовують суму md5 або sha1, щоб перевірити, чи всі біти на своєму місці. Вибирати алгоритм хешування повинен вирішувати технічне обслуговування пакетів. Пакети, встановлені з AUR (часто це лише невеликий текстовий файл PKGBUILD), повинні бути перевірені установчиком перед встановленням. Репозиторії, що містять офіційні бінарні пакети, контролюються надійними користувачами (TU).

Оновлення : Arch тепер запровадив підписання пакету з pacman 4


2
Все вірно, але пакети не підписані, і тому залишаються вразливими до компромісних атак mitm та дзеркальних, наскільки це можливо віддалено. Це була давно запитувана функція, і головна причина, чому я з зухвалою перестав використовувати Arch. Однак, на форумах Arch і Pacman та у вікі триває дискусія про це - вирішити це важко. Крім цього питання, Арка - це фантастичний дистрибутив.
Eli Heady

@Eli: Я не обговорюю правди цього - я не маю уявлення про стан справ - але хіба це не буде марно атакувати ринок. Зрозуміло, Arch є досить популярним дистрибутивом, але чи не всі ці типи пустощів взагалі прогнозуються на тому, що можна заробити гроші?
boehj

1
Звичайно, адже це причина, на яку користувачу базу даних Windows орієнтовано більше, ніж на Linux, правда? Вся справа в тому, що те, що стосується сукупності, зазвичай не стосується конкретної особи. Що я маю на увазі, що модель загрози для кожного відрізняється - якщо у вас є підстави побоюватися виділення для нападу, вам слід вжити відповідних заходів для зменшення ризику. Відсутність підписання пакету представляє вектори атак, які не все так важко використати. Якщо у вас є цінні біти для захисту, це питання слід враховувати в стратегії зменшення загрози.
Елі Хеді

Ви можете встановити Arch з CD / DVD, а потім просто подбайте, щоб переконатися, що md5 / sha1 сум двійкових пакетів відповідає сумі з кількох дзеркал перед встановленням, аналогічно тому, що запропонував Калеб. Ні в якому разі не стовідсоткова безпека, хоча я бачу сенс підписання пакету і хочу, щоб Арк мав його.
Олександр

так як досягається, щоб контрольна сума була доставлена ​​безпечнішим способом, що очищає текст http або ftp? чи має бути перевірка підписів, якими способами це відбувається саме на арці?
n611x007

1

Хто сказав, що Slackware не має підписання пакета?

Пакети Slackware підписуються відкритим ключем Slackware. Отже кожен пакет має свій підпис із розширенням .asc. Не тільки пакети, але й інші файли також підписуються, наприклад CHECKSUMS.MD5. Тут міститься перелік контрольних сум пакетів.

У дистрибутиві є офіційний інструмент, який називається slackpkgдля завантаження / встановлення пакетів з дзеркала. Після оновлення локальної бази даних РЕПО за slackpkg updateдопомогою інструменту перевіряється дійсність підпису нового файлу MD5 та журналу змін тощо ...

Після завантаження пакета (але перед його встановленням) підпис та MD5 пакета перевіряються.

Відкритий ключ можна отримати за допомогою slackpkg update gpgабо просто імпортувати його з інсталяційного компакт-диска за допомогоюgpg --import GPG-KEY

Є ще один неофіційний інструмент slapt-getдля Slackware. Він також підтримує GPG-перевірки! Аналогічним чином, як slackpkg.


-2

OpenBSD і далеко. Весь проект присвячений безпеці, команда навіть виставила 5000+ виправлення до оригінального апаша, тому що вони не вважали, що це достатньо безпечно для використання. Це через pkg_add, але у мене жодного разу не виникало проблем.


4
Ви не відповідаєте на запитання: мова йде саме про перевірку підписів завантажених пакетів (і портів у випадку * BSD).
Жил "ТАК - перестань бути злим"

1
Я згоден з @Gilles; OpenBSD - це чудова ОС, але @grm запитав про безпеку розповсюдження пакунків Linux.
livingstaccato
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.