Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Хранение ключей сторонних репозиториев в 22.04+  (Прочитано 2362 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skif_off

  • Автор темы
  • Участник
  • *
  • Сообщений: 126
    • Просмотр профиля
Уточнял, все ли из используемых сторонних репозиториев Ubuntu собирают пакеты для 22.04 и заметил, что некоторые как для Debian, так и для Ubuntu предлагают сохранять ключи не как обычно в /etc/apt/trusted.gpg.d, а в /usr/share/keyrings, где обычно лежали только ключи родных репозиториев Debian/Ubuntu (изкоробочные, так сказать).
Почему так вдруг?
« Последнее редактирование: 08 Августа 2022, 12:23:44 от Skif_off »

Morisson

  • Гость
Re: Хранение ключей сторонних репозиториев
« Ответ #1 : 06 Августа 2022, 23:31:16 »
В keyrings разве не пароли хранятся? Т.н "связка ключей", пароли в зашифрованном (или нет, если пароль пустой) виде?


Morisson

  • Гость
Re: Хранение ключей сторонних репозиториев
« Ответ #3 : 06 Августа 2022, 23:36:09 »
Т.е gpg - это подписи пакетов, а keyring- это хранилище паролей, которые могут использоваться приложениями.
Могу ошибаться.

Оффлайн Skif_off

  • Автор темы
  • Участник
  • *
  • Сообщений: 126
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #4 : 07 Августа 2022, 01:33:28 »
В общем, добавление ключей в /etc/apt/trusted.gpg.d с помощью "apt-key add" считается небезопасным, начиная с Debian 11 и Ubuntu 22.04 настоятельно рекомендуется избегать и apt-key использовать лишь для удаления уже добавленных ключей. (Когда вопрос возник, посмотрел первый попавшийся PPA, ключ лёг в /etc/apt/trusted.gpg.d - реформаторы, однако...)
Ключевое, видимо:
Цитировать
The problem is that any key you add to either of the above is completely and unconditionally trusted by apt. This means that when installing any package from any repo (including the official distro repos), apt will happily accept the package being signed by any of those trusted keys (whether the key belongs to the repository the package is coming from or not). This weakens the assurance provided by the package signing mechanism against malicous packages being injected into the official Ubuntu mirrors network.

What we want to do instead is configure apt to accept signatures from a third-party repository only on packages being installed from that repository — no cross-signing. Apt's default pinning rules give higher priority to official distro repos, which (in conjunction with proper key management) offers some protection against third-party repos replacing distro-provided packages.
Т.е. если, например, пакеты Wine из репозитория Wine, подписанные ключом Wine, внезапно окажутся в официальном репозитории Ubuntu или Debian, где по идее должны лежать лишь пакеты, подписанные в Ubuntu или Debian, то они будут проигнорированы apt? Если да, это вообще реальная ситуация?
Ну и о запрете замены любых пакетов из официального репозитория пакетами из стороннего речь ведь не идёт?

Пара ссылок:
https://askubuntu.com/questions/1286545/what-commands-exactly-should-replace-the-deprecated-apt-key
https://www.linuxuprising.com/2021/01/apt-key-is-deprecated-how-to-add.html

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #5 : 07 Августа 2022, 10:12:37 »
Тут такое дело…
Ключ, установленный через `apt-key add`, не привязан ни к какому конкретному репозиторию.
Т.е. в ситуации:
1. Ты установил у себя какой-то ключ, предположительно для нужного тебе репо.
2. В одном из установленных у тебя репо, не в том, для которого ты ключ устанавливал, появляется пакет, этим ключом подписанный.
3. Система с радостью ставит этот пакет, т.к. верификация прошла.

Хорошо, если это нужный пакет и он не нарушает работу системы.
А если это какая-то лажа, заменяющая системные файлы?
Если бы ключи были привязаны к конкретным репозиториям, такая ситуация как минимум вызвала бы недоумение установщика и отказ устанавливать пакет без подписи и явного подтверждения пользователем.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Онлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4402
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #6 : 07 Августа 2022, 10:45:30 »
посмотрел первый попавшийся PPA, ключ лёг в /etc/apt/trusted.gpg.d
- а куда же ему ложиться если не туда?..
   ... ведь пользователь принял решение: доверять этому PPA, следовательно и ключ лег в каталог предназначенный для доверенных ключей
      ... а PPA, это всегда риски, и не только в плане безопасности

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

Оффлайн Skif_off

  • Автор темы
  • Участник
  • *
  • Сообщений: 126
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #7 : 07 Августа 2022, 11:28:47 »
AnrDaemon, значит, понял верно, спасибо.
(Нажмите, чтобы показать/скрыть)

- а куда же ему ложиться если не туда?..
Раз выпиливают небезопасное, значит, и добавление PPA должны бы доработать :)

