Какие репозитории пакетов linux distro безопасны, а какие нет?

14

Я знаю, что большинство дистрибутивов имеют какую-то функцию хранилища, где новые пакеты могут быть загружены после установки. Какие дистрибутивы делают это безопасным способом, а какие - нет.

Я особенно думаю о векторах атак, таких как «человек посередине», и о таких проблемах, как нарушение безопасности как на метасерве репозитория, так и на зеркалах файлов репозитория.

Я слышал, что и Slackware, и Arch Linux очень уязвимы, потому что им не хватает подписи пакетов. Это правда? Существуют ли другие основные дистрибутивы Linux, которые уязвимы для простых атак «человек посередине»?

грм
источник
Если сайт дистрибутива имеет открытый текст http или ftp и дистрибутив получен как iso из этого соединения, а это базовое соединение MITM, то насколько полезна какая-либо «посмертная» подпись пакетов для пакетов обновлений?
n611x007

Ответы:

7

Это не прямой ответ на ваш вопрос, но есть несколько вещей, которые вы можете сделать, чтобы уменьшить этот риск. Самый простой - это проверить ваши загруженные пакеты по контрольным суммам с другого зеркала, с которого вы не загружали.

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

Это не мешает скомпрометированному пакету попасть в репозиторий дистрибутива, но большинство дистрибутивов имеют другие способы смягчить это, и даже подписанные пакеты не гарантируют, что это никогда не было проблемой. Что он делает, так это подавляет целевой вектор атаки «человек посередине». Используя отдельный источник и загружая его по отдельному каналу, вы убиваете легкость, с которой скомпрометированный пакет может быть помещен в постукиваемую строку.

Калеб
источник
1
Для этого существует пакет для Arch paccheck, который сравнивает пакеты с разными зеркалами перед установкой и предупреждает о любых несоответствиях.
Вольф
Зеркальные списки, вероятно, являются общедоступными, поэтому не может ли злоумышленник теоретически подготовить для MITM все их шаблоны? Если злоумышленник специально нацелен на ваш сервер, разве это не кажется еще более вероятным? Тем не менее, это, скорее всего, больше, чем то, что делают большинство Linux.
n611x007
10

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

jmtd
источник
5

Пакеты Fedora подписаны и проверены. Даже сторонние репозитории, такие как rpmfusion, подписывают свои пакеты.

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

канаки
источник
и так же пакеты downsteam, то есть Red Hat и CentOS
fpmurphy
3

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

Обновление : Arch теперь ввел подписывание пакетов с pacman 4

Александр
источник
2
Все верно, но пакеты не подписаны и, следовательно, остаются уязвимыми для взлома и «зеркального» взлома, как бы это ни было возможно. Это была давно запрошенная функция и главная причина, почему я неохотно прекратил использовать Arch. Тем не менее, на форумах Arch и Pacman и вики ведутся постоянные дискуссии по этому вопросу - это сложная проблема для решения. Помимо этого выпуска Arch - фантастический дистрибутив.
Эли Хеди
@Eli: Я не обсуждаю правду об этом - я понятия не имею о положении дел - но разве это не будет исчезающе тонкий рынок для атаки. Конечно, Arch - довольно популярный дистрибутив, но разве все эти виды вреда не основаны на том, чтобы зарабатывать деньги?
Boehj
1
Конечно, после всего этого причина, почему пользовательская база Windows ориентирована больше, чем на Linux, верно? Дело в том, что то, что относится к совокупности, обычно не совсем относится к человеку. Я имею в виду, что модель угроз у всех разная - если у вас есть основания опасаться, что вас выберут для атаки, вам следует предпринять соответствующие шаги, чтобы уменьшить риск. Отсутствие подписи пакетов представляет собой векторы атак, которые не так сложно использовать. Если у вас есть ценные вещи для защиты, эта проблема должна быть учтена в вашей стратегии уменьшения угрозы.
Эли Хеди
Вы можете установить Arch с CD / DVD, а затем просто позаботиться о том, чтобы суммы md5 / sha1 бинарных пакетов соответствовали суммам с нескольких зеркал перед установкой, аналогично тому, что предлагал Caleb. В любом случае, никогда не бывает 100% безопасности, хотя я вижу смысл подписи пакета и хочу, чтобы это было у Arch.
Александр
Так как же достичь того, чтобы контрольная сумма доставлялась более безопасным способом, чем открытый текст 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 линейных патчей для оригинального apache, потому что они не чувствовали, что он достаточно безопасен для использования. Это через pkg_add, но у меня никогда не было проблем с этим.

baweaver
источник
4
Вы не отвечаете на вопрос: речь идет конкретно о проверке подписей загруженных пакетов (и портов, в случае * BSD).
Жиль "ТАК - перестань быть злым"
1
Я согласен с @Gilles; OpenBSD - отличная ОС, но @grm спросил о безопасности распространения пакетов Linux.
Livingstaccato