Summary: | Enable RPM signature verification | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Chikunov <vt> |
Component: | rpm | Assignee: | placeholder <placeholder> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | alexey.tourbin, at, glebfm, imz, iv, lav, ldv, placeholder, vt |
Version: | unstable | ||
Hardware: | x86 | ||
OS: | Linux |
Description
Vitaly Chikunov
2021-07-31 03:04:44 MSK
Verifying individual signatures is redundant. When you update from a repo, its release file is signed. The release file references pkglist, and pkglist references individual packages. Since those references must be cryptographically-strong, there is no point in verifying the signatures of each individual package. The top-level signature covers it all. As an analogy, in git, you don't sign individual blobs. Есть, как минимум, два не покрытых сценария. 1) Инсталляция в обход `apt-get` через `rpm -i`. Например, в `epm` используется `rpm -U`. 2) Желание пользователя подтвердить принадлежность скачанного когда-то или откуда-то rpm'а. Коме того, если пакет в репозитории обновился, то pkglist уже не ссылается на этот rpm. (In reply to Vitaly Chikunov from comment #2) > Есть, как минимум, два не покрытых сценария. Наверняка найдутся и другие редкие сценарии. Например, для girar я сделал обёртку под названием alt-rpmkeys-checksig, которая поддерживает и rpm-4.0.4, и более новый rpm. > 1) Инсталляция в обход `apt-get` через `rpm -i`. Есть много способов испортить себе систему в обход `apt-get`. Просто не надо использовать `rpm -i` для обработки untrusted input. > Например, в `epm` используется `rpm -U`. В таком случае `epm` должен обеспечивать проверку того, что отдаётся на вход `rpm -U`. > 2) Желание пользователя подтвердить принадлежность скачанного когда-то или > откуда-то rpm'а. Коме того, если пакет в репозитории обновился, то pkglist > уже не ссылается на этот rpm. Пользователи, желающие странного, найдут способ этого добиться. (Ответ для Dmitry V. Levin на комментарий #3) > (In reply to Vitaly Chikunov from comment #2) > > Есть, как минимум, два не покрытых сценария. > > Наверняка найдутся и другие редкие сценарии. > Например, для girar я сделал обёртку под названием alt-rpmkeys-checksig, > которая поддерживает и rpm-4.0.4, и более новый rpm. > > > 1) Инсталляция в обход `apt-get` через `rpm -i`. > > Есть много способов испортить себе систему в обход `apt-get`. > Просто не надо использовать `rpm -i` для обработки untrusted input. > > > Например, в `epm` используется `rpm -U`. > > В таком случае `epm` должен обеспечивать проверку того, что отдаётся на вход > `rpm -U`. Как я понимаю, что сейчас мы имеем только доверие к репозиторию, это проверка на уровне apt. То есть подпись самого пакета не проверяется ни в каком случае. Существует ли способ включить для rpm эту проверку, чтобы можно было устанавливать доверенные пакеты, поставляемые вне репозиториев? То есть тут речь о сторонних поставщиках решений для ALT. |