К слову, по второй ссылке говорят про /usr/share/keyrings, по первой же при ручном добавлении ключей рекомендуют использовать /etc/apt/keyrings (создать с 0755, если нет) вместо /usr/share/keyrings. Судя по вики Debian, похоже, /usr/share/keyrings - только если ключ будет добавляться/обновляться deb-пакетом, т.е. автоматически.
Но, например, в инструкциях для Wine и VirtualBox стоит /usr/share/keyrings. Хотя, возможно, просто потому, что в 22.04 и старее каталога /etc/apt/keyrings нет.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #8 : 07 Августа 2022, 20:01:32 »
Почитайте про FHS. Лучше поймёте разницу в назначении между разными каталогами в системе.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Skif_off

  • Автор темы
  • Участник
  • *
  • Сообщений: 126
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #9 : 07 Августа 2022, 21:49:58 »
AnrDaemon, при чём здесь FHS? И новичку скорее всего понятно, что по-хорошему - в /etc, и вики Debian вполне определённо доносит ("SHOULD be"), по какому принципу выбирать место, не увлекаясь описанием разницы между /etc, /usr и /usr/local.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #10 : 08 Августа 2022, 11:16:43 »
При всём. И, да, статья не о разнице между /etc, /opt и /usr, а про apt и PGP ключи.
Так что неудивительно, что в нюансы никто не вдаётся. Но SHOULD - это не MUST, а статья, с которой начался разговор, освещает проблему использования сторонних репозиториев, а не их настройки в системе.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Skif_off

  • Автор темы
  • Участник
  • *
  • Сообщений: 126
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев
« Ответ #11 : 08 Августа 2022, 12:22:41 »
Похоже, чего-то не догоняю: знакомство со стандартом иерархии ФС может привести к предположению, что для добавляемых ключей сторонних репозиториев, как и адресов и параметров оных, логичнее использовать /etc, но не обяъяснит, почему проект Wine, например, использует в инструкциях /usr/share/keyrings, хотя в документации Debian для своей apt в этом случае вполне определённо рекомендуют /etc/apt/keyrings :)
А так  да, в соответствии с FHS и /usr/local/etc, выходит, не будет грубой ошибкой.

P.S. Попробую сейчас тему переименовать, слишком уж общее название, это как-то не очень правильно.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев в 22.04+
« Ответ #12 : 08 Августа 2022, 12:41:53 »
/etc/apt/keyrings
Используется исключительно apt'ом (и другими программами, использующими его бибилиотеки).
/usr/share/keyrings
Может использоваться любим приложением в системе.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Skif_off

  • Автор темы
  • Участник
  • *
  • Сообщений: 126
    • Просмотр профиля
Re: Хранение ключей сторонних репозиториев в 22.04+
« Ответ #13 : 11 Августа 2022, 20:05:31 »
Может использоваться любим приложением в системе.
Зачем им, не связанным с управлением/верификацией пакетов, ключи подписи этих самых пакетов? Если кому-то нужно - apt, libapt или просто по известному пути заглянуть.


Залез в чат #winehq, один из пользователей из числа контрибуторов ответил:
Цитировать
It came from https://bugs.winehq.org/show_bug.cgi?id=52439 , but there was likely not a conscious decision to use /usr/share/keyrings rather than /etc/apt/keyrings.

Для себя решил в любом случае использовать /etc/apt/keyrings: как и /etc/apt/trusted.gpg.d, выходит тот же подкаталог /etc/apt, рядом с /etc/apt/sources.list.d, - всё красиво и логично.

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.